当前位置:Gxlcms > mysql > [errorhandle]Linux下配置mysql的编码

[errorhandle]Linux下配置mysql的编码

时间:2021-07-01 10:21:17 帮助过:35人阅读

mysql的默认编码是latin1,对汉字的支持不好,需要编辑配置文件,设置mysql的默认编码。 这个过程网上的教程很多,大家可以参考 mysql 修改编码格式 MySQL修改编码设置及乱码问题 linux下的mysql配置修改 途中碰到了好几个坑,真是恶心的不行。 坑1,找不到m

mysql的默认编码是latin1,对汉字的支持不好,需要编辑配置文件,设置mysql的默认编码。
这个过程网上的教程很多,大家可以参考
mysql 修改编码格式

MySQL修改编码设置及乱码问题

linux下的mysql配置修改

途中碰到了好几个坑,真是恶心的不行。

  1. 坑1,找不到my.cnf文件
    教程里说linux下mysql配置文件的路径在/etc/my.cnf,然而找不到。
    百度了一下,说是有可能出现这种情况。囧,有经验的话还可以自己写一个。然而我没经验。
    控制台下输入“find / -name my*.cnf”,出现了几个。应该是mysql提供的示例。
    这里写图片描述
    随便选了一个my-small.cnf,按照教程里的说法加了几行设置编码的语句,放到/etc/my.cnf下
    控制台输入“service mysql restart”,重启mysql

  2. 坑2,服务器重启失败
    输入重启命令后报错,
    这里写图片描述
    把my.cnf文件去掉就可以正常重启了,可能是my.cnf语法问题。
    查看mysql的日志,控制台输入“vim /usr/local/mysql/data/iZ28bvt8qj9Z.err”
    根据操作的时间锁定日志内容,看到一行信息:
    这里写图片描述
    上网搜了下,MYSQL5.5修改字符集报错:unknown variable ‘default-character-set=utf8’
    把配置文件中有一行[mysqld] 下的“default-character-set = utf8”注释掉,用“character_set_server = utf8”取代。
    重启,问题解决

最终my.cnf内容如下,本来mysql提供的还有很多内容,被我在dubug的过程中一口气删掉了。如果有碰到同样问题的朋友拿来用就很方便了。

[mysql]
default-character-set = utf8

[mysqld]
#default-character-set = utf8
character_set_server = utf8

[mysql.server]
default-character-set = utf8

[mysqld_safe]
default-character-set = utf8

[client]
default-character-set = utf8

人气教程排行