MySQL无法远程连接解决方案

1、查看/etc/mysql/my.cnf配置文件是否只允许本地连接

  注释配置:#bind-address = 127.0.0.1,重启MySQL Server

2、防火墙(我用的是iptables)禁止了3306端口访问

  /etc/sysconfig/iptables配置文件添加3306端口,即添加以下内容再重启防火墙即可:

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

3、MySQL没有授予相应权限

  授权用户username使用password从任何主机连接到MySQL Server,并授予所有数据库所有表的全部操作权限

mysql>GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

允许用户username使用password从IP为192.168.1.9的主机连接MySQL Server,并授予所有数据库所有表的全部操作权限

mysql>GRANT ALL PRIVILEGES ON *.* TO 'username'@'192.168.1.9' IDENTIFIED BY 'password' WITH GRANT OPTION;

允许用户username使用password从IP为192.168.1.9的主机连接MySQL Server,并授予dsp数据库下的所有表的全部操作权限

mysql>GRANT ALL PRIVILEGES ON dsp.* TO 'username'@'192.168.1.9' IDENTIFIED BY 'password' WITH GRANT OPTION;

4、修改mysql数据库中user表中相应用户username的host限制

$mysql -h 127.0.0.1 -P 3306 -u root –p
mysql>use mysql;
mysql>update user set host = '%' where user = 'username';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;

OK,:)

上一篇:一、Google开发者工具功能页面截图


下一篇:leecode第一百二十二题(买卖股票的最佳时机II)