Myslq忘记了root密码的情况处理
如果忘记了MySQL的root密码,而且其他的MySQL用户由于没有足够的管理权而不能恢复忘记掉的密码,该怎么办呢:
处理这个问题的步骤如下:
首先终止mysql,然后使用选项skip_grant_tables重新启动它。这样做的结果是没有加载具有访问权限的数据表。现在,可以删除经过加密的root密码,终止mysql,然后不使用制定选项再一次启动它,这样就可以对root用户分配一个新的密码了。
在处理这种情况的时候,必须要有mysql所运行其上的操作系统的系统管理员权限。
第一步,终止mysql的运行;
#/etc/init.d/mysqld stop
第二步,在mysql的配置文件(/etc/my.cnf)上的[mysqld]部分,输入选项skip_grant_tables;
#vi /etc/init.d/my.cnf
在其[mysqld]下添加:
skip_grant_tables
保存并退出,然后再重新启动mysql服务器
#/etc/init.d/mysqld start
第三步,进行重新设置密码;
#mysql -uroot
Welcome to MYSQL monitor.
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)
第四步,停止mysql数据库,然后把/etc/init.d/my.cnf中的skip_grant_tables删除,并且再一次启动mysql服务器即可!