Navicat连接不上虚拟机中linux的dockers创建的mysql

发布时间:2024年01月13日

说明:这个问题可能只是我的个人问题,记录一下吧。当发现这个问题的时候,去网上搜素了一下,搜到的文章基本上都是通过在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、如果是创建了新的安全组记得要添加实例。

(我就是创建了新的安全组,然后忘记添加实例了,又浪费大量时间)

说明:其实在原有的安全组中开放3306端口就可以了。

文章来源:https://blog.csdn.net/qq_58233310/article/details/135513471
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。