背景: 繼上次介紹 初識 MySQL 5.6 新功能,、參數(shù)完之后,,剛好MySQL 5.7又GA了,在官方測試?yán)锟吹?,MySQL5.7在功能,、性能、可用性,、安全和監(jiān)控上又提升了很高?,F(xiàn)在看看和MySQL5.6對比,看多了哪些參數(shù):(后續(xù)不定時更新) 參數(shù): 全局動態(tài)變量,,單位微妙,,默認(rèn)0,,范圍:0~1000000(1秒)。 表示binlog提交后等待延遲多少時間再同步到磁盤,,默認(rèn)0,,不延遲。設(shè)置延遲可以讓多個事務(wù)在用一時刻提交,,提高binlog組提交的并發(fā)數(shù)和效率,,提高slave的吞吐量。 全局動態(tài)變量,,單位個數(shù),,默認(rèn)0,范圍:0~1000000,。 表示等待延遲提交的最大事務(wù)數(shù),,如果上面參數(shù)的時間沒到,但事務(wù)數(shù)到了,,則直接同步到磁盤,。若binlog_group_commit_sync_delay沒有開啟,則該參數(shù)也不會開啟,。 全局動態(tài)變量,,默認(rèn)關(guān)閉。 表示是否開啟代理用戶的功能,,后面會在安全性上面會介紹,。 全局變量,默認(rèn) mysql_native_password,,可選:sha256_password 表示用戶默認(rèn)的認(rèn)證方式,,即加密方法,后面會在安全性上面會介紹,。 全局動態(tài)變量,,默認(rèn)0,范圍:0~65535,,單位天,。 表示用戶密碼的過期時間,默認(rèn)關(guān)閉,。設(shè)置為365表示用戶密碼一年之后會過期,。 全局變量,默認(rèn)空,。 表示禁止創(chuàng)建指定的存儲引擎,,如:disabled_storage_engines='MyISAM,FEDERATED',如果服務(wù)器啟動開啟 全局動態(tài)變量,,默認(rèn)1000,,范圍:0~4294967295 表示每執(zhí)行多少個事務(wù),,對 全局變量,,默認(rèn)YES 表示是語句執(zhí)行超時功能是否可用,默認(rèn)開啟,。 全局變量,,默認(rèn)8,范圍1~512,。 表示自適應(yīng)哈希索引開始支持分區(qū),,避免之前單個索引導(dǎo)致的鎖爭用問題,默認(rèn)劃分成8,。最大設(shè)置為512,。 全局變量,默認(rèn)128M,,范圍:1M~innodb_buffer_pool_size / innodb_buffer_pool_instances 表示為了支持online buffer pool resize,,引入chunk的概念,每個chunk默認(rèn)是128M,,當(dāng)我們在線修改buffer pool的時候,,以chunk為單位進(jìn)行增長或收縮。innodb要求buffer pool size是innodb_buffer_pool_chunk_size* innodb_buffer_pool_instances的倍數(shù),,如果不是,,將會適當(dāng)調(diào)大innodb_buffer_pool_size,以滿足要求,,因此,,可能會出現(xiàn)buffer pool的實際分配比配置文件中指定的size要大的情況。 全局動態(tài)變量,,5.7.7開始默認(rèn)25(百分比),,之前為100(百分比)。范圍:1~100(百分比) 表示控制備份buffer pool的百分比,,更多的關(guān)于BP的預(yù)熱可以看這篇文章,。 全局動態(tài)變量。5.7.9之后默認(rèn)DYNAMIC,,之前默認(rèn)COMPACT,。可選值有:DYNAMIC,、COMPACT,、REDUNDANT,。COMPRESSED不被系統(tǒng)表空間支持,但可以創(chuàng)建普通表,??梢酝ㄟ^show table status like 'tb'查看表的行格式。表示指定默認(rèn)的 ROW_FORMAT,,關(guān)于innodb各種的行格式,,可以看這篇文章。 全局動態(tài)變量,。默認(rèn)100,,范圍:10~100 表示在每個b-tree頁面排序索引構(gòu)建期間其表空間的百分比,剩下的空間留給未來的指數(shù)增長,。即當(dāng)頁填充比例到多少之后認(rèn)為是滿了,。設(shè)置為100,會在頁內(nèi)留出1/16的空間用于未來的增長,。就像innodb一個16K的頁,,最多會用15K,剩下的1K用來后續(xù)表索引的維護(hù),。對葉子和非葉子節(jié)點有效,,對包含text、blog的溢出行無效,。 全局動態(tài)變量,,默認(rèn)為ON 表示在checkpoint的時候,不會受到innodb_io_capacity的影響 全局動態(tài)變量,,默認(rèn)ON,。 表示在寫入redo log到文件之前,redo log的每一個block都需要加上checksum校驗位,,以防止apply損壞redo log,。用CRC-32C對redo log的校驗,代替了效率較低 全局動態(tài)變量,,默認(rèn)8192,即8K,,范圍:512bytes~innodb_page_size,,以字節(jié)為單位。 表示redo log寫前的塊大小,。InnoDB以512字節(jié)一個block的方式對齊寫入ib_logfile文件,,但文件系統(tǒng)一般以4096字節(jié)為一個block單位。如果即將寫入的日志文件塊不在OS Cache時,,就需要將對應(yīng)的4096字節(jié)的block讀入內(nèi)存,,修改其中的512字節(jié),,然后再把該block寫回磁盤。該參數(shù)解決這個問題,,當(dāng)當(dāng)前寫入文件的偏移量不能整除該值時,,則補(bǔ)0,多寫一部分?jǐn)?shù)據(jù),。這樣當(dāng)寫入的數(shù)據(jù)是以磁盤block size對齊時,,就可以直接write磁盤,,而無需read-modify-write這三步了,。 全局動態(tài)變量,默認(rèn)1073741824byte即1024M,,范圍:10M~2**64-1byte 表示限制undo log的最大值,,如果超過臨界值,當(dāng)啟用了 innodb_undo_log_truncate的話,,undo會被標(biāo)記為可truncate,。即可開啟在線收縮undo日志,但需要開啟參數(shù)innodb_undo_tablespaces和innodb_undo_directory,。關(guān)于日志更多信息見這篇文章,。 全局變量, 5.7.7之前默認(rèn)1,,5.7.8之后默認(rèn)4,,范圍:1~64 表示刷寫B(tài)P臟頁的線程數(shù),5.6.2開始從master線程中獨立出來,,5.7.4開始支持多線程flush,。這個值必須小于等于innodb_buffer_pool_instances。 全局動態(tài)變量,,默認(rèn)128,,范圍:1~128 表示控制purge回滾段的速度,undo表空間在其上有活動段的時候,,無法回收,。這個參數(shù)設(shè)置,每執(zhí)行多少次purge之后,,purge一次回滾段,。 全局變量,默認(rèn)ibtmp1:12M:autoextend,。在數(shù)據(jù)目錄下生成一個ibtmp1大小12M的文件,。 表示指定innodb臨時表空間文件的路徑、文件名和大小,。所有非壓縮臨時表都使用同一個臨時表空間,,壓縮的臨時表會使用tmpdir指定的目錄下每個表單獨的數(shù)據(jù)文件,。可以通過 全局動態(tài)變量,,默認(rèn)OFF。 表示是否開啟在線收縮undo log,。當(dāng)undo log 超過 全局動態(tài)變量,默認(rèn)INNODB 表示內(nèi)部磁盤臨時表用的存儲引擎,,5.7.6之后默認(rèn)是innodb,,可選值有:innodb、myisam,。 全局動態(tài)變量,,默認(rèn)OFF 全局動態(tài)變量,默認(rèn)3,,范圍:1~3 表示錯誤日志記錄的信息,,1:只記錄error信息;2:記錄error和warnings信息,;3:記錄error,、warnings和普通的notes信息。 全局動態(tài)變量,,默認(rèn)ON,。 表示是否記錄error code '1592′ 信息到錯誤日志里。error code '1592′:Unsafe statement written to the binary log using statement format 全局動態(tài)變量,,默認(rèn)OFF 表示是否把錯誤日志記錄到syslog(/var/log/syslog),。 全局動態(tài)變量,默認(rèn)daemon,。 表示設(shè)備錯誤號寫入到syslog,,前提是log_syslog參數(shù)開啟。 全局動態(tài)變量,,默認(rèn)ON,。 表示是否把服務(wù)進(jìn)程的id寫到syslog,前提是log_syslog參數(shù)開啟,。 全局動態(tài)變量,,默認(rèn)empty。 表示標(biāo)簽被添加到服務(wù)器標(biāo)識符中并寫入到syslog在錯誤日志 全局動態(tài)變量,默認(rèn)UTC,,可選值:UTC,、SYSTEM 表示這個變量控制日志消息寫入文件的時間,包括錯誤日志,,普通日志和慢查詢?nèi)罩尽?/p> 全局\會話動態(tài)變量,,默認(rèn)0。 表示執(zhí)行select語句的超時時間,,默認(rèn)0:不超時,。 32: 全局動態(tài)變量,默認(rèn)OFF,。 表示控制是否支持代理用戶內(nèi)置認(rèn)證的插件,,前提條件是 全局變量,,默認(rèn)2。范圍:1~10 表示控制innodb全文檢索分詞的長度,,更多信息見:InnoDB全文索引:N-gram Parser 34: 全局動態(tài)變量,默認(rèn)OFF,。 表示server層增加了離線模式(offline mode),,以便于管理員的升級維護(hù)工作。特征:在設(shè)置成離線模式后,,非SUPER賬戶在下次請求會被斷開,,并報錯;SUPER賬戶能夠保持連接,,并管理數(shù)據(jù)庫,;備庫復(fù)制線程不會被中斷。 35: 全局\會話動態(tài)變量,,默認(rèn)8388608即8M,。 表示限制range 優(yōu)化器的最大內(nèi)存使用。0表示不限制,。 36: 會話動態(tài)變量,,默認(rèn)STRICT,可選值:STRICT,、IDEMPOTENT 表示控制會話線程的模式:STRICT和IDEMPOTENT,。IDEMPOTENT模式會忽視duplicate-key and no-key-found的錯誤,對于存在數(shù)據(jù)的row模式下的重放很有用,,通過mysqlbinlog加 全局動態(tài)變量,默認(rèn)OFF。 表示客戶端連接到服務(wù)器是否需要使用某種形式的安全傳輸,。如果開啟,,服務(wù)器只允許使用SSL的TCP/IP連接,或使用一個套接字的連接文件,。服務(wù)器拒絕不安全的連接嘗試,,失敗報錯ER_SECURE_TRANSPORT_REQUIRED錯誤。此功能優(yōu)先考慮SSL需求,,如果定義了一個REQUIRE SSL的賬號,,啟用require_secure_transport,該賬號不能使用Unix套接字文件連接,。 全局動態(tài)變量,,默認(rèn)OFF。 表示表示控制是否支持代理用戶內(nèi)置認(rèn)證的插件,,前提條件是 全局動態(tài)變量,,5.7.8之后默認(rèn)OFF,。 表示從mysql5.7.6開始information_schema.global_status已經(jīng)開始被舍棄,為了兼容性,,此時需要打開 show_compatibility_56,,否則報錯: ERROR 3167 (HY000): The 'INFORMATION_SCHEMA.GLOBAL_STATUS' feature is disabled; see the documentation for 'show_compatibility_56' 5.7.2開始支持,并行復(fù)制的模式,。默認(rèn)DATABASE,,表示庫級別的并行復(fù)制;LOGICAL_CLOCK:基于組提交的并行復(fù)制方式,??蛇x值:DATABASE、LOGICAL_CLOCK 表示多線程復(fù)制的模式,,5.6開始支持基于庫(database)的并行復(fù)制,,對于只有一個庫的,效果不好,。5.7開始支持基于組提交(LOGICAL_CLOCK)的并行復(fù)制,,提高復(fù)制的可用性。更多信息見:MySQL 5.7并行復(fù)制實現(xiàn)原理與調(diào)優(yōu) 全局動態(tài)變量,,默認(rèn)0,,可選值0、1,。 表示是否需要嚴(yán)格保持順序,,默認(rèn)值為0表示并發(fā)執(zhí)行忽略順序,。對于多線程slaves,來保障事務(wù)在slave上執(zhí)行的順序與relay log中的順序嚴(yán)格一致,,只有當(dāng)slave_parallel_workers開啟時有效,,此時log_bin、log_slave_updates必須開啟,,而且slave_parallel_type值必須為LOGICAL_CLOCK(默認(rèn)值為DATABASE),,如果你的事務(wù)經(jīng)常是跨DB操作,那么可以考慮使用此參數(shù)限定順序,。當(dāng)此參數(shù)開啟時,,要求任何worker線程執(zhí)行事務(wù)時,只有當(dāng)前事務(wù)中此之前的所有事務(wù)都執(zhí)行后(被其他worker線程執(zhí)行),,才能執(zhí)行和提交,。 全局動態(tài)變量,默認(rèn)OFF,。5.7.8之后支持的參數(shù),。 表示5.7.8之前,服務(wù)器開啟read_only參數(shù),,表示只有具有super權(quán)限的賬號可以更新,、修改表。非super權(quán)限的用戶不能修改,。5.7.8之后,,開啟super_read_only參數(shù),具有super權(quán)限的賬號也不能更新和修改表,,并且read_only會無效(受super_read_only控制)。 全局變量,,默認(rèn)TLSv1,TLSv1.1,。 表示允許加密服務(wù)器的連接,值是一個逗號分隔的列表,,包含一個或多個協(xié)議名稱,。 ... 關(guān)于一些其他的變量,可以參考:innodb 5.7.11 版本 所有變量記錄 |
|
來自: 走出塵埃 > 《工控之路——編程篇》