MySQL
MySQL(官方發音為 / maɪ ˌɛskjuːˈɛl /「My S-Q-L」,但是嘛定定去予人讀做 / maɪ ˈsiːkwəl /「My Sequel」)原本是一个開放原始碼的關聯式資料庫管理系統,原開發者為瑞典的 MySQL AB 公司,該公司佇二空空八年予昇陽微系統(Sun Microsystems)收購。二空空九年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL 成做 Oracle 旗下產品。
MySQL 佇過去因為效能懸、成本低、可靠性好,已經成做上時行的開源資料庫,所以講被廣泛地應用佇咧 Internet 懸頂的中小型網站內底。隨著 MySQL 的不斷飽穗,伊嘛沓沓仔用閣較濟大規模網站佮應用,譬如講你若咧維基百科、Google 和 Facebook 等網站。非常時行的開源軟體組合 LAMP 中的「M」是講按呢就是 MySQL。
但是予甲骨文公司收了後,Oracle 大幅調起 MySQL 商業版的售價,而且甲骨文公司無閣再支援另外一个自由軟體專案 OpenSolaris 的發展,就按呢致使自由軟體社群對 Oracle 敢猶閣會繼續支援 MySQL 社群版(MySQL 內底唯一的免費版本)有所隱憂,MySQL 創始人麥克爾 ・ 維德紐斯以 MySQL 為基礎,成立分支計劃 MariaDB。因為原本有一寡使用 MySQL 的開源軟體漸漸轉向 MariaDB 抑是其他的資料庫。親像維基百科已經二空一三年正式宣佈欲對 MySQL 徙甲 MariaDB 資料庫。
MySQL 的 license 這馬分做免費的社群版佮收費的標準版、企業版等。一般來講,若是佇非開源專案內底發佈矣 MySQL,抑是需要 Oracle 公司提供嘿 MySQL 的技術支援,抑是使用 MySQL 的一寡企業版工具抑是掛程式,抑是修改 MySQL 原始碼並做閉源的軟體等等的情形,需要買商業版本。若是干焦囥做伙用 MySQL,甚至修改並使用 MySQL,無論是毋是有收費;抑是軟體當中無包含 MySQL,軟體的使用者家己來安裝 MySQL;抑是使用 GPL 協定的開源軟體產品包含了 MySQL,遮的情形可能是使用社群版 MySQL。
歷史
- 二空空八年一月十六,Sun(昇陽電腦)正式收購 MySQL。
- 二空空九年四月二十號,甲骨文公司宣佈用每股九九五空美金,七十四億美金的總額收購 Sun 電腦公司。
- 二空一三年六月十八號,甲骨文公司修改 MySQL 授權協定,徙掉矣 GPL。但是了後有訊息講這是一个 bug。
特性
- 使用 C 和 C + + 編寫,閣用真濟種編譯器來進行測試,保證原始碼的會當移植性。
- 支援 AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell NetWare、NetBSD、OpenBSD、OS / 二 Wrap、Solaris、Windows 等等足濟種作業系統。
- 為濟種程式的語言提供了 API。遮的程式語言包括 C、C + +、C #、VB . NET、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby 和 Tcl 等。
- 支援多執行緒,充分利用 CPU 資源,支援多使用者。
- 最佳化的 SQL 查詢演算法,有效地提懸查詢速度。
- 既然會當做一个單獨的應用程式咧客戶捀服器網路環境中執行,也會當作為一个坎站去到其他的軟體中間。
- 提供多語言的支援,捷看的編碼如中文的 GB 二千三百十二、BIG 五,日文的 Shift JIS 等等攏會當用作資料表名佮資料列名。
- 提供 TCP / IP、ODBC 和 JDBC 等等加種資料庫連接途徑。
- 提供用管理、檢查、最佳化資料庫操作的管理工具。
- 會當處理有上千萬條記錄的大型資料庫。
應用
佮其他的大型資料庫比如講 Oracle、IBM DB 二、MS SQL 相比並,MySQL 自有伊的不足的所在,如規模細、功能有限等,但是這絲仔也無減少伊受歡迎的程度。對一般的個人使用者佮中小型企業來講,MySQL 提供的功能已經外口有賰,而且因為 MySQL 是開放原始體軟體,因此會當大大降低總體有成本。
二空一空年進前 Internet 上時行的網站構架咧做的方式是 LAMP(Linux Apache MySQL PHP), 即是用 Linux 做為作業系統,Apache 做為網頁侍服器,MySQL 做資料庫,PHP(部份網站嘛用 Perl 抑是 Python)作為侍服器捀指令碼解說器。因為這四个軟體攏是開放原始體軟體,自按呢使用這種方式會當較低的成本建立起一个穩定、免費的網站系統。MySQL 加 PHP 配對佇網際網路頂懸的應用相比 LAMP 來講更為常見,並且得著「動態配對」(Dynamic Duo)的雅號,大部份 Blog 網站是因為的 WordPress 系統主要運用 MySQL 加 PHP 的配對。除了 LAMP 以外,用佇咧 Solaris、Windows 和 Mac 上的網站構架嘛分別予人叫做 SAMP、WAMP 和 MAMP。
維基百科所使用的 Mediawiki 維基 ia̋n-jín 採用 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 模組閣較好的效能。另外咧 PHP 六通使用 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 社區
- CentOS 七下仔安裝 MySQL