1. 程式人生 > >windows環境mysql資料庫的sql_mode配置

windows環境mysql資料庫的sql_mode配置

今天在試驗MySQL資料庫欄位自動擷取的時候,發現需要配置引數,如果my.ini 下的sql_mode引數配置成嚴格模式,則不會自動擷取,否則會有警告,但是還是自動擷取後儲存。在這個過程中遇到一些問題,總結如下:

1、my.ini在哪裡,發現有兩個,一個在安裝根目錄下:C:\Program Files\MySQL\MySQL Server 5.7  名字是my-default.ini    ,另一個是在MySQL預設的資料資料夾下:C:\ProgramData\MySQL\MySQL Server 5.7  名字是my.ini   經過試驗,應該是在programdata下這個

2、怎麼驗證my.ini配置了是否生效?配置後,進入命令列CMD,然後 mysql -h localhost -uroot -p  ,然後輸入密碼,進入mysql 命令列模式,這裡如果進不去,需要配置mysql的環境變數,然後\s ,就會展示各個引數。或者可以在sqlyog中用查詢命令:SHOW global VARIABLES LIKE 'sql_mode%'。但是這裡用命令SHOW VARIABLES LIKE 'sql_mode%'; 卻不顯示配置的引數,因為sqlyog8之後的版本,啟動後預設會將引數置為空。實際已生效。

3、如果只要在當前回話讓sql_mode生效,可以在sqlyog用命令:SET sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";