標籤:mysql linxu
定義了一個shell指令碼,可以根據其他的多個sql檔案建立資料庫,並且使用包含初始化資料的sql檔案初始化資料庫。
在windows下使用linux用戶端串連到linux伺服器,執行shell指令碼後,發現建立出的資料庫有中文亂碼。
確定是字元集設定問題。查看資料庫,發現字元集設定如下,很多還是 latin1。
mysql> show variables like ‘character_set_%‘;
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
修改預設字元集
修改檔案/etc/my.cnf內容
在[client]下添加如下語句
default-character-set=utf8
在[mysqld]下添加
default-character-set=utf8
init_connect=‘SET NAMES utf8‘ ##設定串連mysql是使用UTF8編碼
修改好後,重啟mysql服務即可
使用linux用戶端執行shell指令碼建立資料庫初始化資料庫中文亂碼問題