MySQL数据库开启远程访问权限

1、背景描述

默认情况下,MySQL 只允许本地登录,即只能在安装 MySQL 数据库所在的主机环境中访问。

在实际开发和使用中,一般需要访问远程服务器的数据库,此时就需要开启服务器端 MySQL 的远程访问权限。

2、查看MySQL的用户表

image

如上图所示,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、授权法(方式二)

image

如上图所示,通过 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、查看授权远程访问的效果

image

如上图所示,MySQL 的用户表多了一行记录, user=root、Host=% ,表示 root 账号能通过任何 IP 地址客户端登录。

本文参考

【1】【明月一壶酒】【 MySQL开启远程访问权限】【CSDN】【 2023-06-19】

【2】【CoderJia】【mysql 如何开启远程访问权限】【知乎】【2023-11-24】

posted @ 2025-01-21 08:39  Javaer1995  阅读(28)  评论(0编辑  收藏  举报