mysql_数据库乱码(是配置不生效)

原因是, character_set_server 变量不是utf-8编码,编码配置不生效!

于是配置 /etc/mysql/mysql.conf.d/ 目录下的mysqld.cnf 文件

检查发现,也配置了加载 /etc/mysql/mysql.conf.d/ 目录,配置就是不生效,让我开始怀疑人生!

搞了老半天,各种百度还不能解决。。。于是决定查看一下 /etc/mysql 目录下还有哪些配置文件

发现在conf.d文件夹下还有个 mysql.cnf 配置文件

于是决定尝试把配置加在这个文件里,添加以下两个配置项

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

配置好之后,重启mysql : docker restart mysql5.7

再查看数据库,竟然发现生效了!character_set_server 变量奇迹般改成utf-8了!!!

在后台页面插入一条数据,发现已经不是乱码了

于是我产生了一个疑惑:为什么 /etc/mysql/mysql.conf.d/ 目录下的文件在linux系统的docker中生效而在windowns 的docker中却不生效呢?

经过回想,我怀疑 /etc/mysql/mysql.conf.d/mysqld.cnf 文件是我自己在windows 对应的映射文件夹下手动创建的,所以不生效。这个配置文件应该要在要在容器中创建才会生效。后来我把已生效的配置注释掉,在容器中的/etc/mysql/mysql.conf.d/ 目录下创建了 mysqld.cnf 文件,添加上配置,生效了。这也证实了我的怀疑是没有错的!

总结:坑都是自己埋的!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序那点事儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值