通过例如“导航猫”(Navicat)这样的软件我们可以看到一些东西:
解释一下右边的含义:
::1 = 127.0.0.1 = localhost(这三个东西是相等的,都是指的本机IP)
结合起来就是,允许用户 root 在 IP 为 127.0.0.1(本机)连接MySQL
那么要让远程用户访问,就这样理解,举个“梨子”:
允许用户 root 在 IP 为 123.45.67.8 连接MySQL,那么就是root@123.45.67.8
(图为在Navicat内添加用户)
(这里可以通过右键授予用户所有权限,或自己指定部分权限)
如果需要让某用户从任意IP地址均能连接MySQL,把主机那里设置为“%”就OK(建议开发阶段这样设置)
-----------------------------------------------------------------------------------------------------------------------------------------------
SQL语句设置方法:
1、同上文修改法,改root用户localhost为“%”
登录mysql
use mysql;
update user set host = '%' where user = 'root';
2、自添加用户方法
登录mysql
①使用自定义用户名、密码从任意IP地址连接
GRANT ALL PRIVILEGES ON *.* TO '自定义用户名'@'%' IDENTIFIED BY '自定义密码' WITH GRANT OPTION;
②使用自定义用户名、密码从指定IP地址连接
GRANT ALL PRIVILEGES ON *.* TO '自定义用户名'@'自定义IP' IDENTIFIED BY '自定义密码' WITH GRANT OPTION;
-----------------------------------------------------------------------------------------------------------------------------------------------
如果设置后仍发现无法实现远程连接:
1、防火墙是否阻止,可尝试暂时关闭防火墙,如果关闭防火墙能够连接,把mysql服务程序添加到
防火墙允许规则,Windows下5.6版本或以上(我的版本,供参考),添加“mysqld.exe”即可。
2、尝试重启MySQL服务,在控制面板 - 管理工具 - 服务,找到MySQL重启动一次试试。