Docker安装MySQL后,为什么本地无法连接?

docker安装mysql后,为什么本地无法连接?

docker安装mysql后无法从本地连接

在使用docker图形界面运行mysql镜像后,您可能遇到从本地无法连接到mysql的情况。尽管镜像报告"等待连接"并且端口号为3306,但本地连接仍然无法成功。

原因

此问题通常是由以下原因引起的:

  • docker映射的端口可能不是3306(默认端口)。
  • mysql用户可能未配置为允许远程连接。

解决方案

1. 检查端口映射

docker可能将mysql容器映射到本地系统上的不同端口。要查找映射的端口,请使用以下命令:

docker port [container_id] 3306

该命令将显示映射的端口。例如,它可能显示为:

33060/tcp -> 3306/tcp

这表示docker将容器中的3306端口映射到本地系统的33060端口。因此,您需要连接到33060端口。

2. 修改mysql用户设置

要允许远程连接,您需要修改mysql容器中的mysql用户设置。可以使用以下命令编辑mysql配置:

docker exec -it [container_id] bash

vi /etc/mysql/mysql.conf.d/mysqld.cnf

在配置文件中找到以下行:

# bind-address        = 127.0.0.1

将该行注释掉或将其更改为:

bind-address        = 0.0.0.0

这将允许mysql用户从任何ip地址接受连接。

连接到docker mysql

执行上述步骤后,您应该能够使用以下命令连接到docker mysql

mysql -P 33060 -u root -p

其中,33060是映射的端口号。

以上就是Docker安装MySQL后,为什么本地无法连接?的详细内容,更多请关注其它相关文章!