docker - 无法使用 SequelPro 连接到 Docker 容器内的 MySQL
问题描述
如何在我的 mac 本地托管的 docker 容器中连接到 MySQL?我正在尝试通过 SequelPro 连接,甚至无法让测试连接正常工作。
这是我的 Docker 命令:
docker run -it --name rodneys_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=demo mysql
我可以通过命令行连接:
docker exec -it rodneys_mysql mysql -uroot -p
我知道如何获取 docker 容器的 ip 地址:
docker inspect <container id> | grep "IPAddress"
但我无法从我的主机通过 SequelPro 连接。
解决方案
通过使用127.0.0.1
而不是解决localhost
,因为localhost
这意味着 docker 容器本身。另外不要忘记授予用户连接权限:
grant all privileges on *.* to 'root'@'172.17.0.1' identified by 'password';
或者对于所有主机:
grant all privileges on *.* to 'root'@'%' identified by 'password';
推荐阅读
- java - 不知道如何修复:错误:不兼容的类型:可能有损从 double 到 int 的转换
- c# - C#中是否有注解来迭代序列化创建的xml中的数组元素的名称?
- c# - 有什么方法可以检测对象是什么 ui 类型?
- node.js - 条纹“没有这样的价格”
- laravel - Laravel:key() 期望参数 1 是数组,给定整数
- markdown - 标准化 DITA:将主题拆分为单独的文件?
- shell - 使用 Ansible 将给定路径中的子目录和文件移动到父目录
- ssh - 有没有办法使用 gcloud compute ssh 实用程序远程执行命令
- node.js - 从 index.hml 加载 manifest.json 时 React/Electron Production Build 给出 CORS 错误
- python - 使用python访问照相手机的问题