远程登陆数据库的时候出现了下面出错信息:
ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx',
如果你想用户Remote从ip为192.168.154.1的主机连接到mysql服务器,并使用123456作为密码
3). 防火墙禁止了3306端口,以iptable为例
4). 修改MySQL的配置文件/etc/mysql/my.cnf,因为默认3306端口只允许本地访问的,注释掉这行(注意这里,往往问题就出在这里)
#bind-address = 127.0.0.1
然后重启Mysql,/etc/init.d/mysql restart
ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx',
本人最后关于MySql数据库无法远程连接的问题可以归结为以下几点:
1). 没有授予相应的权限:
例如,你想root使用123456从任何主机连接到mysql服务器。
<pre name="code" class="sql">mysql> grant all privileges on *.* to root@'%' identified by '123456'
如果你想用户Remote从ip为192.168.154.1的主机连接到mysql服务器,并使用123456作为密码
mysql> GRANT ALL PRIVILEGES ON *.* TO Remote@'192.168.154.1' IDENTIFIED BY '123456';
mysql> FLUSH RIVILEGES
<strong>2).修改mysql数据库中的user表使相应的用户能从某一主机登陆</strong>
mysql -u root –p
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
3). 防火墙禁止了3306端口,以iptable为例
vi /etc/sysconfig/iptables ps: iptables设置 |
#bind-address = 127.0.0.1
然后重启Mysql,/etc/init.d/mysql restart