我现在已经和这个人争斗了几天,我已经尝试了在这个问题上的其他各个帖子中提到的所有内容,但我没有更接近解决方案。
我已确认已准备好正确的防火墙规则以允许连接。
我已经检查了my.ini文件 有趣的是,这里没有'bind-address'或'skip-networking'语句。 最初配置服务器的人可能已经删除了这些而不是将它们评论出来。
我为指定远程IP地址的用户运行了MySQL Grant All命令。 IE:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'myremoteIP' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
该命令只接受密码的哈希代码,所以我不得不从现有的授权中复制它,我认为这不是问题。
据我所知,这应该是我需要做的一切,但它仍然无法连接。我错过了什么吗?
更新: 关于这一点的更多信息。当我跑
时netstat -ano
它只显示3306在127.0.0.1上收听 我原以为,因为我的cfg文件中没有绑定地址,所以应该监听0.0.0.0 ??
所以我认为我的问题应该是: 如果未在my.ini文件中设置bind-address,则可以设置其他地方吗?
答案 0 :(得分:0)
您可以执行以下操作:
1)在RedHat / CentOS实例上禁用或编辑SELinux(setenforce 0)
2)在防火墙中打开端口3306(iptables)
上的连接3)尝试从远程计算机上对此端口进行远程登录
GL
答案 1 :(得分:0)
终于解决了!
结识了一些聪明的' person已将选项文件更改为从其他位置读取。找到绑定地址设置为127.0.0.1的文件,将绑定地址注释掉,现在它就像一个魅力:)
感谢那些帮我解决问题的人。
答案 2 :(得分:0)
编辑/etc/mysql/mysql.conf.d/mysqld.cnf然后在绑定地址下更改值为0.0.0.0保存然后重启mysql