Ubuntu下修改MySQL字符集
阿新 • • 發佈:2019-01-02
MySQL預設字符集為latin,若要正確顯示中文,需要將字符集更改未utf8。修改字符集在ubuntu14和ubuntu16下略有不同。
Ubuntu14下修改MySQL字符集
編輯配置檔案my.cnf
$sudo vim /etc/mysql/my.cnf
[client]
default-character-set=utf8 #增加這一行,指定字符集
port = 3306
socket = /var/run/mysqld/mysqld.sock
.............
[mysqld]
character_set_server=utf8 #增加這一行,指定字符集
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
修改後,重啟服務即可。
sudo /etc/init.d/mysql restart
檢視字符集,所有的database的字符集應該就變成utf8了。
mysql> show variables like '%char%';
Ubuntu16下修改MySQL字符集
與Ubuntu14略有不同,主要是幾個檔案所在位置不同。修改方法如下:
1 修改mysql的配置檔案
sudo vim /etc/mysql/conf.d/mysql.cnf
在[mysql]的下方加入如下語句。(注:這個檔案下沒有配置,只有【mysql】)
no-auto-rehash default-character-set=utf8
/etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]下加入
socket = /var/run/mysqld/mysqld.sock port = 3306 character-set-server=utf8 (這裡是server,之前有的版本是set)
重啟mysql:
sudo /etc/init.d/mysql restart
檢視字符集
mysql> show variables like '%char%';
如果出現某個表未改過來的情況則需要更改資料庫編碼:需要在
mysql下進行修改。有兩種方法, 第一種是一次搞定, 第二種只對當前連線有效,斷開連線,恢復更改前狀態。
方法1:
alter database 資料庫名 charset utf8
方法2:
set character_set_database = utf8