1. 程式人生 > >Mac上修改MySQL預設字符集為utf8

Mac上修改MySQL預設字符集為utf8

1、檢查預設安裝的mysql的字符集

mysql> show variables like '%char%';
+--------------------------+-----------------------------------------------------------+
| Variable_name            | Value                                                     |
+--------------------------+-----------------------------------------------------------+
| character_set_client     | utf8                                                      |
| character_set_connection | utf8                                                      |
| character_set_database   | latin1                                                    |
| character_set_filesystem | binary                                                    |
# For advice on how to change settings please see
| character_set_results    | utf8                                                      |
| character_set_server     | latin1                                                    |
| character_set_system     | utf8                                                      |
| character_sets_dir       | /usr/local/mysql-5.6.40-macos10.13-x86_64/share/charsets/ |
+--------------------------+-----------------------------------------------------------+
8 rows in set (0.00 sec)

character_set_database和character_set_server依然是latin1的字符集,也就是說mysql後續建立的表都是latin1字符集的,不是utf8,會造成一些麻煩。所以有必要修改my.cnf。

在修改my.cnf之前一定要關閉mysql程序,不然會遇到mysql的sock不能連線的問題。

2、關閉mysqld後臺程序

  • 系統偏好設定裡面控制mysqld,避免了去找mysqld安裝位置的麻煩。

點選 Stop MySQL Server

3、修改mysql配置檔案/etc/my.cnf

sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
sudo vim /etc/my.cnf
[client]部分加入:  
default-character-set=utf8  

[mysqld]部分加入:  
character-set-server=utf8

修改完成之後,啟動MySQL

4、檢查結果

mysql> show variables like '%char%';
+--------------------------+-----------------------------------------------------------+
| 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/local/mysql-5.6.40-macos10.13-x86_64/share/charsets/ |
+--------------------------+-----------------------------------------------------------+
8 rows in set (0.00 sec)