1.防火墙未开启3306
或防火墙未关闭
service iptables stop
service firewalld stop
2.mysql用户表没有添加%主机用户
use mysql
select user,host from user
delete from user where user='root' and host='%' 注意:有多余的root再删。
update user set host='%' where user='root'
flush privileges;
3.navicat客户端不支持mysql新版的加密算法
用新版本的navicat
4.docker-compose使用的mysql地址是服务名,所以php配置文件不能用localhost访问,要用对应的服务名