Ubuntu下修改MySQL字符集

版权声明:本文为博主原创文章,网络精神,欢迎转载。如果转载,请注明出处。 https://blog.csdn.net/zhangyl03/article/details/52437235

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

猜你喜欢

转载自blog.csdn.net/zhangyl03/article/details/52437235