给mysql的root用户设置一个复杂的密码是对安全是非常重要的,或许设置当初你记得清楚,但是久而久之难免会忘记,如果你是测试环境当然可以重装mysql,可是当数据库里面有重要的业务数据怎么办呢?
下面将带来保证数据安全忘记密码的处理方法。
注意:首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对外的端口封闭。
1.停止数据库
[root@zhumumu ~]# /etc/init.d/mysqld stop
或者
[root@zhumumu ~]# pkill mysqld
3.使用–skip-grant-tables启动mysql,忽略授权登录验证
[root@zhumumu ~]# mysqld_safe –skip-grant-tables –user=mysql &
4.此时就可以免密码登录mysql
[root@zhumumu ~]# mysql -urroot
5.登录进去后修改root密码
mysql> UPDATE mysql.user set password=password(‘newpassword’) where user=’root’;
mysql>Flush privileges;
6.停止mysql并正常启动,不能使用mysqld停止
[root@zhumumu ~]# mysqladmin -uroot -pnewpassword shutdown
[root@zhumumu ~]# /etc/init.d/mysqld start
如果数据库数据已经备份或者不重要也可以使用下面方法
1.重新在另一台电脑上安装相同版本的MySQL
2.删除忘记密码的电脑中MySQL安装目录中\data\mysql的全部内容(要先停止MySQL服务)
3.Copy新装的电脑上MySQL安装目录中\data\mysql的全部内容 到 刚刚删除的目录中
4.启动MySQL服务
这样就只有一个root用户了,然后设置密码,恢复数据。
---
转载请注明本文标题和链接:《MYSQL数据库忘记ROOT密码解决办法》