MySqlException: Access denied for user 'root'@'localhost' (using password: YES)
时间: 2023-12-10 07:36:01 浏览: 218
解决mysql登录错误:'Access denied for user 'root'@'localhost'
5星 · 资源好评率100%
该异常通常是由于MySQL用户的密码错误或者没有对应的用户导的。解决方法如下:
情况一:没有对应的用户或者plugin模式不正确
1.登录MySQL,执行以下命令查看用户信息:
```sql
SELECT `user`,`host`,`authentication_string`,`plugin` FROM mysql.user;
```
2.如果没有应的用户,可以通过以下命令创建远程连接用户:
```sql
CREATE USER 'root'@'%' IDENTIFIED '123456';
``3.授权该用户访问指定数据库:
```sql
GRANT ALL ON maindataplus.* TO 'root'@'%';
```
4.刷新权限:
```sql
flush privileges;
```
5.修改plugin模式:
```sql
UPDATE mysql.user SET `plugin`='mysql_native_password' WHERE `user`='root';
```
6.刷新权限:
```sql
flush privileges;
```
情况二:密码错误(忘记密码)
1.停止MySQL服务:
Windows系统:
```shell
net stop mysql
```
Linux系统:
```shell
service mysql stop
```
2.启动MySQL服务,加上--skip-grant-tables参数:
```shell
mysqld --skip-grant-tables &
```
3.登录MySQL,修改密码:
```sql
use mysql;
update user set password=password('new_password') where user='root';
flush privileges;
```
4.重启MySQL服务:
Windows系统:
```shell
net start mysql
```
Linux系统:
```shell
service mysql start
```
--相关问题--:
阅读全文