日期:2014-05-16  浏览次数:20894 次

MySQL 忘记root口令解决办法

MySQL5 忘记root口令


网上记录了很多,这里留一个自己尝试过可行的


不同mysq安装版中关于mysql服务的启动命令不完全一样,有 mysqld 的,有 mysqld-nt 的,其实作用一样,找一个跟自己环境中有的(在mysql安装目录下bin目录中)


如果MySQL/bin设置到Path中了,那么以下命令在命令行模式下任意位置执行都可以;如果没有设置Path,那么只能切换到MySQL/bin目录执行


1. c:\>net stop mysql

标准的停止MySQL服务命令

网上介绍的另外一种在资源管理器中找到mysql服务停止的方式我这里不好使


2. c:\>mysqld --skip-grant-tables

让MySQL以非权限验证模式启动,命令执行后此窗口不要关闭


3. c:\>mysql -u root

在另外一个命令行窗口中执行,直接root用户登陆,不需要口令


4 mysql>use mysql;

使用mysql数据库


5. mysql>update user set password=password('newPassword') where user='root';

更新root用户口令

将你要设置的新口令放在 newpassword 位置


6. mysql>flush privileges;

刷新mysql权限列表

?

?

另外补充,关于MySQL软件重新安装时的2条注意事项(未验证)

1. 停止服务后再删除,删除后重启并手动清空MySQL目录(里面保留有上次安装的默认配置),同时要删除

c:\Document and Settings\用户名\Application Data\MySQL (XP下用户名是All Users)

2. 安装过程中设置root口令的部分,如果要求输入原口令,此输入框保留不填写,只填写新口令和新确认口令即可

?

补充:Linux环境

修改 /etc/my.cnf ?配置文件

在 [mysqld] 项下添加

skip-grant-tables

重启mysql服务,直接使用 mysql -u root 登陆

?