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 [email protected]“%” 查看root用户“%”主机的权限,如果权限不够需要设置其权限。
重启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