資料載入中

胡言亂語

MySQL:ERROR_1067

最近安裝了Ubuntu Server 18.04系統。
接著安裝了MySQL 5.7.21的版本。
在時間的預設值上發生了ERROR 1067 的錯誤警告。
原因是因為MySQL 5.7.21的版本默認的預設值是不允許時間欄位為0000-00-00 00:00:00。
如下:
mysql> show variables like 'sql_mode';

當執行上述指令時得到的結果如下
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

上頭顯示了NO_ZERO_IN_DATE,NO_ZERO_DATE的部分就是時間欄位預設不能為0。
解決方式,需要修改全局變量sql_mode,去掉NO_ZERO_IN_DATE,NO_ZERO_DATE。
如下:
mysql> set global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

但是上列方式只適用於當前的生效,意思就是說若是重新啟動Mysql服務就會失效。
若要永久生效則必須在Mysql的安裝目錄底下my.cnf裡新增以下參數
 [mysqld]sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

之後重啟Mysql。

以上紀錄



 

https://innstory.com/story-MySQL:ERROR_1067-2640

上一篇
 Linux底下查看Mysql版本

下一篇
分享人事動盪!近400天GoogleCloud旅程告終台灣區總經理邵光華低調卸任|數位時代 
  • 1,266
  • 0
  • 2
  • 訪客

    Mark Chang 技術文必須給讚
    4 年又 263 天回覆
    • chung

      回台灣了
      4 年又 152 天回覆

發表留言

作者簡介

離不開電腦的宅男


推薦閱讀

作者其他相關類別故事

修改php設定

修改php設定

Mark Chang 7 年又 233 天 1.9K

進入系統 用文字編輯軟體打開php.ini改變以下設定 disablefunctions = s...

php使用PDO獲取結果的方法

php使用PDO獲取結果的方…

Mark Chang 5 年又 123 天 1K

式例如下: 式例如下: fetchstyle控制結果的返回方式,類別如下: 以上紀錄。

Fatal error Allowed memory size of 50331648 bytes exhausted tried to allocate 12288 bytes in

Fatal error Al…

Mark Chang 4 年又 156 天 1.4K

今天在客戶的網站系統上發現了一個問題。 在上傳檔案時發生了一個錯誤: 錯誤的原因: 因為php頁...