远程连接阿里云上的Mysql,连接不上!

clipboard.png
图片描述

除了分配权限之外,还有其他要配置的么?

阅读 10.6k
3 个回答

可能有两个原因,一个是因为浏览器拦截,可以使用

service iptables stop

解决,但是,这个比较危险。

第二个,把127.0.0.1改成localhost在配置里的bind-address,配置可能在

/etc/mysql/my.cnf

或者

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

找到bind-address后改成

bind-address = 127.0.0.1

如果找不到配置,也可以用find命令搜索

find / -name mysqld.cnf

find / -name my.cnf

我遇到的问题上面都没解决,阿里云有个安全组,设置3306开放就可以访问了。图片描述

按照 @icedcoke 的方法, 开放3306端口后解决了问题, 感觉阿里云真的皮. 之前邮件端口也是阿里云不能用.

参考链接: https://help.aliyun.com/knowl...

------ ⚠️重要补充 ------

按照上面的方法, 发现只是能连上数据库, 但还是不能操作数据库.后来发现还是要修改Bindadress

配置文件路径: /etc/mysql/mysql.conf.d/mysqld.cnf

需要把BindAdress从 127.0.0.1(只允许localhost) 改为 0.0.0.0(允许所有)

参考链接: http://jpuyy.com/2013/07/mysq...

除此之外, 还建议检查一下MySQL User 的Host选项. 需要是 % 而不是 localhost.

简单总结一下, 要让MySQL实现远程连接:

1.确保 MySQL 允许的 Host 是 % 而不是 localhost, 在 PHPMyAdmin 面板可以查看
2.确保 你的服务器开启了3306端口(各类防火墙也会影响)
3.确保 BinsAdress 正确配置, 路径 /etc/mysql/mysql.conf.d/mysqld.cnf

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题