mysql开启远程访问权限
作者:mmseoamin日期:2024-03-20

在默认情况下,MySQL只允许本地登录,如果需要远程访问数据库,如果不开启远程访问权限,会报错java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up。

下面介绍一下如何开启MySQL远程访问

1、生成环境,连接MySQL

mysql -uroot -p

mysql开启远程访问权限,在这里插入图片描述,第1张

2、查看MySQL当前访问远程访问权限

use mysql;

select User,authentication_string,Host from user;

mysql开启远程访问权限,在这里插入图片描述,第2张

当前root用户,host为只允许本机登录

3、开启远程访问

开启远程访问权限的方式,主要包括两种:改表法和授权法

方式一:改表法

顾名思义,该方法就是直接修改更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为"%"

update user set host=‘%’ where user=‘root’;

mysql开启远程访问权限,在这里插入图片描述,第3张

方式二:授权法

通过GRANT命令可以授予主机远程访问权限

–赋予任何主机访问权限:

GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;

–允许指定主机(IP地址)访问权限:

GRANT ALL PRIVILEGES ON . TO ‘myuser’@‘192.168.1.3’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

通过GRANT命令赋权后,需要通过FLUSH PRIVILEGES刷新权限表使修改生效:

flush privileges;

4.再次查看MySQL远程访问权限配置

select User,authentication_string,Host from user;

mysql开启远程访问权限,在这里插入图片描述,第4张

如此便可远程访问MySQL数据库