记录一次阿里云服务器上docker下安装mysql无法远程连接的问题

当我们docker run 起mysql容器之后,通过远程客户端连接数据库却发现无法连接如图:

可以看到箭头部分,该库的root用户只允许当前主机连接,所以要登录到数据库中,修改root的连接方式为‘%’

解决办法:
1进入到mysql容器内部

docker exec -it mysql_slave3 bash 注:mysql_slave3为容器名称或容器id

2登录mysql mysql -u -root -p

3登录成功后修改访问限制

mysql> grant all privileges on . to root@"%" identified by “password” with grant option;

OK,再次登录,访问成功!
————————————————

原文链接:https://blog.csdn.net/little_pig_lxl/article/details/89509311

先安装了mysql8.0无法用Navicat远程连接,然后百度各种教程给数据库赋予远程连接的权限还是没什么卵用,后来又重新安装mysql5.7的版本依旧没什么卵用,后来。。。在阿里云服务器的安全组中开放了3306端口。。。就好了。。愚蠢的一天啊。。

(同时记录一下docker中的mysq,如果docker重启,其中的数据将会丢失,所以需要挂载到宿主机)
————————————————

原文链接:https://blog.csdn.net/sinat_39882894/article/details/89187809

首先:很重要的一点如果配置没问题但无论如何也连不上请检查你自己的网络是否有问题,我当时搞了三个小时最后发现用我们学校的校园网无论如何也连不上,但换成自己的热点就能连上。

配置MySQL:

1:添加阿里云安全组规则的MySQL 3306端口

点击左侧导航栏安全组

点击配置规则

点击添加安全组规则

设置协议类型为MySQL3306 ,授权对象为所有ip

2:打开更改MySQL配置文件

1:打开配置文件 vi /etc/mysql/mysql.conf.d/mysqld.cnf (要有权限才能更改)

2:注释掉只允许本地访问的这一行 address = 127.0.0.1

   或者将改成允许地址改成 0.0.0.0

3:在MySQL用户表添加用户并将host设置未所有IP都能访问

登录:mysql -u root -h localhost -p

打开数据库:use mysql

添加所有IP都可以访问的用户:

grant all on . to ‘用户名’@’%’ identified by ‘密码’;

或者也可以给root用户设置为所有ip都可访问:

update user set host=’%’ where user=‘root’ and host=‘localhost’;

刷新权限:flush privileges;

查看用户权限:select host,user from user;

退出MySQL exit

重启MySQL /etc/inint.d/mysqld restart

4:测试连接:

workbunch:

navicat:

————————————————

原文链接:https://blog.csdn.net/qq_34696236/article/details/80418364

发布了29 篇原创文章 · 获赞 0 · 访问量 1193

猜你喜欢

转载自blog.csdn.net/flipped___/article/details/104401482