Mysql配置參數常見問題

來源:互聯網
上載者:User

標籤: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配置參數常見問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.