问题描述
在使用命令行登录 MySQL 时出现了下述问题:
或:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
出错原因
-
using password: NO
:表示输入没有输入密码就尝试登陆了
-
using password: YES
:表示输入了密码,但密码错误
所以,很有可能是忘记密码了,因此需要重设密码。
解决方案:修改密码
一、MySQL 5.7版本
Step 1:跳过MySQL密码验证
找到 MySQL 的配置文件 “my.ini”,找到 [mysqld],在其下面任意一行添加 skip-grant-tables
,保存,如下图所示:
注:my.ini”文件可能在目录 C:\ProgramData\MySQL
下。
Step 2
重启 MySQL 服务。
Step 3:无密码登录MySQL
Step 4:将登录密码设置为空
在上一步的命令行中依次输入:① use mysql;
② update user set authentication_string='' where user='root';
③ quit;
。如下图所示:
Step 5:更改登录密码
- 关闭上一个命令行
- 重启 MySQL 服务
- 打开新的 cmd 命令行,并输入
mysql -u root -p
后回车、回车(连续两次回车)
- 刷新权限,输入
flush privileges;
后回车
- 最后输入
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
后回车
笔者将密码重置为 root,如下图所示:
Step 6:重新设置MySQL密码验证
与第一步相反,删除之前添加的“skip-grant-tables”即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)