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