我是靠谱客的博主 傲娇猫咪,最近开发中收集的这篇文章主要介绍云服务器Docker容器Mysql无法被远程访问原因汇总,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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无法被远程访问原因汇总所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部