文章目錄
MySQL是一個開放源碼的關聯式資料庫管理系統,開發人員為瑞典MySQL AB公司,被Sun公司收購,最後全都歸併到Oracle麾下。MySQL由於效能高、成 本低、可靠性好,已經成為最流行的開來源資料庫,被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用於更多大規模網站 和應用,比如維基百科、Google和Facebook。非常流行的開源軟體組合LAMP中的M就是指 MySQL。
下載:http://mysql.proserve.nl/Downloads/MySQL-5.1/
查看更新:
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-50.html
MySQL各版本的區別
<第一個 MySQL Community Server,這個不要錢!
第二個 MySQL Enterprise 這個要掏錢,不過可以打電話諮詢問題,也就是電話支援人員。
第三個 MySQL Cluster,這個單獨是沒法用的,要在1或2的基礎上用。當然用來平衡多台資料庫的。
第四個 MySQL Workbench,這是個好東西,用來設計資料庫的。erwin知道嗎?他就是這個作用。
MySQL Community Server 社區版本 應該不提供官方支援人員
MySQL Enterprise Server MySQL企業版伺服器
軟體是最可靠、最安全、更新版本的MySQL企業級伺服器資料庫,它能夠高性價比地提供電子商務、聯機交易處理(OLTP)、千兆規模的資料倉儲應用等。它支援ACID交易處理,能提供完整的提交、復原、崩潰恢複和行級鎖定功能。MySQL資料庫因其易用性、可擴充性和高效能等特點,成為全球最流行的開來源資料庫。
MySQL Cluster 2台以上 mysql叢集伺服器
MySQL Workbench有兩個版本:
MySQL Workbench Community Edition(又叫MySQL Workbench OSS,社區版)和MySQL Workbench Standard Edition(又叫MySQL Workbench SE,商業版)。MySQL Workbench OSS是在GPL認證下發布的開源社區版本,而MySQL Workbench SE則是按年收費的商業版本。其功能方面的差異見下表(不得不說,資料庫/模型同步這一重要的功能竟然只在收費的MySQL Workbench SE中可用,而在DBDesigner4中這卻是準系統,這種“繼任”方式實在讓人噁心);
一、各版本的常用命令差異
show innodb status\G mysql-5.1show engines innodb status\G mysql-5.5關於grant授權 mysql-5.5 的 user@'%'不包含localhost
二、MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要區別mysql-server-4.1
增加了子查詢的支援,字元集增加UTF-8,GROUP BY語句增加了ROLLUP,mysql.user表採用了更好的密碼編譯演算法,innodb開始支援單獨的資料表空間。
mysql-server-5.0
增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支援,增加了INFORATION_SCHEMA系統資料庫。
mysql-server-5.1
增加了Event scheduler,Partitioning,Pluggable storage engine API ,Row-based replication、Global層級動態修改general query log和slow query log的支援。
小版本的重要特性:
5.1.2 開始支援微秒級的慢查詢。關於慢查詢相關資訊請參考 http://linuxguest.blog.51cto.com/195664/721042
mysql-server-5.5
1)預設儲存引擎更改為InnoDB
2)提高效能和可擴充性
a. 提高了預設線程並發數(innodb_thread_concurrency)
b. 後台輸入/輸出線程式控制制(innodb_read_io_threads、innodb_write_io_threads)
c. 主線程輸入/輸出速率控制(innodb_io_capacity)
d. 作業系統記憶體配置程式使用控制(innodb_use_sys_malloc)
e. 適應性散列索引(Hash Index)控制,使用者可以關閉適應性散列功能。
f. 插入緩衝(Insert Buffering)控制,使用者可以關閉innodb的插入緩衝功能。
g. 通過快速加鎖演算法提高可擴充性,innodb不在使用代理(posix)線程,而是使用原生的獨立操作來完成互斥和讀寫鎖定。
h. 恢複組提交(Restored Group Commit)
i. 提高恢複效能
j. 多緩衝池執行個體
k. 多個復原段(Multiple Rollback Segments),之前的innodb版本最大能處理1023個並發處理操作,現在mysql5.5可以處理高達128K的並發事物,
l. Linux系統固有的非同步輸入/輸出,mysql5.5資料庫系統也提高了linux系統的輸入輸出請求的並發數。
m. 擴充變化緩衝:添加了刪除緩衝和清除緩衝
n. 改善了日誌系統互斥和單獨重新整理(Flush)列表互斥
o. 改善清除程式進度,在mysql5.5中清楚操作線程是獨立的線程,並支援並發,可以使用innodb_purge_treads配置。
p. 改善交易處理中的中繼資料鎖定。例如,事物中一個語句需要鎖一個表,會在事物結束時釋放這個表,而不是像以前在語句結束時釋放表。
3)提高實用性
a. 半同步複製(Semi-synchronous Replication)
b. 複製Heartbeat
c. 中繼日誌自動回復(Automatic Relay Log Recovery)
d. 根據伺服器過濾項複製(Replication Per Server Filtering)
e. 從伺服器複製支援的資料類型轉換(Replication Slave Side Data Type Conversions)
4)提高易管理性和效率
a. 建立快速索引(Faster Index Creation)
b. 高效的資料壓縮(Efficient Data Compression)
c. 為大物件和可變長度列提供高效儲存
d. 增加了INFORMATION_SCHEMA表,新的表提供了與InnoDB壓縮和交易處理鎖定有關的具體資訊。
5)提高可用性
a. 針對SIGNAL/RESIGNAL的新SQL文法
b. 新的表/索引分割區選項。MySQL5.5將表和索引RANG和LIST分區範圍擴充到了非整數列和日期,並增加了在多個列上分區的能力。
6)改善檢測和診斷
Mysql5.5引入了一種新的效能架構(performancn_shema,P_S),用於監控mysql監控伺服器運行時的效能。
小版本的重要特性:
percona-server-5.5.18.23支援group commit 參考:http://www.orczhou.com/index.php/2011/12/time-to-group-commit-2/
mysql-server-5.6
1)InnoDB現在可以限制大量表開啟的時候記憶體佔用過多的問題(比如這裡提到的)(第三方已有補丁)
2)InnoDB效能加強。如分拆kernel mutex;flush操作從主線程分離;多個perge線程;大記憶體最佳化等
3)InnoDB死結資訊可以記錄到 error 日誌,方便分析
4)MySQL5.6支援延時複製,可以讓slave跟master之間控制一個時間間隔,方便特殊情況下的資料恢複。
5)表資料分割函數增強
6)MySQL行級複製功能加強,可以降低磁碟、記憶體、網路等資源開銷(只記錄能確定行記錄的欄位即可)
7)Binlog實現 crash-safe
8)複製事件採用crc32校正,增強master/slave 複製資料一致性
9)新增 log_bin_basename (以前variables裡面沒有binlog位置資訊,對資料庫的監管很不方便)
MySQL是一個開放源碼的關聯式資料庫管理系統,開發人員為瑞典MySQL AB公司,被Sun公司收購,最後全都歸併到Oracle麾下。MySQL由於效能高、成 本低、可靠性好,已經成為最流行的開來源資料庫,被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用於更多大規模網站 和應用,比如維基百科、Google和Facebook。非常流行的開源軟體組合LAMP中的M就是指 MySQL。
下載:http://mysql.proserve.nl/Downloads/MySQL-5.1/
查看更新:
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-50.html
MySQL各版本的區別
<第一個 MySQL Community Server,這個不要錢!
第二個 MySQL Enterprise 這個要掏錢,不過可以打電話諮詢問題,也就是電話支援人員。
第三個 MySQL Cluster,這個單獨是沒法用的,要在1或2的基礎上用。當然用來平衡多台資料庫的。
第四個 MySQL Workbench,這是個好東西,用來設計資料庫的。erwin知道嗎?他就是這個作用。
MySQL Community Server 社區版本 應該不提供官方支援人員
MySQL Enterprise Server MySQL企業版伺服器
軟體是最可靠、最安全、更新版本的MySQL企業級伺服器資料庫,它能夠高性價比地提供電子商務、聯機交易處理(OLTP)、千兆規模的資料倉儲應用等。它支援ACID交易處理,能提供完整的提交、復原、崩潰恢複和行級鎖定功能。MySQL資料庫因其易用性、可擴充性和高效能等特點,成為全球最流行的開來源資料庫。
MySQL Cluster 2台以上 mysql叢集伺服器
MySQL Workbench有兩個版本:
MySQL Workbench Community Edition(又叫MySQL Workbench OSS,社區版)和MySQL Workbench Standard Edition(又叫MySQL Workbench SE,商業版)。MySQL Workbench OSS是在GPL認證下發布的開源社區版本,而MySQL Workbench SE則是按年收費的商業版本。其功能方面的差異見下表(不得不說,資料庫/模型同步這一重要的功能竟然只在收費的MySQL Workbench SE中可用,而在DBDesigner4中這卻是準系統,這種“繼任”方式實在讓人噁心);
一、各版本的常用命令差異
show innodb status\G mysql-5.1show engines innodb status\G mysql-5.5關於grant授權 mysql-5.5 的 user@'%'不包含localhost
二、MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要區別mysql-server-4.1
增加了子查詢的支援,字元集增加UTF-8,GROUP BY語句增加了ROLLUP,mysql.user表採用了更好的密碼編譯演算法,innodb開始支援單獨的資料表空間。
mysql-server-5.0
增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支援,增加了INFORATION_SCHEMA系統資料庫。
mysql-server-5.1
增加了Event scheduler,Partitioning,Pluggable storage engine API ,Row-based replication、Global層級動態修改general query log和slow query log的支援。
小版本的重要特性:
5.1.2 開始支援微秒級的慢查詢。關於慢查詢相關資訊請參考 http://linuxguest.blog.51cto.com/195664/721042
mysql-server-5.5
1)預設儲存引擎更改為InnoDB
2)提高效能和可擴充性
a. 提高了預設線程並發數(innodb_thread_concurrency)
b. 後台輸入/輸出線程式控制制(innodb_read_io_threads、innodb_write_io_threads)
c. 主線程輸入/輸出速率控制(innodb_io_capacity)
d. 作業系統記憶體配置程式使用控制(innodb_use_sys_malloc)
e. 適應性散列索引(Hash Index)控制,使用者可以關閉適應性散列功能。
f. 插入緩衝(Insert Buffering)控制,使用者可以關閉innodb的插入緩衝功能。
g. 通過快速加鎖演算法提高可擴充性,innodb不在使用代理(posix)線程,而是使用原生的獨立操作來完成互斥和讀寫鎖定。
h. 恢複組提交(Restored Group Commit)
i. 提高恢複效能
j. 多緩衝池執行個體
k. 多個復原段(Multiple Rollback Segments),之前的innodb版本最大能處理1023個並發處理操作,現在mysql5.5可以處理高達128K的並發事物,
l. Linux系統固有的非同步輸入/輸出,mysql5.5資料庫系統也提高了linux系統的輸入輸出請求的並發數。
m. 擴充變化緩衝:添加了刪除緩衝和清除緩衝
n. 改善了日誌系統互斥和單獨重新整理(Flush)列表互斥
o. 改善清除程式進度,在mysql5.5中清楚操作線程是獨立的線程,並支援並發,可以使用innodb_purge_treads配置。
p. 改善交易處理中的中繼資料鎖定。例如,事物中一個語句需要鎖一個表,會在事物結束時釋放這個表,而不是像以前在語句結束時釋放表。
3)提高實用性
a. 半同步複製(Semi-synchronous Replication)
b. 複製Heartbeat
c. 中繼日誌自動回復(Automatic Relay Log Recovery)
d. 根據伺服器過濾項複製(Replication Per Server Filtering)
e. 從伺服器複製支援的資料類型轉換(Replication Slave Side Data Type Conversions)
4)提高易管理性和效率
a. 建立快速索引(Faster Index Creation)
b. 高效的資料壓縮(Efficient Data Compression)
c. 為大物件和可變長度列提供高效儲存
d. 增加了INFORMATION_SCHEMA表,新的表提供了與InnoDB壓縮和交易處理鎖定有關的具體資訊。
5)提高可用性
a. 針對SIGNAL/RESIGNAL的新SQL文法
b. 新的表/索引分割區選項。MySQL5.5將表和索引RANG和LIST分區範圍擴充到了非整數列和日期,並增加了在多個列上分區的能力。
6)改善檢測和診斷
Mysql5.5引入了一種新的效能架構(performancn_shema,P_S),用於監控mysql監控伺服器運行時的效能。
小版本的重要特性:
percona-server-5.5.18.23支援group commit 參考:http://www.orczhou.com/index.php/2011/12/time-to-group-commit-2/
mysql-server-5.6
1)InnoDB現在可以限制大量表開啟的時候記憶體佔用過多的問題(比如這裡提到的)(第三方已有補丁)
2)InnoDB效能加強。如分拆kernel mutex;flush操作從主線程分離;多個perge線程;大記憶體最佳化等
3)InnoDB死結資訊可以記錄到 error 日誌,方便分析
4)MySQL5.6支援延時複製,可以讓slave跟master之間控制一個時間間隔,方便特殊情況下的資料恢複。
5)表資料分割函數增強
6)MySQL行級複製功能加強,可以降低磁碟、記憶體、網路等資源開銷(只記錄能確定行記錄的欄位即可)
7)Binlog實現 crash-safe
8)複製事件採用crc32校正,增強master/slave 複製資料一致性
9)新增 log_bin_basename (以前variables裡面沒有binlog位置資訊,對資料庫的監管很不方便)