最近要用到本地的MySQL,结果把密码忘记了。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
然后参照网上的教程一顿操作,结果我自己都不知道是啥错了:
ERROR 1130 (HY000): Host 'localhost' is not allowed to connect to this MySQL server
想着重新安装MySQL比较麻烦,就自己看看能不能死马当作活马医一下。
想要在没有密码的状态下修改MySQL的密码,必须跳过MySQL登录时的登录密码权限的验证,取消掉这个验证的方式如下:
一般人应该能找到的吧,配置MySQL的环境变量中也有安装目录的,一般默认安装目录在C盘中。
记事本方式打开my.ini,找到[mysqld]这一行,在下面加入下面两条语句:
skip-name-resolve skip-grant-tables
注意[mysqld]是mysql+d(是小写的L,不是大写的i),最好直接复制,不然很容易输错。
记得ctrl+s保存好
net stop mysql
net start mysql
在重启MySQL服务后,通过命令登录MySQL(不需要密码)
mysql -uroot -p
回车后不用输入密码,直接回车就行。
grant all privileges on *.* to root@'localhost' identified by '123456';
返回成功的话,密码就修改成功了
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
刷新权限。输入一下命令后回车一下,(可以多尝试几次)
flush privileges;
然后再重复第四步骤,修改密码,
记得保存!!!
net stop mysql net start mysql