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;
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;