解决mysql中只能通过localhost访问不能通过ip访问的问题

Mysql 默认是没有开启这个权限的(只允许使用 host:localhost,或者 host:127.0.0.1),如果想用  host:192.168.1.* ,来访问mysql ,需要手动开启这个权限
进入Mysql终端输入这个命令

1.打开cmd窗口,进入MySql安装的bin目录

2.执行命令登录数据库,之后会出现一行要你输入密码的

  mysql -u root -p

3.执行以下命令分配新用户:

  grant all privileges on *.* to '用户名'@'IP地址' identified by '密码';

  

4.执行完上述命令后用下面的命令刷新权限

  flush privileges;

5.之后关闭mysql服务,然后启动mysql服务,大功告成

===================================================================================

这是一中快速配置方法:

帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 或添加一个用户为“%”  。    

想让局域网中的所有机器都能连接MySQL数据库,首先要给MySQL开启远程连接的功能,在MySQL服务器控制台上执行MySQL命令:

grant all privileges on *.* to root@"%" identified by 'abc' with grant option;  
flush privileges;

其中上面两行代码的意思是给从任意ip地址连接的用户名为root,密码为abc的用户赋予所有的权限。其中的"%"为任意的ip地址,如果想设为特定的值也可以设定为特定的值(以通配符%的内容增加主机/IP地址,也可以直接增加IP地址)。

做完这些之后,局域网内的mysql服务器可以访问了。

 
 
原文地址:https://www.cnblogs.com/summary-2017/p/8463438.html