Docker里的Mysql无法连接,连接一段时间超时。ERROR 2013 (HY000): Lost connection to MySQL server at

尝试使用命令行连接

mysql -h xxx.xxx.xxx.xxx -P 3306 -u root -p 123456

如果报错:

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 "Internal error/check (Not system error)"

请重启docker服务
然后再次启动容器

如果不是这种报错,请检查Mysql版本,如果为8.0及以上版本;需要注意,该版本密码认证机制已经升级,有些客户端未能兼容,请使用新的认证方式修改Mysql密码
https://www.cnblogs.com/xwgli/p/15066855.html

还有就是,所登录的用户是否允许任意主机连接

use mysql;
select user,host from user;

仅允许本地连接:root@localhost
允许任意连接:root@%

如果发现为:root@localhost
不要直接修改此表

可以新建一个用户,并赋予权限

#Mysql8.0:

#添加远程登录用户
CREATE USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'passwd!';

#赋予权限
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';

版权声明:本文为Deng_Xian_Sheng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。