gpt4 book ai didi

mysql - 如何将 mysql 工作台连接到在 docker 中运行 mysql?

转载 作者:IT老高 更新时间:2023-10-28 12:36:29 24 4
gpt4 key购买 nike

我在 docker 容器内使用 mysql 服务器并且能够在 docker 内访问。如何在我的本地(主机)上运行的 mysql 工作台中创建连接。

最佳答案

部署后MySQL默认有以下连接限制:

mysql> select host, user from mysql.user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| localhost | healthchecker |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+---------------+
4 rows in set (0.00 sec)

显然,出于安全考虑,您将无法在 docker 镜像之外连接到它。如果您需要更改它以允许 root 从任何主机连接(例如,出于开发目的),请执行以下操作:

  1. 使用所需的所有端口映射启动您的 mysql 镜像:

    docker run -p 3306:3306 --name=mysql57 -d mysql/mysql-server:5.7

或者,如果需要完整的端口映射:

docker run -p 3306:3306 -p 33060:33060 --name=mysql57 -d mysql/mysql-server:5.7
  1. 如果这是全新安装 - 获取默认密码:

    docker 日志 mysql57 2>&1 | grep 生成

  2. 使用mysql客户端直接连接docker中的mysqld:

    docker exec -it mysql57 mysql -uroot -p

  3. 如果这是全新安装,系统会要求您使用 ALTER USER 命令更改密码。去做吧。

  4. 运行 SQL:

    update mysql.user set host = '%' where user='root';

  5. 退出 mysql 客户端。

  6. 重启容器:

    docker restart mysql57

现在您可以从 MySQL Workbench 连接到

host: `0.0.0.0` 
port: `3306`

查询将显示所有更改后:

select host, user from mysql.user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| % | root |
| localhost | healthchecker |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+---------------+

关于mysql - 如何将 mysql 工作台连接到在 docker 中运行 mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33827342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com