centos 下安装mysql后,远程访问

2方面原因 1 防火墙需要开启3306端口 2 mysql内部需要赋权限

若Mysql服务器设置了远程访问的用户和权限,但远程连接的时候一直接错 
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.114' (113) 
则有可能是防火墙的原因 
  
方法一:关闭防火墙 
 /etc/init.d/iptables stop 

方 法二:修改防火墙配置文件: vi /etc/sysconfig/iptables 增加下面一行: -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 
(也可以复制80端口那行,改一下端口号就可以了) 如果想开通21等端口,只需要将3306换成21等要开放的端口就可以了。 配置后,重新启动iptable service iptables restart 这时就可以从其他机器访问Mysql了。 
注 意: -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited 
-A   RH-Firewall-1-INPUT   -j   REJECT   --reject-with   icmp-host-prohibited    是拒绝icmp访问,对于其它的报文返回一个主机禁止访问的错误 
开通3306 端口的行必须在icmp-host-prohibited前

 

    1. /usr/local/mysql/bin/mysql -u root -p  (进入mysql)  
    2. use mysql;  
    3. SELECT `Host`,`User` FROM user;  
    4. UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;  
    5. flush privileges;  
    6. 注意在mysql 命令行形式下一定要输入";".

 

posted @ 2014-03-17 14:03  GoneWithWind  阅读(150)  评论(0编辑  收藏  举报