mysql数据库忘记root密码怎么办?

 

忘记root密码后更改密码的方法(mysql5.7以后的版本可用)

1、在/etc/my.cnf文件里面加一行 skip-grant-tables   然后重启数据库;

2、用root用户空密码登录数据库 修改密码 update user set authentication_string = password("123456") where user = "root";

3、然后把第一步添加的参数 注销或者删除,重启数据库,即可使用新密码登录数据库;

[root@localhost ~]# vim /etc/my.cnf
            skip-grant-tables
[root@localhost ~]# service mysqld restart
[root@localhost ~]# mysql -uroot -p
password:    直接回车,不用输入密码即可登录
mysql> user mysql;
mysql> show tables;  //我们需要修改user表里面的内容,才能修改密码;
mysql> update user set authentication_string = password("123456") where user = "root";   //更新user这张表,设置认证字符串的值(即密码)为123456,用户为root,生效后结果如下图 

mysql> flush privileges;    //刷新权限,使刚才的配置生效
mysql> exit
[root@localhost ~]# vim /etc/my.cnf     //然后把刚才的参数取消,并重启数据库生效
            #skip-grant-tables  
[root@localhost ~]# service mysqld restart

 

 

 

 

 

mysql数据库忘记root密码怎么破解和修改 (mysql 5.7以前的版本可用)

1、停止数据库的运行

[root@localhost ~]# /etc/init.d/mysqld stop

或者[root@localhost ~]# service mysqld stop

  

2、使用--skip-grant-tabales 启动mysql,忽略授权登陆验证

[root@localhost ~]# mysqld_safe --skip-grant-tables --user=mysql & 

   

3、这时再使用mysql命令登陆就不需要密码验证了

[root@localhost ~]# mysql

  

4、使用update方式修改数据库的密码,此处新的密码可以自己随便修改。

mysql> update mysql.user set password=password("12345") where user='root' and host='localhost';

  

5、刷新权限并退出数据库

mysql> flush privileges;

mysql> quit

  

6、重新启动数据库

  

7、使用新密码12345登陆数据库

  

8、如果你的数据库是多实例数据库,需要添加一个参数 --defaults-file来指定配置文件

 

posted @ 2021-04-08 14:14  千里走单琦  阅读(1412)  评论(0编辑  收藏  举报