mysql:尝试使用远程IP连接到本地主机时,连接被拒绝
当我尝试使用本地mysql数据库的远程ip地址连接到该数据库时,访问被拒绝。当我尝试从外部机器连接到同一个数据库时,它可以正常工作。当我使用localhost连接到本地数据库时,它也能正常工作。例如,如果数据库服务器具有ip 1.2.3.4,则我会得到以下结果:mysql:尝试使用远程IP连接到本地主机时,连接被拒绝,mysql,Mysql,当我尝试使用本地mysql数据库的远程ip地址连接到该数据库时,访问被拒绝。当我尝试从外部机器连接到同一个数据库时,它可以正常工作。当我使用localhost连接到本地数据库时,它也能正常工作。例如,如果数据库服务器具有ip 1.2.3.4,则我会得到以下结果: # From the db server mysql -u username -h localhost -p #works perfectly mysql -u username -h 127.0.0.1 -p #works perfe
# From the db server
mysql -u username -h localhost -p #works perfectly
mysql -u username -h 127.0.0.1 -p #works perfectly
mysql -u username -h 1.2.3.4 -p #Access denied
# From any other machine
mysql -u username -h 1.2.3.4 -p #works perfectly
我可以做什么来允许本地访问我的数据库使用其远程ip地址?数据库服务器的操作系统是Fedora 15,MySQL版本是5.5.23。我自己找到了解决问题的方法,但我仍然不太明白为什么它不起作用: 我已在主机%和本地主机上授予该用户权限:
# Before
+-----------------+------------+
| Host | User |
+-----------------+------------+
| % | username |
| localhost | username |
+-----------------+------------+
通过这些设置,我得到了上面显示的结果。当我向主机上的那个用户授予特权时,它突然起作用了
# After
+-----------------+------------+
| Host | User |
+-----------------+------------+
| % | username |
| localhost | username |
| <myIpAddress> | username |
+-----------------+------------+
#之后
+-----------------+------------+
|主机|用户|
+-----------------+------------+
|%|用户名|
|localhost |用户名|
||用户名|
+-----------------+------------+
显然%适用于远程连接,但不适用于本地连接。此特定问题可能由主机名解析引起 我已通过从my.cnf配置文件中删除此变量解决了我的特殊情况: 跳过名称解析
当然,您可以在my.cnf中添加一个磅号来标注变量,也可以在确保备份后将其删除。尝试编辑/添加
bind address=0.0.0
到[mysqld]
文件的/etc/mysql/mysql.conf.d/mysqld.cnf部分,然后重新启动mysql服务。您正在运行防火墙吗?防火墙设置是什么?网络设置中的“拒绝连接”提示。如果mysql拒绝访问,它会这样说:“错误1130(HY000):不允许主机'1.2.3.4'连接到此mysql服务器”@Justinᚅᚔᚈᚄᚒᚔ - 我正在运行ip表,但没有其他功能@Olaf-抱歉,我犯了一个错误:我收到了错误1045(28000):访问被拒绝
,而不是连接被拒绝。