- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,我通常可以通过使用 --add-host=localbox:192.168.59.3
运行容器来通过 Docker 联系我的本地主机。 ping localbox
工作得很好。问题是,我什至无法从 MySQL 服务器获得响应。 mysql -h localbox
,它在 docker 容器外工作正常,只是让我得到 ERROR 2003 (HY000): Can't connect to MySQL server on 'localbox' (111)
从内部。
我已经完成GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
我已将 bind-address = 0.0.0.0
添加到/etc/my.cnf 中。这些都没有帮助。给了什么?
上下文:我在 OS X Yosemite 上通过 boot2docker 运行所有这些。
最佳答案
所以,事实证明这是自制软件的错,设计决策确实有问题。您可以通过运行推荐的 launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
在自制软件中启动 mysql-server。但是,当检查这个文件时,你会发现绑定(bind)地址是硬编码的!
<array>
<string>/usr/local/opt/mysql/bin/mysqld_safe</string>
<string>--bind-address=127.0.0.1</string>
<string>--datadir=/usr/local/var/mysql</string>
</array>
因此,无论您在任何 my.cnf 文件中做什么,它都将始终绑定(bind)到 127.0.0.1,并且您永远无法从容器中进行查询。我的修复是直接编辑这个文件而不是提供绑定(bind)地址,这样我们就可以让/etc/my.cnf 为我们做这件事。或者,尽管我不推荐这样做,但您可以直接在此文件中更改绑定(bind)地址。
关于mysql - 通过 Docker 连接到本地主机上的 MySQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27617343/
我是一名优秀的程序员,十分优秀!