说明:这个问题可能只是我的个人问题,记录一下吧。当发现这个问题的时候,去网上搜素了一下,搜到的文章基本上都是通过在mysql中设置允许远程访问解决的,然后我也跟着尝试了一下,问题并没有解决。后面就乱七八糟的折腾了一天,最终通过在云服务器的安全组中开放3306端口得以解决。
一、问题
二、开放mysql允许远程访问
1、保证docker容器中的mysql处于打开状态
2、进入容器内部
docker exec -it mysql /bin/bash
3、登录mysql
mysql -uroot -p
4、给root用户分配远程访问权限
GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTION;
(注意,后面的分号不可省)
5、刷新生效
FLUSH PRIVILEGES;
三、开放云服务器的3306端口
四、成功!
五、注意事项
1、尝试一下关闭linux虚拟机中的防火墙或者开放3306端口
你可能用到的指令
# 查看防火墙状态
sudo systemctl status firewalld
# 临时关闭防火墙
sudo systemctl stop firewalld
# 永久关闭防火墙
sudo systemctl disable firewalld
# 开放3306端口
sudo firewall-cmd --permanent --add-port=3306/tcp
# 确认端口是否开放
sudo firewall-cmd --list-all
2、如果是创建了新的安全组记得要添加实例。
(我就是创建了新的安全组,然后忘记添加实例了,又浪费大量时间)
文章来源:https://www.toymoban.com/news/detail-795835.html
说明:其实在原有的安全组中开放3306端口就可以了。文章来源地址https://www.toymoban.com/news/detail-795835.html
到了这里,关于Navicat连接不上虚拟机中linux的dockers创建的mysql的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!