1. 程式人生 > >ubuntu16.04 修改mysql配置檔案my.cnf編碼出錯---解決方法

ubuntu16.04 修改mysql配置檔案my.cnf編碼出錯---解決方法

mysql> show variables like 'character%';

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/

MySQL/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

character_set_database和character_set_server的編碼還是繼承自編譯的

直接修改配置檔案 my.cnf:[mysqld]下新增default-character-set=utf8

$sudo service mysql restart

mysql stop/waiting
start: Job failed to start
服務竟然起不來

最簡單的辦法是隻要在[mysqld]下再加兩條配置即可:加上之後如下

default-storage-engine=INNODB 
character-set-server=utf8 
collation-server=utf8_general_ci

$sudo service mysql start
mysql start/running, process 22704

$mysql -u root -p
Enter password:

mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
編碼就順利改掉了。