欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

[error handle]Linux下配置mysql的编码

程序员文章站 2024-01-10 11:46:06
...

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提供的示例。
    [error handle]Linux下配置mysql的编码
    随便选了一个my-small.cnf,按照教程里的说法加了几行设置编码的语句,放到/etc/my.cnf下
    控制台输入“service mysql restart”,重启mysql

  2. 坑2,服务器重启失败
    输入重启命令后报错,
    [error handle]Linux下配置mysql的编码
    把my.cnf文件去掉就可以正常重启了,可能是my.cnf语法问题。
    查看mysql的日志,控制台输入“vim /usr/local/mysql/data/iZ28bvt8qj9Z.err”
    根据操作的时间锁定日志内容,看到一行信息:
    [error handle]Linux下配置mysql的编码
    上网搜了下,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