MySQL

MySQL（官方發音為“My S-Q-L”，但也经常被读作“My Sequel”）原本是一個開放源碼的關聯式資料庫管理系統，原開發者為瑞典的MySQL AB公司，该公司于2008年被昇陽微系統（Sun Microsystems）收购。2009年，甲骨文公司（Oracle）收购昇陽微系統公司，MySQL成为Oracle旗下产品。

MySQL在過去由于性能高、成本低、可靠性好，已经成为最流行的开源数据库，因此被廣泛地應用在Internet上的中小型網站中。随着MySQL的不断成熟，它也逐渐用于更多大规模网站和应用，比如维基百科、Google和Facebook等网站。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。

但被甲骨文公司收購後，Oracle大幅調漲MySQL商業版的售價，且甲骨文公司不再支持另一個自由軟體專案OpenSolaris的發展，因此導致自由軟體社群們對於Oracle是否還會持續支援MySQL社群版（MySQL之中唯一的免費版本）有所隱憂，MySQL的創始人麥克爾·維德紐斯以MySQL為基礎，成立分支計劃MariaDB。而原先一些使用MySQL的開源軟體逐漸轉向MariaDB或其它的資料庫。例如维基百科已于2013年正式宣布将从MySQL迁移到MariaDB数据库。

MySQL的许可证现在分为免费的社区版与收费的标准版、企业版等。一般说来，如果在非开源项目中发布了MySQL，或者需要Oracle公司提供对MySQL的技术支持，或者使用MySQL的一些企业版工具或插件，或者修改MySQL源代码并作为闭源的软件等等情形，需要购买商业版本。如果只是安装并使用MySQL，甚至修改并使用MySQL，无论是否收费；或者软件中不包含MySQL，软件的用户自行安装MySQL；或者使用GPL协议的开源软件产品中包含了MySQL，这些情形可能使用社区版MySQL。

歷史
2008年1月16日，Sun（昇陽電腦）正式收購MySQL。
2009年4月20日，甲骨文公司宣布以每股9.50美元，74億美元的總額收購Sun電腦公司。甲骨文收购Sun（昇陽電腦） 
2013年6月18日，甲骨文公司修改MySQL授权协议，移除了GNU通用公共许可证。但随后有消息称这是一个程序错误。

特性
使用C和C++編寫，並使用了多種編譯器進行測試，保證原始碼的可移植性。
支持AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell NetWare、NetBSD、OpenBSD、OS/2 Wrap、Solaris、Windows等多種作業系統。
為多種-{zh-hans:编程; zh-tw:程式}-語言提供了API。這些-{zh-hans:編程; zh-tw:程式}-語言包括C、C++、C#、VB.NET、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
支持-{zh-hans:多线程; zh-tw:多執行緒}-，充分利用CPU資源，支持多用戶。
-{zh-hans:优化; zh-tw:最佳化}-的SQL查詢算法，有效地提高查詢速度。
既能夠作為一個單獨的應用程式在客戶端伺服器網絡環境中執行，也能夠作為一個程式庫而嵌入到其他的軟件中。
提供多語言-{zh-hans:支持; zh-tw:支援}-，常見的編碼如中文的GB 2312、BIG5，日文的Shift JIS等都可以用作-{zh-hans:数据表; zh-tw:資料表}-名和-{zh-hans:数据列; zh-tw:資料列}-名。
提供TCP/IP、ODBC和JDBC等多種數據庫連接途徑。
提供用於管理、檢查、-{zh-hans:優化; zh-tw:最佳化}-數據庫操作的管理工具。
可以處理擁有上千萬條記錄的大型數據庫。

 應用 
與其他的大型數據庫例如Oracle、IBM DB2、MS SQL等相比，MySQL自有它的不足之處，如規模小、功能有限等，但是這絲毫也沒有減少它受歡迎的程度。對於一般的個人使用者和中小型企業來說，MySQL提供的功能已經綽綽有餘，而且由於MySQL是開放源碼軟件，因此可以大大降低總體擁有成本。

2010年以前Internet上流行的網站構架方式是LAMP（Linux Apache MySQL PHP），即是用Linux作為作業系統，Apache作為-{zh-hans:Web服务器; zh-tw:網頁伺服器}-，MySQL作為數據庫，PHP（部分網站也使用Perl或Python）作為-{zh-hans:服务器; zh-tw:伺服器}-端腳本解釋器。由於這四個軟件都是開放源碼軟件，因此使用這種方式可以以較低的成本建立起一個穩定、免費的網站系統。MySQL加PHP的配對在互聯網上的應用相比LAMP來說更為常見，並獲得了「動態配對」（）的雅號，大部分Blog網站基於的WordPress系統主要運用MySQL加PHP的配對。除了LAMP之外，用於Solaris、Windows和Mac上的網站構架也分別被稱為SAMP、WAMP和MAMP。

維基百科所使用的Mediawiki維基引擎採用PHP語言寫成，並以MySQL作為其支援的其中一種數據庫管理系統。

MySQL管理
可以使用命令行工具管理MySQL數據庫（命令mysql和mysqladmin），也可以從MySQL的網站下載圖形管理工具MySQL Workbench。
Navicat是一套專為MySQL設計的強大資料庫管理及開發工具。它可以用於任何版本的MySQL資料庫，並支援大部份MySQL的功能，包括觸發器、索引、檢視等。
phpMyAdmin是由PHP寫成的MySQL資料庫系統管理程式，讓管理者可用Web介面管理MySQL資料庫。藉由此Web介面可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑，尤其要處理大量資料的匯入及匯出更為方便。其中一個更大的優勢在於由於phpMyAdmin跟其他PHP程式一樣在網頁伺服器上執行，但是您可以在任何地方使用這些程式產生的HTML頁面，也就是於遠端管理你的MySQL資料庫。使用phpMyAdmin您就可以方便的建立、修改、刪除資料庫及資料表。
phpMyBackupPro也是由PHP寫成的，可以透過Web介面創建和管理數據庫。它可以創建偽cronjobs，可以用來自動在某個時間或週期備份MySQL數據庫。

 連接方式 
應用程式可透過ODBC或ADO方式，經由使用MyODBC與MySQL資料庫連接。
MS .Net Framework下的程式（例如：C#、VB.NET）可透過ADO.NET的方式，經由使用MySQL.Net與MySQL資料庫連接。
C/C++可使用MySQL++或是直接使用MySQL內建API與MySQL資料庫連接。
PHP可透過PHP的MySQLi與MySQL資料庫連接，具備比MySQL模組更好的效能。另外PHP6可使用mysqlnd與MySQL資料庫連接。
JAVA程序可通过JDBC方式与MySQL进行连接，MySQL官方提供了JDBC驱动程序。
可通过MySQL客户端软件与MySQL进行连接，如mysqlfront、mysqlyog、mysqlbrowser等。
JavaScript可以通过使用fibjs的内置mysql模块与MySQL数据库连接

衍生版本
衍生版本有Drizzle、MariaDB、Percona Server及OurDelta等。

 参考文献 

 外部連結 


 MySQL開發者主頁
 MySQL Weblogs
 MySQL社區
 中国MySQL社區
 CentOS7下安装MySQL

Category:開源資料庫管理系統
Category:LAMP
Category:跨平台軟體
Category:甲骨文公司软体