我在公司的远程开发CentOS机器上部署了mysql服务,我确定该服务是打开的,并且可以从其他远程linux机器访问。
但是,我无法从我自己的Windows PC连接它。我尝试了mysql工作台客户端和HeidiSQL客户端,都失败了。我可以通过远程IP地址ping通。我在谷歌上能找到的东西都试过了。像
- 将
bind-address = 127.0.0.1
添加到cnf文件中,注释掉skip-networking
。 - 我也尝试了另一个问题的答案,不能在mac上使用MySQL工作台连接到远程服务器,这允许所有机器都可以访问该服务。
但是我的电脑仍然不能连接它,报告代码10060错误。那我该怎么办呢?
这个bind-address = 127.0.0.1
配置选项意味着你的mysql服务器只接受来自localhost
的连接,这是你实际的CentOS机器。确保设置bind-address = 0.0.0.0
。
同时,确保:
- 你的windows电脑和CentOS电脑有连接
- 没有防火墙阻止外部连接到本地mysql端口
关于向整个互联网开放mysql实例的潜在安全问题-首先使它工作,然后使它更好
我在这里遇到了同样的问题,我发现我们需要创建一个不是root用户的用户。在我的案例中,我不知道为什么,问题是。
解决方案步骤:
1 -检查防火墙(为3306端口创建规则或禁用)
2 -注释# bind-address=0.0.0.0 at [mysqld] config optin in C:ProgramDataMySQLMySQL Server 5.7my.ini
3 -创建远程访问用户:
mysql> CREATE USER 'net'@'%' IDENTIFIED BY '123';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'net'@'%' WITH GRANT OPTION;