修改MySQL/MariaDB数据库root用户名和密码

weimoo 4月前 193

The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statemen

MySQL数据库报错:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

 

重置/破解mysql root用户密码

如果你忘记了root用户的密码,可以按照以下步骤重置:

1.停止MySQL服务。

  • 在Linux上,你可以使用sudo systemctl stop mysql命令。
  • 在Windows上,你可以通过服务管理器停止MySQL服务。

 

2.启动MySQL的安全模式,这将允许你无需密码登录:

sudo mysqld_safe --skip-grant-tables &

3.登录到MySQL服务器:

mysql -u root

4.选择mysql数据库,然后重置root用户的密码:

USE mysql;
FLUSH PRIVILEGES;
UPDATE user SET authentication_string=PASSWORD("new_password") WHERE User='root';
FLUSH PRIVILEGES;
EXIT;

or

USE mysql;
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword'; 
FLUSH PRIVILEGES;
EXIT;

5.重启MySQL服务。


MySQL 5.7以下版本

更改密码:
mysql -u root -p  
Enter password:***  
mysql>use mysql;  选择数据库  
Database changed   
mysql> update user set password=password("newPassword") where user='root';  将root用户的密码修改为新的密码
mysql> flush privileges; 刷新权限  
mysql> quit; 
更改用户名:
mysql -u root -p  
Enter password:***  
mysql> use mysql;  选择数据库  
Database changed  
mysql> update user set user="newUserName" where user="root";    将用户名为root的改为新用户名  
mysql> flush privileges;    刷新权限  
mysql> exit;

MySQL 5.7以上版本

对于MySQL 5.7以上版本,当我们试图以上面的方式更新MySQL或MariaDB的root账户密码时,有时会出现此错误消息,该错误为:

ERROR 1348 (HY000): Column 'Password' is not updatable

这是因为如果我们使用这个SQL命令来更新我们的root账户密码,MySQL限制在mysql数据库上使用UPDATE命令。
因此,您不能使用UPDATE命令更新用户密码,要更新密码,请使用ALTER命令,就像下面这样:

alter user 'root'@'localhost' identified by 'newPassword'; 

然后,您需要执行刷新权限,将以前的查询(上面的命令更改)提交到系统中,这样做:

flush privileges;

预览命令

mysql -u root -p  
Enter password:***  
mysql>use mysql;  选择数据库  
Database changed   
mysql> alter user 'root'@'localhost' identified by 'newPassword';   将root用户的密码修改为新的密码
mysql> flush privileges; 刷新权限  
mysql> quit; 
因为MariaDB系出MySQL的原因,上述操作对MariaDB数据库的不同版本同样适用!


参考链接1:https://www.jianshu.com/p/b590274d6bc9
参考链接2:MySQL数据库报错:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_1045accessdeniedforuserroot-CSDN博客
最新回复 (0)
全部楼主
返回
发新帖