问题描述:
博主购置了一台阿里云服务器并安装了MySQL,将vue+springboot项目部署上,运行起来发现
于是博主准备用本地电脑上的navicat连接试试
不出意外连不上
博主又通过Xshell尝试登录MySQL,发现同样的root@localhost用户在服务器上能正常登录,但是navicat和springboot项目上却不行。
博主查了很多文章,什么配置bind-address,设置root用户权限,修改root用户的密码都试过
没有解决问题
博主的百分百方法如下:
1.删掉你打算使用的用户(博主这里打算用root@localhost远程)
DROP USER 'root'@'localhost';
2.重新创建该用户
CREATE USER 'root'@'localhost' IDENTIFIED BY '改为你的密码';
3.注意这里可能会报错
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这是由于你设置的密码不符合MySQL的安全策略
只需要把安全策略级别设置为LOW就可以,不过MySQL8.0之后的版本和之前的版本不一样
博主的是MySQL8.03执行下面的语句即可
SET GLOBAL validate_password.policy=LOW;
然后重新执行步骤2
4.给该用户开权限(博主以root@localhost举例)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
5.刷新权限:
FLUSH PRIVILEGES;
6.不放心还可以查看用户表里是否已经创建成功
SELECT User, Host FROM mysql.user;
7.打开naviact重新尝试连接
到这里博主的问题已经解决,希望对你有所帮助,若是还没解决欢迎评论区@博主