[图片] 首先找到 mysqld 的路径 which mysqld [图片] 敲命令查看默认的 MySQL 配置文件位置 /usr/sbin/mysqld --verbose --help |grep -A 1 'Default options' [图片] 打开配置文件 my.cnf,并添加 skip-grant-ta ..

忘记 mysql 的 root 密码怎么找回

首先找到 mysqld 的路径

which mysqld

image.png

敲命令查看默认的 MySQL 配置文件位置 /usr/sbin/mysqld --verbose --help |grep -A 1 'Default options'

image.png

打开配置文件 my.cnf,并添加 skip-grant-tables,跳过权限的检查

用空密码连接数据库,并修改数据库的 root 密码

mysql -u root

mysql> set password = password('390032540');
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> update user set password=password('390032540') where user='root' and host='localhost';
ERROR 1046 (3D000): No database selected
mysql> use mysql;
Database changed
mysql> update user set password=password('new password') where user='root' and host='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

然后刷新权限表

flush privileges;

再重新登录的时候就必须输入密码了

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

最后,不要忘记把刚才那个跳过权限检查的配置给删掉

  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    434 引用 • 468 回帖 • 895 关注
1 操作
cyy3900 在 2019-08-25 16:58:00 更新了该帖
回帖   
请输入回帖内容...