MySQL入門教程系列-1.3 什麼是 MySQL

什麼是MySQL

共同編輯,修正錯誤,這裏點擊進去 mysql

MySQL(官方發音爲英語發音:/maɪ ˌɛskjuːˈɛl/ My S-Q-L,但也常常讀做英語發音:/maɪ ˈsiːkwəl/ My Sequel)本來是一個開放源代碼的關係數據庫管理系統(DBMS),原開發者爲瑞典的MySQL AB公司,該公司於2008年被昇陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL成爲Oracle旗下產品。git

MySQL 介紹

MySQL在過去因爲性能高、成本低、可靠性好,已經成爲最流行的開源數據庫,所以被普遍地應用在Internet上的中小型網站中。隨着MySQL的不斷成熟,它也逐漸用於更多大規模網站和應用,好比維基百科、Google和Facebook等網站。程序員

但被甲骨文公司收購後,Oracle大幅調漲MySQL商業版的售價,且甲骨文公司再也不支持另外一個自由軟件項目OpenSolaris的發展,所以致使自由軟件社區們對於Oracle是否還會持續支持MySQL社區版(MySQL之中惟一的免費版本)有所隱憂,所以原先一些使用MySQL的開源軟件逐漸轉向其它的數據庫。例如維基百科已於2013年正式宣佈將從MySQL遷移到MariaDB數據庫。MySQL的創始人麥克爾·維德紐斯以MySQL爲基礎,成立分支計劃MariaDBgithub

MySQL 發展歷史

不少人覺得MySQL是最近15年內纔出現的數據庫,其實MySQL數據庫的歷史能夠追溯到1979年,那時 Bill Gates 退學沒多久,微軟公司也纔剛剛起步,而Larry的Oracle公司也才成立不久。那時有一個天才程序員 Monty Widenius 用 BASIC 設計了一個報表工具,過了不久,又將此工具使用 C 語言重寫,一直到 UNIX 平臺,當時只是一個底層的面向報表存儲引擎名叫Unireg。算法

  • 1985 年,瑞典的幾位志同道合小夥子(David Axmark、Allan Larsson 和Monty Widenius) 成立了一家公司,這就是MySQL AB 的前身。sql

  • 1990年,TcX公司的客戶中開始有人要求爲他的API提供SQL支持。當時有人提議直接使用商用數據庫,可是Monty以爲商用數據庫的速度難以使人滿意。因而,他直接藉助於mSQL的代碼,將它集成到本身的存儲引擎中。使人失望的是,效果並不太使人滿意,因而,Monty雄心大起,決心本身重寫一個SQL支持。數據庫

  • 1996年,MySQL 1.0發佈,它只面向一小撥人,至關於內部發布。服務器

  • 1996年10月,MySQL 3.11.1發佈(MySQL沒有2.x版本),最開始只提供Solaris下的二進制版本。一個月後,Linux版本出現了。網絡

  • 1999~2000年,MySQL AB公司在瑞典成立。Monty僱了幾我的與Sleepycat合做,開發出了Berkeley DB引擎, 由於BDB支持事務處理,因此MySQL今後開始支持事務處理了。多線程

  • 2003年12月,MySQL 5.0版本發佈,提供了視圖、存儲過程等功能。

  • 2008年1月16日,Sun(太陽微系統)正式收購MySQL。

  • 2009年4月20日,甲骨文公司宣佈以每股9.50美圓,74億美圓的總額收購Sun電腦公司。

  • 2010年12月,MySQL 5.5發佈,其主要新特性包括半同步的複製及對SIGNAL/RESIGNAL的異常處理功能的支持,最重要的是InnoDB存儲引擎終於變爲當前MySQL的默認存儲引擎。

  • 2013年6月18日,甲骨文公司修改MySQL受權協議,移除了GPL。但隨後有消息稱這是一個bug。

MySQL 版本

MySQL針對不一樣的用戶,分了社區版企業服務器版,還提供一些其它版本,是屬於MySQL相關工具。

  1. MySQL Community Server 社區版本,開源免費,但不提供官方技術支持。

  2. MySQL Enterprise Edition 企業版本,需付費,能夠試用30天。

  3. MySQL Cluster 集羣版,開源免費。可將幾個MySQL Server封裝成一個Server。

  4. MySQL Cluster CGE 高級集羣版,需付費。

  5. MySQL Workbench(GUI TOOL)一款專爲MySQL設計的ER/數據庫建模工具。

MySQL Workbench是著名的數據庫設計工具DBDesigner4的繼任者。MySQL Workbench又分爲兩個版本,分別是社區版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)。

MySQL 版本命命機制由三個數字組成,例如mysql-5.6.33-osx10.11-x86_64.tar.gz

  • 第一個數字(5)主版本號:當你作了不兼容的 API 修改,

  • 第二個數字(7)次版本號:當你作了向下兼容的功能性新增,合計,主要和次要的數字構成發佈系列號。該系列號描述了穩定的特徵集。

  • 第三個數字(1)修訂號:當你作了向下兼容的問題修正。這是一個新的bugfix釋放增長。在大多數狀況下,在一系列最新版本是最好的選擇。

Github 上面有語義化版本標準, 開源倉庫mojombo/semver,上面的版本命名大體是跟語義化版本標準差很少,你能夠看語義化版本標準來學習版本名機制。經過語義化版本標準來理解MySQL 版本命命機制。

MySQL 的優點

  • 使用C和C++編寫,並使用了多種編譯器進行測試,保證源代碼的可移植性。

  • 支持AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell NetWare、NetBSD、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操做系統。

  • 爲多種編程語言提供了API。這些編程語言包括C、C++、C#、VB.NET、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。

  • 支持多線程,充分利用CPU資源,支持多用戶。

  • 優化的SQL查詢算法,有效地提升查詢速度。

  • 既可以做爲一個單獨的應用程序在客戶端服務器網絡環境中運行,也可以做爲一個程序庫而嵌入到其餘的軟件中。

  • 提供多語言支持,常見的編碼如中文的GB 23十二、BIG5,日文的Shift JIS等均可以用做數據表名和數據列名。

  • 提供TCP/IP、ODBC和JDBC等多種數據庫鏈接途徑。

  • 提供用於管理、檢查、優化數據庫操做的管理工具。

  • 能夠處理擁有上千萬條記錄的大型數據庫。

相關文章
相關標籤/搜索