详解Linux中修改mysql默认编码的方法

概述

在开发或者日常运维过程中,如果还原MySQL数据库后,数据库数据出现乱码,我们可以考虑通过修改数据库默认编码来解决。


以下以把MySQL默认编码修改为UTF-8作为例子演示修改流程:

1、先查看mysql的信息

# 查看数据库安装位置

whereis mysql

详解Linux中修改mysql默认编码的方法

# 登录数据库

mysql -u root -p 按提示输入密码

# 查看mysql状态

mysql>status

详解Linux中修改mysql默认编码的方法

2、修改my.cnf 文件

这里目录为/etc/my.cnf

vi /etc/my,cnf

#在[client ]下面加入
default-character-set=utf8
#在[ mysqld ] 下面加
character_set_server=utf8

此处有可能因为MySQL版本不同,导致上述修改方法不生效。

在实际使用过程中,基本上绝大部分MySQL都会生效,我也只曾碰到过一次修改之后不成功的,具体原因由于当时的条件限制,尚未查明。

如果有哪位知道原因的,烦请告知,不胜感激。

另,如果上述的修改方法真的出现不生效的情况,那请把[ mysqld ] 下的那行改成以下这行即可。

default-character-set=utf8

详解Linux中修改mysql默认编码的方法

3、重启mysql

重启命令如下:

service mysqld restart

详解Linux中修改mysql默认编码的方法

此时,登录mysql后可以通过 show variables like "character%"; 来查看修改结果,如果出现的结果与修改的目标编码一致,则修改成功。

详解Linux中修改mysql默认编码的方法


以上是修改为utf-8编码的一个演示过程,生产环境还是需要根据开发要求做对应的调整。

这里注意utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。

所以有些生产环境会采用utf8mb4编码,其中好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。

后面会分享更多关于DBA方面内容,感兴趣的朋友可以关注下!!

详解Linux中修改mysql默认编码的方法

相关推荐