(mysql+php+apache)127.0.0.1和localhost可以连接mysql服务器,而ip却不能

127.0.0.1和localhost可以连接mysql服务器,但是对应的ip却不能,并且报错:

Can‘t connect to MySQL server  on  "10.0.73.25"(111) 

可能是以下原因:

1.网络不通:ping 10.0.73.25  发现能ping通 ,排除此原因。

2.mysql配置问题:打开mysql的配置文件mysql.cnf(linux下的路径一般为/etc/mysql/mysql.cnf),产看skip-networking和bind_address配置项

  ship-networking:其用来跳过TCP/IP通信。只能通过本地SOCKET进行连接mysql,阻断了外部的网络连接。

                           可以通过mysql>show variables like “%skip-networking%”查看远程访问是否开启。

                           为off说明远程访问没有被阻塞,排除此原因。

  bind_address:其用来绑定mysql的ip地址。默认绑定本地连接即bind_addres=127.0.0.1。可以通过注释掉bing_address或者设置为0.0.0.0来绑定所有ip。

                        查看mysql.cnf中bing_address确实为127.0.0.1,修改为0.0.0.0。

 重启mysql,发现仍然不能连接mysql服务器

3.可能是mysql的root用户的host设置或权限问题

查看mysql的mysql数据库中的user表,发现root用户的host主机为localhost,只允许localhost访问,因此把root的host改为“%”。

可以通过mysql>show grants for root@“%” 查看root用户“%”主机的权限,如果权限不够需要设置其权限。

flush privileges重新加载权限,重启mysql,localhost,127.0.0.1和10.0.73.25都可以连接mysql服务器。

 

mysql.cnf配置分类详解:http://www.cnblogs.com/toby/articles/2198697.html

参考博客:http://blog.csdn.net/qustdjx/article/details/26937325

 

  

   

 

 

posted on 2014-11-21 15:17  jly553  阅读(594)  评论(0编辑  收藏  举报