一、檢查默認字符集
mysql> show variables like '%char%';
+--------------------------+-----------------------------------------------------------+
| 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/local/mysql-5.7.19-macos10.12-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不能連接的問題。
二、關閉 mysqld 后臺進程


三、修改 mysql 配置文件
sudo vi /etc/my.cnf
添加如下內容
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
然后重啟 mysql
四、檢查結果
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.7.19-macos10.12-x86_64/share/charsets/ |
+--------------------------+-----------------------------------------------------------+
8 rows in set (0.01 sec)