分享下mysql各個主要版本之間的差異

來源:互聯網
上載者:User

一、各版本的常用命令差異

  show innodb status\G mysql-5.1

  show 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位置資訊,對資料庫的監管很不方便)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.