Nacos 配置mysql持久化报错

83 阅读1分钟

报错信息

image.png 这个错误表明 MySQL 服务器拒绝了来自主机"你的主机名(马赛克部分)"的连接请求。这通常是由于 MySQL 服务器配置中的访问控制列表 (ACL) 设置不允许该主机连接而引起的。

解决问题

1.查看 MySQL 服务器的 ACL 设置:**登录到 MySQL 服务器,并检查其 ACL 设置,确认是否允许来自 "你的主机名(马赛克部分)" 主机的连接。您可以使用以下命令查看 ACL 设置:

SELECT * FROM mysql.user WHERE User = 'root';

这将显示与 "root" 用户相关的 ACL 设置,包括允许连接的主机列表。

2.**添加允许的主机:**如果 ACL 设置中没有包含您的主机 "你的主机名(马赛克部分)",则需要添加该主机。您可以使用以下命令为 "root" 用户添加允许连接的主机:

CREATE USER 'root'@'你的主机名' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'你的主机名' WITH GRANT OPTION;
"your_password" 替换为你的 MySQL 密码。

3.**刷新权限:**在更改 ACL 设置后,需要刷新 MySQL 的权限表,以使更改生效:

FLUSH PRIVILEGES;

重启 MySQL 服务器:为了确保更改生效,需要重启 MySQL 服务器。 重启nacos后又出现如下错误

Caused by: java.sql.SQLException: Access denied for user 'root'@'LAPTOP-51B6B44Q' (using password: YES)

这个错误表明您使用的用户名为 "root" 的 MySQL 用户尝试连接到 MySQL 服务器时,密码验证失败。

重置密码

ALTER USER 'root'@'你的主机名' IDENTIFIED BY 'new_password';

完成以上步骤后成功启动 红框部分表示 nacos启动使用外部持久化方式

image.png