昨天在捣鼓 coolq_npc 项目的时候,发现在容器内 Ubuntu 上安装的 mysql-server 怎么也登不上去,总是出现 2013 错误。
在通过 Google 查询问题原因时,很多人说的重启,或者调整打开文件数限制,以及各种解决手法都试过了,2013 雷打不动! 最后没办法了,只能去研究配置文件,在 /etc/mysql/mysql.conf.d/mysqld.cnf
配置中发现了这段信息:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
意思为配置了 127.0.0.1(默认) 之后,就只能通过本地登录,即使在用户授权里面使用了 %
也不行。而我是通过 docker 里面的端口映射,从宿主机进行登录的,故无法进行登录。 通过将 bind-address
修改为 0.0.0.0
并重启后,登录正常。