1、背景描述
默认情况下,MySQL 只允许本地登录,即只能在安装 MySQL 数据库所在的主机环境中访问。
在实际开发和使用中,一般需要访问远程服务器的数据库,此时就需要开启服务器端 MySQL 的远程访问权限。
2、查看MySQL的用户表
如上图所示,Host 列指定了允许用户登录所使用的 IP ,比如 user=root、Host=localhost ,表示 root 账号只能通过本机客户端登录。
“%”是一个通配符,如果 Host=% ,表示所有 IP 都有访问权限。
use mysql;
select user,host from user;
3、开启远程访问
3.1、改表法(方式一)
顾名思义,该方法就是直接修改更改“mysql”数据库里的“user”表里的“host”列,将“localhost”改为“%”。
update user set host='%' where user='root';
注意:本例没有使用该方式。
3.2、授权法(方式二)
如上图所示,通过 GRANT 命令可以授予远程主机的访问权限。
- 赋予任何主机的访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '访问密码' WITH GRANT OPTION;
- 或赋予指定主机(IP地址)的访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.51.167' IDENTIFIED BY '访问密码' WITH GRANT OPTION;
- 赋予访问权限后,需要刷新权限表:
flush privileges;
4、查看授权远程访问的效果
如上图所示,MySQL 的用户表多了一行记录, user=root、Host=% ,表示 root 账号能通过任何 IP 地址客户端登录。
本文参考
【1】【明月一壶酒】【 MySQL开启远程访问权限】【CSDN】【 2023-06-19】
【2】【CoderJia】【mysql 如何开启远程访问权限】【知乎】【2023-11-24】
标签:数据库,访问,user,MySQL,权限,root,远程 From: https://www.cnblogs.com/Javaer1995/p/18193862