【踩坑】4步解决docker中mysql无法连接SQLSTATE[HY000] [2002] Connection refused以及开启远程访问的问题
docker中常见的问题
·
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]
背景说明
docker安装了某个镜像,如某个web。然后镜像中的应用在安装时候,报错无法连接mysql。
解决方法
(这套方法其实也实现了允许mysql远程访问)
1、修改mysql配置文件中的绑定地址为允许任何来源的连接:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
然后保存并重启mysql:
sudo service mysql restart
2、修改mysql为允许任何来源的连接:
use mysql;
select user,host from user;
update user set host='%' where user='root';
FLUSH PRIVILEGES;
exit
3、查看并记下docker的ip:
ifconfig
4、将应用的mysql地址改为这个ip:
扩展思考
举一反三,其他的情况也可以参考这套方法,比如docker应用+主机redis,也是redis开bind为0.0.0.0,然后ip改为docker eth0的。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献10条内容
所有评论(0)