MySql 只能localhost 和 127.0.0.1访问 不能通过其他IP访问

    问题描述:想在远程主机访问本机的MySql时,总是无法连接。本机也只能用localhost和127.0.0.1访问,不可以用192.168.*.*等IP访问。

 

  解决方案:cmd下连接到mysql,执行一下命令: grant all privileges on *.* to root@'%' identified by 'your root password';

        返回信息:Query OK, 0 rows affected (0.03 sec)

        之后就远程主机就可以正常连接本机的MySql了。

        关于这条命令啥意思,大家自己百度下吧。

 

  过程说明:首先,远程主机无法访问本机服务,情况可能是有很多的,如防火墙、网络不通等原因。这些本文都不做考虑。

        在没有执行上面的命令之前,在MySql下的“mysql”数据库下,有个“user”表,里面有如下数据(见图):

                     

        执行命令之后,“user”表增加了一条数据(见图):

                     

 

        当然,用户可以是自己另外新建的用户,不一定非得root。

        刚开始一直出错,是因为使用了这个命令: grant all privileges on *.* to root@'%';      ---->后面没有加  identified by 'your root password'

        错误信息:ERROR 1133 (42000): Can't find any matching row in the user table 

 

          完毕!

        

posted @ 2012-08-24 15:01  十年一贱  阅读(11428)  评论(0编辑  收藏  举报