您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么解決mysql的Warning問題”,在日常操作中,相信很多人在怎么解決mysql的Warning問題問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么解決mysql的Warning問題”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
今天重啟mysql錯誤日志顯示有如下警告:
2016-06-24 09:20:07 0 [Warning] option 'general_log': boolean value '/data/DB/mysql/select.log' wasn't recognized. Set to OFF.
2016-06-24 09:20:07 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
第一個警告是查詢日志文件沒有找到,系統選擇關閉查詢日志功能:
[root@trcloud-gtt-dw ~]# ls -l /data/DB/mysql/select.log
ls: cannot access /data/DB/mysql/select.log: No such file or directory
[root@trcloud-gtt-dw ~]# touch /data/DB/mysql/select.log
[root@trcloud-gtt-dw ~]# chown mysql:mysql /data/DB/mysql/select.log
通過創建文件解決
第二個警告是要關掉這種非標準行為,得在啟動服務前開啟系統變量explicit_defaults_for_timestamp! 如此,系統方能按如下的方式處理timestamp:
timestamp欖沒有顯式聲明為not null的將會允許null值。設置為null就會是null,而不是當前timestamp!
沒有timestamp欖會被自動賦值為default current_timestamp或on update current_timestamp。而是要顯式去賦值!
timestamp欖聲明為not null并且沒有顯式聲明一個默認值將被認定為沒有默認值。向這樣的欖插入記錄將完全看SQL模式的心情。如果是strict模式,就報錯!
如果不是,將被賦值為'00-00-00 00:00:00'并給一個警告。處理DATETIME也是這樣!
通過在mysql.cnf,mysqld下面加explicit_defaults_for_timestamp=true解決
到此,關于“怎么解決mysql的Warning問題”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。