一沙一世界, 一花一天堂。

linux中mysql数据库编码问题

[Linux系统] 韩玉龙 2017-05-24 15:54:23 点击率:4042次

刚刚把window系统中mysql数据库中的数据导入了linux服务器中mysql中,结果出现数据乱码,查了一下资料,找到了解决的方式,在这里给大家分享一下

mysql> show variables like '%character%';

忘了截图不好意思,我的是system为utf8,其余的不是


1. 找到mysql的配置文件,拷贝到etc目录下

把/usr/share/mysql/my-large.cnf 复制到 /etc/my.cnf

命令:cp /usr/share/mysql/my-large.cnf  /etc/my.cnf

2. 打开my.cnf修改编码

在[client]下增加default-character-set=utf8

在[mysqld]下增加default-character-set=utf8

如果修改后启动失败则把在[mysqld]下改为character-set-server = utf8

加上init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

因为本人技术不到家,直接用的WinSCP工具把my-large.cnf下载到本电脑添加内容修改名称又上传到了etc文件中,哈哈

WinSCP下linux中目录


my.cnf文件

3. 重新启动mysql(提供2种方法)

service 启动:service mysqld restart(我的找了下是mysql,所以使用 service mysql restart 启动的)
mysqld 脚本启动:/etc/inint.d/mysqld restart


输入show variables like '%character%';



编码修改搞定,将数据重新导入一遍,乱码消失。