一、问题描述
前面进行了操作:Docker+MySQL实战篇1_设置MySQL定时自动备份(crontabs定时执行sh备份脚本)
之前使用docker安装mysql设置的字符集编码没问题,可以SQLyog连接,但是为了备份,改了字符集,导致出现下述情况:
之后无论怎么修改my.cnf配置文件设置编码,还是连接不上,但是mysql能正常启动打开,使用status
查看字符集
[mysqldump]
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
无论怎么修改cnf,重启mysql都没用…
二、解决思路尝试
- 修改cnf调整编码
default-character-set=utf8
、default-character-set=utf-8
、character-set-server=utf8
发现即使mysql在utf-8
的情况下连本地的mysql都打不开,改成utf8
本地可以打开,但是远程SQLyog依旧打不开… - 进入本地mysql修改指定数据库的字符集
utf8mb4
改为utf8
,远程SQLyog依旧打不开… - 验证linux的端口开放
netstat -tunlp | grep 3306
发现正常,查看阿里云安全组策略正常… - 查看mysql库下的user表已开启root用户远程登录…远程SQLyog依旧打不开…
- …
总之该检查的都检查了,还是不行…
解决
最后解决的方式是:重启服务器。可能是之前设置时区导致的问题,也可能是其他没注意的问题…
重启解决90%的问题!!!