报错信息
这个错误表明 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';
完成以上步骤后成功启动