MySQL忘记root登录密码怎么办(windows)
2016-09-25 22:10
681 查看
在使用MySQL时,我们难免会遇到忘记root的密码的烦恼(或者初次登录MySQL无法成功认证),那么究竟该如何解决这个问题呢?下面我会给您答案。
NOTE:本博客的方法仅在windows下测试过,其他系统平台并未进行测试。
即可进入安全模式,即不用密码认证即可登录MySQL。
下面就可以使用root用户进行登录了:
当提示要输入密码时,按回车键即可。
NOTE:不要忘记命令后的分号
对于有些高版本的MySQL,运行上述命令可能会产生下面的错误:
ERROR 1054 (42S22):unknown column ‘password’ in ‘field list’
因为由于某些比较古怪的原因,
命令运行成功后,就需要刷新权限表,然后退出即可:
现在你就可以使用修改后的密码进行登录了,enjoy!
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
这时你可以使用下面的命令更新root密码:
博客园-Windows下mysql忘记root密码的解决方法
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
NOTE:本博客的方法仅在windows下测试过,其他系统平台并未进行测试。
关闭MySQL服务器
首先我们需要先关闭MySQL服务器,如果你未启动该服务可以跳过这一步。关闭MySQL服务器有好几种方法,最简单粗暴的方法就是启动任务管理器结束该服务,当然你也可以优雅地关闭该服务——使用CMD命令行:net stop mysql
进入安全模式
打开CMD命令行,输入下列命令:mysqld -nt --skip-grant-tables
即可进入安全模式,即不用密码认证即可登录MySQL。
下面就可以使用root用户进行登录了:
mysql -uroot -p
当提示要输入密码时,按回车键即可。
修改root密码
登录成功后,我们就可以修改密码了,打开CMD输入以下命令:mysql> update mysql.user set password=PASSWORD('your password') where User='root';
NOTE:不要忘记命令后的分号
;
your password即为你要修改的密码。
对于有些高版本的MySQL,运行上述命令可能会产生下面的错误:
ERROR 1054 (42S22):unknown column ‘password’ in ‘field list’
因为由于某些比较古怪的原因,
password被修改为
authentication_string。所以如果你遇到这个错误那么请改用下面的命令:
mysql> update mysql.user set authentication_string=password('your password') where user='root' and Host ='localhost';
命令运行成功后,就需要刷新权限表,然后退出即可:
mysql> flush privileges; mysql> quit
现在你就可以使用修改后的密码进行登录了,enjoy!
意外收获
在我成功修改完密码之后,我尝试使用navicat连接MySQL,但是却出现错误提示”root口令已过期”,这让我很是疑惑,于是我只好按照刚才的步骤重新修改密码。但是却又出现了错误:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
这时你可以使用下面的命令更新root密码:
mysql> SET PASSWORD = PASSWORD('your_new_password');
参考资料
stackoverflow.com-Reset MySQL root password using ALTER USER statement after install on Mac博客园-Windows下mysql忘记root密码的解决方法
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜