標籤:mysql 參數
Mysql安裝時進行初始化安裝,最長碰到的問題就是配置參數相容性的問題,因為資料庫的參數發生改變,導致資料庫無法識別的情況很讓人頭疼,好在有官方文檔的指引,才能解決這類問題的發生
當前廣泛應用的是mysql5.5以上版本,這裡以5.6為例,一下包含了所有mysql5.6在使用的參數:
http://dev.mysql.com/doc/refman/5.6/en/mysqld-option-tables.html
比如如下的報錯:
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
警告說明該參數過去為隱式的預設值,但在新的版本中棄用,需要在配置或啟動時顯式的增加該配置參數explicit_defaults_for_timestamp。
查看官網解釋:
1、Mysql的Timestamp列如果沒有顯式的聲明為空白,則給時間戳記列分配為非空屬性。(其他資料類型的列,如沒有顯式的聲明非空,則允許為空白)也就是說當設定這些列為空白值時,預設轉化為當前的時間戳記。
2、當Timestamp作為表中首列時,如不聲明為空白、顯式的Default和ON UPDATE子句。則自動分配為default current_timestamp和on update current_timestamp屬性。
3、當Timestamp列作為表中第二列時,如不聲明為空白、default子句,則自動分配為default ‘0000-00-00 00:00:00‘(‘零‘ 時間戳記)。對於不指明具體Timestamp的行,該列會自動分配零時間戳記,且不會產生警告。
這些非標行為仍作為預設的時間戳記規則直到5.6.6版本被棄用,所以當初始化資料庫時會出現上面的警示資訊時,可以通過指定explicit_defaults_for_timestamp參數來改變這種非標行為
explicit_defaults_for_timestamp採用boolean(布爾)值,預設為FALSE,可以再設定檔my.cnf中明確的開啟開參數
explicit_defaults_for_timestamp=true
在5.1版本中innodb_file_io_threads參數,設定mysql innodb引擎I/O線程的數量,5.1版使用Innodb plugin時,才用innodb_read_io_threads和innodb_write_io_threads參數來代替,而到了5.6版本則直接使用這兩個參數,取消了innodb_file_io_threads參數。
innodb_read_io_threads 預設值4、最小值1、最大值64。
本文出自 “LinuxOracle” 部落格,請務必保留此出處http://onlinekof2001.blog.51cto.com/3106724/1629665
Mysql配置參數常見問題