尝试使用命令行连接
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'@'%';