問題闡述
CMD下執行命令行:
// 前臺啓動MySQL服務
D:\Program Files (x86)\mysql-5.6.37_64\bin\mysqld.exe --defaults-file="D:/Program Files (x86)/mysql-5.6.37_64/my.ini"
出現報錯:
// 類似以下一個屬性的報錯.因爲以前有過類似錯誤,原因就是因爲配置文件問題.
...--secure-file-priv...
問題解決:
–secure-file-priv 是什麼?
secure-file-priv參數是用來限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()傳到哪個指定目錄的.
當secure_file_priv的值爲null ,表示限制mysqld 不允許導入|導出;
當secure_file_priv的值爲/tmp/ ,表示限制mysqld 的導入|導出只能發生在/tmp/目錄下;
當secure_file_priv的值沒有具體值時,表示不對mysqld 的導入|導出做限制;
–secure-file-priv 問題解決.
編輯配置文件my.ini.
新增屬性:
// 雖然上文說可以留空,但是實際上配置不能留空,不然會有提示說該屬性不能爲空值.
// 並且,爲了以後的導出導入, 新增 /tmp的子路徑.
secure_file_priv ="D:\Program Files (x86)\mysql-5.6.37_64\tmp"
重新編輯my.ini 之後再次執行服務啓動命令.問題解決了,但是又出現新的問題:
// 根據前臺報錯提示.得知某個屬性已經啓用, 需要以下屬性.
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated.
Please use --explicit_defaults_for_timestamp server option (see
documentation for more details).
編輯配置文件 my.ini,增加一項設置:
explicit_defaults_for_timestamp = 1
重新啓動服務, 加載配置文件,每天其它報錯. 問題得到解決.
什麼是explicit_defaults_for_timestamp參數
explicit_defaults_for_timestamp參數主要用來控制TIMESTAMP數據類型跟其他數據類型不一致的特性,但是TIMESTAMP的這個特性在將來會被廢棄,所以explicit_defaults_for_timestamp參數也會在將來被廢棄.
更多參考:
http://blog.csdn.net/donghaixiaolongwang/article/details/73799809