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;

你可能感兴趣的:(mysql,技术问题处理回顾)