查询出docker容器中mysql的container_id

docker ps 

 

登录mysql容器,其中mysql就是上面查出来的container_id

docker exec -it mysql bash
mysql -uroot -p

 

授权

GRANT ALL ON *.* TO 'root'@'%';

 

 

刷新权限

flush privileges;

 

   此时,还不能远程访问,因为Navicat只支持旧版本的加密,需要更改mysql的加密规则

   更改加密规则 password就是启动容器的时候的密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

更新root用户密码 

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; 

 

刷新权限

flush privileges;
exit;//退出mysql

 

开启允许对外访问的网络端口:

 

/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT #开启8000端口 

/etc/rc.d/init.d/iptables save #保存配置 

/etc/rc.d/init.d/iptables restart #重启服务 

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐