mysql忘记root密码

本文详细介绍了当忘记MySQL root密码时如何重置的方法。包括停止MySQL服务、以特殊模式启动来绕过密码验证、更新root密码及刷新权限等步骤。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

好久没有用电脑登录mysql_server了,今天登录竟然忘记root密码了。记录一下重置root密码的过程:

关闭运行的mysql_svr

cd /usr/local/mysql/support-files
./mysql.server stop

以特殊方式启动mysql_svr(可以不用输入密码)

cd /usr/local/mysql/bin
./mysqld_safe --skip-grant-tables &

登录mysql

mysql -u root

更新密码

select * from mysql.user;   查看db的用户信息
update mysql.user set authentication_string=password('test') where user='root';    //更新root用户的密码为 test
flush privileges;   //刷新写入

重新登录

mysql -u root -ptest      //可以登录到db

查询db信息的时候会报错:

If the ALTER USER statement fails to reset the password, try repeating the procedure using the following statements to modify the user table directly

需要重新设置一遍密码:

SET PASSWORD = PASSWORD('test'); 

然后就可以使用重置的密码正常操作db了~

更换root密码

set password for root@localhost = password('123');   //登录db后,更换root密码为123

参考:http://blog.csdn.net/u014410695/article/details/50630233

FAQ:
* 很多帖子用这种方式更换密码:

set password for 'root'@'localhost'='123';

但是实际会报这个问题:

You are using MySQL as an anonymous user and anonymous users are not allowed to change passwords。
或者:
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值