概述
1、docker-compose
简述:这是我自己无法连接的原因,应该比较少有人遇到,搜了下相关问题并没有看到同样的原因,所以写在前面。
情景:docker-compose搭建WordPress
过程:我在最初写docker-compose的时候并没有在db项那里加上端口,加上之后重新构建就可以访问了。
cat docker-compose.yml #查看当前compose
docker-compose stop #停止
vim docker-compose.yml #编辑
docker-compose up -d --build #重新构建
docker ps #查看状态
更改前后容器端口状态变化:
netstat -tulpen # 查看网络端口
2、无用户权限
①进入MySQL容器内部
docker exec -it 容器名 /bin/bash
②进入MySQL创建远程连接用户
mysql -uroot -p #密码在docker-compose中填写了默认密码
use mysql;
create user 'test' identified by '123456';
# host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
select host,user,plugin,authentication_string from mysql.user;
# 赋予权限
grant all privileges on *.* to 'test'@'%'identified by '123456' with grant option;
# 刷新权限
FLUSH PRIVILEGES;
正常上一步没问题就可以直接连接了,如果失败的话可能是下面的原因:
3、MySQL本地绑定IP
进入MySQL容器内部的配置文件目录,修改配置文件
# 配置文件路径/etc/mysql/mysql.conf.d/mysqld.cnf
cd /etc/mysql/mysql.conf.d
cat mysqld.cnf
# 如果存在 bind-address = 127.0.0.1 将其注释掉
# 更改配置,重启容器后生效
docker-compose stop
docker-compose up -d
4、云服务器安全组策略
阿里云为例,直接搜索安全组进入,配置规则
最后,如果还是连接不上的话也可能是防火墙的原因,这里就不在赘述了。另外,操作过程中可以常用netstat -tulpen命令来查看端口是否被正常监听到。
最后
以上就是傲娇猫咪为你收集整理的云服务器Docker容器Mysql无法被远程访问原因汇总的全部内容,希望文章能够帮你解决云服务器Docker容器Mysql无法被远程访问原因汇总所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复