各版本的一些命令差異:
show innodb status\G mysql-5.1
show engines innodb status\G mysql-5.5
關(guān)于grant授權(quán) mysql-5.5 的 user@'%' 不包含localhost
-----------------------------------------------------------------------
MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要區(qū)別
1、4.1 增加了子查詢的支持,字符集增加UTF-8,GROUP BY語句增加了ROLLUP,mysql.user表采用了更好的加密算法。
2、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系統(tǒng)數(shù)據(jù)庫。
3、5.1 增加了Event scheduler,Partitioning,Pluggable storage engine API ,Row-based replication、Global級別動態(tài)修改general query log和slow query log的支持。
4、5.5的新特征
1)默認(rèn)存儲引擎更改為InnoDB
2)提高性能和可擴(kuò)展性
a. 提高了默認(rèn)線程并發(fā)數(shù)(innodb_thread_concurrency)
b. 后臺輸入/輸出線程控制(innodb_read_io_threads、innodb_write_io_threads)
c. 主線程輸入/輸出速率控制(innodb_io_capacity)
d. 操作系統(tǒng)內(nèi)存分配程序使用控制(innodb_use_sys_malloc)
e. 適應(yīng)性散列索引(Hash Index)控制,用戶可以關(guān)閉適應(yīng)性散列功能。
f. 插入緩沖(Insert Buffering)控制,用戶可以關(guān)閉innodb的插入緩沖功能。
g. 通過快速加鎖算法提高可擴(kuò)展性,innodb不在使用代理(posix)線程,而是使用原生的獨(dú)立操作來完成互斥和讀寫鎖定。
h. 恢復(fù)組提交(Restored Group Commit)
i. 提高恢復(fù)性能
j. 多緩沖池實(shí)例
k. 多個回滾段(Multiple Rollback Segments),之前的innodb版本最大能處理1023個并發(fā)處理操作,現(xiàn)在mysql5.5可以處理高達(dá)128K的并發(fā)事物,
l. Linux系統(tǒng)固有的異步輸入/輸出,mysql5.5數(shù)據(jù)庫系統(tǒng)也提高了linux系統(tǒng)的輸入輸出請求的并發(fā)數(shù)。
m. 擴(kuò)展變化緩沖:添加了刪除緩沖和清除緩沖
n. 改善了日志系統(tǒng)互斥和單獨(dú)刷新(Flush)列表互斥
o. 改善清除程序進(jìn)度,在mysql5.5中清楚操作線程是獨(dú)立的線程,并支持并發(fā),可以使用innodb_purge_treads配置。
p. 改善事務(wù)處理中的元數(shù)據(jù)鎖定。例如,事物中一個語句需要鎖一個表,會在事物結(jié)束時釋放這個表,而不是像以前在語句結(jié)束時釋放表。
3)提高實(shí)用性
a. 半同步復(fù)制(Semi-synchronous Replication)
b. 復(fù)制Heartbeat
c. 中繼日志自動恢復(fù)(Automatic Relay Log Recovery)
d. 根據(jù)服務(wù)器過濾項(xiàng)復(fù)制(Replication Per Server Filtering)
e. 從服務(wù)器復(fù)制支持的數(shù)據(jù)類型轉(zhuǎn)換(Replication Slave Side Data Type Conversions)
4)提高易管理性和效率
a. 建立快速索引(Faster Index Creation)
b. 高效的數(shù)據(jù)壓縮(Efficient Data Compression)
c. 為大物件和可變長度列提供高效存儲
d. 增加了INFORMATION_SCHEMA表,新的表提供了與InnoDB壓縮和事務(wù)處理鎖定有關(guān)的具體信息。
5)提高可用性
a. 針對SIGNAL/RESIGNAL的新SQL語法
b. 新的表/索引分區(qū)選項(xiàng)。MySQL5.5將表和索引RANG和LIST分區(qū)范圍擴(kuò)展到了非整數(shù)列和日期,并增加了在多個列上分區(qū)的能力。
6)改善檢測和診斷
Mysql5.5引入了一種新的性能架構(gòu)(performancn_shema,P_S),用于監(jiān)控mysql監(jiān)控服務(wù)器運(yùn)行時的性能。
5、5.6的新特征
1)InnoDB現(xiàn)在可以限制大量表打開的時候內(nèi)存占用過多的問題(比如這里提到的)(第三方已有補(bǔ)丁)
2)InnoDB性能加強(qiáng)。如分拆kernel mutex;flush操作從主線程分離;多個perge線程;大內(nèi)存優(yōu)化等
3)InnoDB死鎖信息可以記錄到 error 日志,方便分析
4)MySQL5.6支持延時復(fù)制,可以讓slave跟master之間控制一個時間間隔,方便特殊情況下的數(shù)據(jù)恢復(fù)。
5)表分區(qū)功能增強(qiáng)
6)MySQL行級復(fù)制功能加強(qiáng),可以降低磁盤、內(nèi)存、網(wǎng)絡(luò)等資源開銷(只記錄能確定行記錄的字段即可)
7)Binlog實(shí)現(xiàn) crash-safe
8)復(fù)制事件采用crc32校驗(yàn),增強(qiáng)master/slave 復(fù)制數(shù)據(jù)一致性
9)新增 log_bin_basename (以前variables里面沒有binlog位置信息,對數(shù)據(jù)庫的監(jiān)管很不方便)
總結(jié)
以上所述是小編給大家介紹的MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要區(qū)別整理,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
您可能感興趣的文章:- MySQL essential版本和普通版本有什么區(qū)別?