我用的是服务器是centos7

1. 未映射端口:

mysql进程默认端口是3306,但是由于是在docker容器内,所以要将宿主机(服务器)端口映射容器内到端口。

docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql

然后要开放宿主机的3306端口,我用的是腾讯云

然后在尝试连接mysql

2. MySQL 配置问题:

MySQL 默认可能只允许本地连接。你需要确保 MySQL 配置文件 my.cnfbind-address 设置为 0.0.0.0,以允许来自所有 IP 地址的连接。

你可以在 Docker 容器内修改 MySQL 配置文件(通常位于 /etc/mysql/my.cnf/etc/my.cnf):

docker exec -it mysql-container bash
vi /etc/mysql/my.cnf
#或者  vi /etc/my.cnf  

添加bind-address配置

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0

bind-address = 0.0.0.0

注:

i  :编辑文档

Esc  :退出编辑状态

:wq   :保存编辑

3.MySQL 容器在启动过程中遇到了问题,导致其无法正常运行或已经崩溃

1.检查容器的状态以了解其是否已停止或崩溃:

docker ps -a

查找状态列中的信息。如果容器已退出,使用以下命令查看详细的容器日志,以了解为何未启动成功:

docker logs b65f23b99fe2d494cd0108148682e6f6b1f376472fc7d9492baf4059013dd4d1

2.尝试重启容器:

docker start b65f23b99fe2d494cd0108148682e6f6b1f376472fc7d9492baf4059013dd4d1

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐