当我直接通过命令行登录进mysql,对mysql密码进行修改之后再进行登录,则出现登录不进去的情况
对于此情况的操作,相当于忘记密码后重新设置密码
下面为具体操作步骤:
1.首先使用管理员权限打开命令行,然后输入:
mysqld --console --skip-grant-tables --shared-memory
如果电脑上只装了一个mysql,那么直接输入 以上命令即可,表示可以无密码登录,如果电脑上装了多个mysql服务,则需要进入该mysql服务的bin目录下执行以上命令;
2.执行以上命令之后,重新打开一个cmd窗口,进入MySQL后输入以下命令
use mysql;
update user set authentication_string='' where user='root';--将字段置为空
然后输入:
ALTER user 'root'@'localhost' IDENTIFIED BY 'newpassword';
此时会报一个错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
这个时候输入:
flush privileges;
然后再次输入:
ALTER user 'root'@'localhost' IDENTIFIED BY 'newpassword';
以上步骤密码重置成功;
关闭第一次开启的无密码登录窗口,输入
net start mysql
重启mysql,再次到该服务的bin目录下登录即可