1、mysql介紹
MySQL是一個
關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於
Oracle 旗下產品。MySQL 是最流行的
關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的
RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件。
MySQL是一種關係數據庫管理系統,關係數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。
MySQL所使用的 SQL 語言是用於訪問
數據庫的最經常使用標準化語言。MySQL 軟件採用了雙受權政策,分爲社區版和商業版,因爲其體積小、速度快、整體擁有成本低,尤爲是
開放源碼這一特色,通常中小型網站的開發都選擇 MySQL 做爲網站數據庫。
2、應用環境
與其餘的大型數據庫,例如
Oracle、
DB2、
SQL Server等相比,MySQL
[1] 自有它的不足之處,可是這絲毫也沒有減小它受歡迎的程度。對於通常的我的使用者和中小型企業來講,MySQL提供的功能已經綽綽有餘,並且因爲 MySQL是開放源碼軟件,所以能夠大大下降整體擁有成本。
3、系統特性
1.
[2] 使用 C和 C++編寫,並使用了多種編譯器進行測試,保證了源代碼的可移植性。
4.支持多線程,充分利用 CPU 資源。
6.既可以做爲一個單獨的應用程序應用在
客戶端服務器網絡環境中,也可以做爲一個庫而嵌入到其餘的軟件中。
9.提供用於管理、檢查、優化數據庫操做的
管理工具。
10.支持大型的數據庫。能夠處理擁有上千萬條記錄的大型數據庫。
12.MySQL 是開源的,因此你不須要支付額外的費用。
13.MySQL 使用標準的
SQL數據語言形式。
14.MySQL 對 PHP 有很好的支持,
PHP是比較流行的 Web 開發語言。
15.MySQL是能夠定製的,採用了
GPL協議,你能夠修改源碼來開發本身的 MySQL 系統。
16.在線 DDL/更改功能,數據架構支持動態應用程序和開發人員靈活性(5.6新增)
17.複製全局事務標識,可支持自我修復式集羣(5.6新增)
18.複製無崩潰從機,可提升可用性(5.6新增)
19.複製多線程從機,可提升性能(5.6新增)
21.新的優化器(5.7新增)
22.原生JSON支持(5.7新增)
23.多源複製(5.7新增)
4、存儲引擎
MyISAMMySQL 5.0 以前的默認數據庫引擎,最爲經常使用。擁有較高的插入,查詢速度,但不支持
事務
InnoDB事務型數據庫的首選引擎,支持ACID事務,支持行級鎖定, MySQL 5.5 起成爲默認數據庫引擎
BDB源 自 Berkeley DB,事務型數據庫的另外一種選擇,支持Commit 和Rollback 等其餘事務特性
Memory全部數據置於內存的存儲引擎,擁有極高的插入,更新和查詢效率。可是會佔用和數據量成正比的內存空間。而且其內容會在 MySQL 從新啓動時丟失
Merge將必定數量的 MyISAM 表聯合而成一個總體,在超大規模數據存儲時頗有用
Archive很是適合存儲大量的獨立的,做爲歷史記錄的數據。由於它們不常常被讀取。Archive 擁有高效的插入速度,但其對查詢的支持相對較差
Federated將不一樣的 MySQL 服務器聯合起來,邏輯上組成一個完整的數據庫。很是適合
分佈式應用
Cluster/NDB高
冗餘的存儲引擎,用多臺數據機器聯合提供服務以提升總體性能和安全性。適合數據量大,安全和性能要求高的應用
CSV: 邏輯上由逗號分割數據的存儲引擎。它會在數據庫子目錄裏爲每一個數據表建立一個 .csv 文件。這是一種普通文本文件,每一個數據行佔用一個文本行。CSV 存儲引擎不支持
索引。
BlackHole:黑洞引擎,寫入的任何數據都會消失,通常用於記錄 binlog 作複製的中繼
EXAMPLE 存儲引擎是一個不作任何事情的存根引擎。它的目的是做爲 MySQL
源代碼中的一個例子,用來演示如何開始編寫一個新存儲引擎。一樣,它的主要興趣是對開發者。EXAMPLE 存儲引擎不支持編索引。
另外,MySQL 的存儲引擎接口定義良好。有興趣的開發者能夠經過閱讀文檔編寫本身的存儲引擎