趣談MySQL歷史,以及MariaDB初體驗
本文轉(zhuǎn)載自微信公眾號「Java中文社群」,作者磊哥 。轉(zhuǎn)載本文請聯(lián)系Java中文社群公眾號。
MySQL 是一個跨世紀的偉大產(chǎn)品,它最早誕生于 1979 年,距今已經(jīng)有 40 多年的歷史了,而如今比較主流的 Java 語言也只是 1991 年才誕生的,也就是說 MySQL 要比 Java 的誕生還早十幾年,不得不驚嘆二者強大的生命力。
MySQL 的應(yīng)用十分廣泛,像 Google、Taobao、Facebook、Twitter、Baidu、Tencent 等公司以及絕大多數(shù)互聯(lián)網(wǎng)公司都能見到它的身影,MySQL 也一度是(目前也是)“數(shù)據(jù)庫”的代名詞。
MySQL 之所以流行和它開源以及免費的特性是分不開的,因為免費所有很多公司在用,因為被廣泛使用所以會有一群狂熱的愛好者為它提供技術(shù)支持,這樣良性的循環(huán)將 MySQL 推向了巔峰。
以國內(nèi)的情況來說,如今的互聯(lián)網(wǎng)巨頭阿里巴巴,當年當發(fā)展到一定規(guī)模之后就提出了“去 IOE”的口號,所謂的 I 就是 IBM,O 就是 Oracle,而 E 就是 EMC 存儲設(shè)備,為什么要去 IOE?無非是出于成本的考慮,最后阿里以 MySQL 為基石逐漸去掉了對 Oracle 的依賴,MySQL 在巨頭的使用下也在進行著快速的迭代,那么國內(nèi)的其他小弟看大哥都用 MySQL 了,也就紛紛投入了 MySQL 的懷抱,于是 MySQL 慢慢就成為了各種互聯(lián)網(wǎng)公司數(shù)據(jù)庫的首選方案。
當然阿里在使用 MySQL 的同時也在研發(fā)自己的數(shù)據(jù)庫 OceanBase,并且 OceanBase 在 2019 年的 TPC-C 中也戰(zhàn)勝了曾經(jīng)的老大哥 Oracle 一舉成名,讓世界看到了中國的實力,這也是我們每個國人的驕傲。
TPC-C 是全球最具公信力的聯(lián)機交易處理數(shù)據(jù)庫的功能與性能結(jié)合的測試標準。通俗來講 TPC-C 測試是對于商業(yè)數(shù)據(jù)庫想要證明自身實力的一個硬性門檻。
MySQL 被賣
扯遠了,說回 MySQL。對于 MySQL 來說 2008 年是一個重要的一年,因為這一年 MySQL 被原來的 Sun 公司以 10 億美金給收購了,第二年 Sun 公司又以 74 億美元將自己和所有的產(chǎn)品打包賣給了 Oracle,從此 Oracle DB 和 MySQL 兩家并一家都歸屬于 Oracle 公司了。
這里有一個小插曲,Oracle 在收購了 Sun 公司的第二年,就以一紙訴狀將 Google 搞上了法庭,原因是 Google 侵權(quán)使用了 Java 語言,Oracle 要求賠償 88 億美元,這場曠世紀的官司最終在 2018 年以 Oracle 的勝訴而告一段落,那我們可不可以理解 Oracle 如果真拿到了 88 億美元,在不計算打官司所花的費用來說,既白嫖了 Java 和 MySQL 還白賺了 14 億美元呢。
MySQL 另起爐灶
看完了 MySQL 的歷史,我們在回到 MySQL 產(chǎn)品本身。當年在 Sun 公司收購了 MySQL 之后,MySQL 的創(chuàng)始人 Monty Widenius(邁克爾·維德紐斯)因為不滿意 Sun 的工作方式而選擇了離職,之后 MySQL 之父帶領(lǐng)了一幫兄弟,另起爐灶成立 MySQL 的一個重要分支:MariaDB。
邁克爾·維德紐斯,圖片來源于網(wǎng)絡(luò)
Maria 是 MySQL 之父 Monty 最小女兒的名字,好神奇!MariaDB 的命名竟然這么的草率,這也充分的說明,有一個好爹就可以讓全世界都記住你的名字~
MariaDB 初體驗
MariaDB 來自于 MySQL,因此 MariaDB 和 MySQL 在絕大多數(shù)方面是兼容的,對于應(yīng)用程序來說,比如 PHP、Perl、Python、Java、.NET、Ruby 無需做任何改動就可以直接使用二者。值得一提的是 MariaDB 的發(fā)展速度很快,新版本的發(fā)布速度已經(jīng)超過了 Oracle 公司官方的 MySQL 版本了。
MariaDB 和 MySQL 更多區(qū)別:https://go.mariadb.com/20Q4-WBN-GLBL-OSSC-MySQL-Comparison-Migration-2020-9-30_Registration-LP.html
那接下來我們就嘗試體驗一下 MariaDB 吧,它的下載地址:https://mariadb.com/downloads/
選擇對應(yīng)的版本和系統(tǒng)類型進行下載。
PS:因為官方下載地址是國外源,所以下載速度很慢,可以關(guān)注【Java中文社群】發(fā)送“Maria”獲取最新版本的國內(nèi)下載地址。
MariaDB 的安裝和 MySQL 的安裝比較類似,只是提供了更多可配置項,比如端口號和編碼方式、密碼等讓用戶可以友好的配置,安裝如下所示:
輸入用戶密碼和確認密碼,選擇是否用 UTF8 作為默認的字符集。
可以修改服務(wù)的名稱、端口號和內(nèi)存占用量,設(shè)置完之后點擊 Next,等待完成之后整個安裝就成功了。
自帶客戶端
我們發(fā)現(xiàn)安裝完 MariaDB 之后它會自動幫我們安裝一個 HeidiSQL 的客戶端,使用它我們可以很方便的操作 MariaDB。
它的操作界面如下圖所示:
美否暫且不論,就中文菜單和自帶功能(視圖、SQL 操作、導入導出數(shù)據(jù)等功能)來說,給我的第一個感覺就是很實用。
命令行工具
如果我們還是習慣用 MySQL 的操作命令行,在 MariaDB 裝完之后(無需安裝 MySQL)的情況下也可以直接使用 MySQL 的命令行工具,我們只需要先將 MariaDB 的安裝(bin)目錄設(shè)置在環(huán)境變量中,如下圖所示:
再直接敲擊 CMD 的命令行就可以直接操作了,如下圖所示:
操作命令還是和操作 MySQL 的命令一樣,還是那熟悉的味道~
官方 MySQL
Oracle 雖然收購了 MySQL,并且在前些年更新也很慢(MySQL 8)之前,這個也可以理解,畢竟要把主要的精力和核心的團隊放在賺錢的 Oracle DB 身上嘛,但好在一點 Oracle 依然為我們保留了免費的社區(qū)版可供使用,Oracle 的 MySQL 相關(guān)產(chǎn)品如下:
- MySQL Community Server 社區(qū)版本,開源免費,但不提供官方技術(shù)支持;
- MySQL Enterprise Edition 企業(yè)版本,需付費,可以試用 30 天;
- MySQL Cluster 集群版,開源免費??蓪讉€ MySQL Server 封裝成一個Server;
- MySQL Cluster CGE 高級集群版,需付費;
MySQL Workbench(GUI TOOL)一款專為 MySQL 設(shè)計的 ER 數(shù)據(jù)庫建模工具。它是著名的數(shù)據(jù)庫設(shè)計工具 DBDesigner4 的繼任者。MySQL Workbench 又分為兩個版本,分別是社區(qū)版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)。
所以想要繼續(xù)使用 Oracle 的 MySQL 版本也是可以的,有社區(qū)辦可以免費用,但如果想要嘗試一下 MariaDB 也未嘗不可,畢竟 MariaDB 提供了更多的功能和優(yōu)化的改進。
總結(jié)
MySQL 的發(fā)展一波三折,先被 Sun 收購,最后又歸屬于 Oracle,后來 MySQL 之父從被收購的公司出來自己又開始做 MySQL 新的分支 MariaDB,它可以看作是 MySQL 的升級版,有興趣的朋友可以試試。