1. 程式人生 > >修改mysql資料庫的字元編碼和sql_mode許可權

修改mysql資料庫的字元編碼和sql_mode許可權

使用環境:伺服器,Ubuntu,mysql

一、修改mysql資料庫的sql_mode許可權

1、檢視當前資料庫的sql_mode許可權:
xshell(或navicat)連線遠端伺服器資料庫,然後執行命令:select @@sql_mode;
如下圖所示:
這裡寫圖片描述
2、修改當前的資料庫sql_mode設定,若直接使用set命令進行設定,則只在當前會話生效,重啟後失效,若要使其修改永久生效,則應修改mysql資料庫的相應配置檔案
修改/etc/mysql/my.cnf檔案,在[mysqld]下新增
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
然後儲存退出,如下圖所示:
這裡寫圖片描述


然後重啟mysql服務,執行命令/etc/init.d/mysql restart,然後重新執行命令select @@sql_mode;檢視資料庫的sql_mode配置

二、修改mysql資料庫的字元編碼

1、檢視當前資料庫的字元編碼設定,執行命令

show variables like 'character_set_%';

然後在配置檔案/etc/mysql/my.cnf中設定相應的字元編碼,如下圖所示,在[mysqld]下新增character_set_server=utf8,在[client]下新增default-character-set=gbk,如下圖所示:
這裡寫圖片描述
然後儲存退出,重啟mysql服務,再次檢視資料庫編碼設定,如下圖所示,修改成功
這裡寫圖片描述


注意:根據專案需要,也可以將default-character-set設為utf-8,即default-character-set=utf-8,這裡只是舉例說明如何修改字元編碼設定而已,不需要完全一樣