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来指定配置文件