这是一个漫长曲折的过程,网上资料查了不少,大都不适合,写一下,希望后来者少遇到坑。。
1.首先停mysql服务,进入到mysql安装bin目录下,net stop mysql;也可以直接任务管理器-->服务-->右击停止
2.打开第一个cmd1窗口,切换到mysql的bin目录,运行命令:
mysqld --defaults-file="你自己的mysql的地址\my.ini" --console --skip-grant-tables
注释:
该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。 此时已经开启了mysql服务了!
这个窗口保留 不关闭。(我在网上查有说在my.ini配置文件中加skip-grant-tables,我在尝试的时候会报错)
3、打开第二个cmd2窗口,连接mysql:
输入命令:
mysql -u root -p
出现:
Enter password:
在这里直接回车,不用输入密码。
然后就就会出现登录成功的信息,
使用命令:
show databases;
使用命令切换到mysql数据库:
use mysql;
使用命令更改root密码:
update user set authentication_string = password('123456'), password_expired = 'N', password_last_changed = now() where user = 'root';
刷新权限:
FLUSH PRIVILEGES;
然后退出,重新登录:
quit
重新登录: 可以关掉之前的cmd1 窗口了。然后用net start mysql 启动服务
mysql -u root -p
出现输入密码提示,输入新的密码即可登录:
Enter password: ***********
显示登录信息: 成功 就一切ok了