一、修改MySQL配置文件
想要在没有密码的状态下修改MySQL的密码,必须跳过MySQL登录时的登录密码权限的验证,取消掉这个验证的方式如下:
1、找到MySQL的安装文件中的my.ini文件
一般人应该能找到的吧,配置MySQL的环境变量中也有安装目录的,一般默认安装目录在C盘中。
2、修改my.ini
记事本方式打开my.ini,找到[mysqld]这一行,在下面加入下面两条语句:
skip-name-resolve
skip-grant-tables
注意[mysqld]是mysql+d(是小写的L,不是大写的i),最好直接复制,不然很容易输错。
记得ctrl+s保存好
二、重启MySQL服务
1、以管理员身份运行命令行
2、在命令行中输入停止MySQL服务命令:
net stop mysql
3、在命令行中输入开始MySQL服务命令
net start mysql
我这里直接在任务管理器-服务-重新启动
三、登录MySQL
在重启MySQL服务后,通过命令登录MySQL(不需要密码)
mysql -uroot –p
如果不是默认端口
mysql –uroot –P 3316
回车后不用输入密码,直接回车就行。
四、修改密码
进入到MySQL中,在命令行中输入修改命令,修改密码为123456
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;
然后再重复第四步骤,修改密码,
五、还原MySQL配置文件
1、第一步我们修改了MySQL的配置文件my.ini,在修改成功后我们需要将配置文件还原。
记得保存!!!
2、重启MySQL服务
net stop mysql
net start mysql
3、使用新密码,登录成功