MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件。mysql
MySQL爲何會如此流行呢?由於它有如下特色:sql
MySQL官網:https://www.mysql.com。數據庫
目前流行的MySQL分支發行版有Percona Server和MariaDB。緩存
Percona Server是由領先的MySQL諮詢公司Percona發佈的一款基於MySQL的關係型數據庫,是一款獨立的數據庫產品,與MySQL徹底兼容。在衆多MySQL分支發行版中是最爲接近官方MySQL Enterprise的版本。安全
Percona Server使用自行開發的XtraDB引擎;Percona Server在可管理性和穩定性上較MySQL都有必定的提高;Percona Server仍是開源和免費的軟件,而官方的MySQL Enterprise則是收費版本。服務器
Percona公司還提供了其餘諸如高可用、數據庫管理和備份等解決方案,官網:https://www.percona.com。架構
MariaDB由MySQL的創始人Michael Widenius主導開發。先前其曾將本身建立的公司MySQL AB出售給了SUN,隨後SUN被Oracle收購,Michael Widenius不滿於Oracle有將MySQL閉源的潛在風險因此開發了MariaDB。 併發
MariaDB當前主要由開源社區進行維護,採用GPL受權許可;MariaDB的目的是徹底兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品;在存儲引擎方面,使用XtraDB來代替MySQL的InnoDB。 ide
MariaDB官網:https://mariadb.org。 spa
MySQL經常使用的存儲引擎有MyISAM和InnoDB。
在MySQL 5.5以前的版本,默認使用的是MyISAM引擎,而從MySQL 5.5開始,已將默認存儲引擎從MyISAM改成InnoDB。
兩種存儲引擎的大體區別在於:
使用InnoDB存儲引擎,MySQL會將以.frm結尾的表結構文件存放於數據存儲目錄下以數據庫命名的目錄中;而數據庫中的數據、索引和元數據都會被存儲在數據存儲目錄下的ibdata1文件中;在MySQL的數據存儲目錄下還存在名爲ib_logfile0和ib_logfile1的文件(文件大小能夠設置,可設置鏡像),這兩個文件爲事務日誌(redo log),用於記錄數據庫操做的變化,用於事務的回滾操做,這兩個文件的寫入規則爲:先寫ib_logfile0,寫滿後寫ib_logfile1,在ib_logfile1寫滿後再返回寫ib_logfile0。
MyISAM引擎會將數據所有放置在MySQL數據存儲目錄中以數據庫命名的目錄下,名稱以表名錶示,經過後綴區分不一樣的文件:.frm爲表結構文件;.myd爲數據存儲文件;.myi爲索引文件