-
使用管理员权限打开cmd (搜索cmd, 右键点击\"使用管理员身份运行\")
-
命令行输入
net stop mysql;
运行后提示为
MySQL 服务正在停止. MySQL 服务已成功停止。
-
mysqld –skip-grant-tables
实测在mysql8.0中已失效, 现在使用另一个指令:mysqld --console --skip-grant-tables --shared-memory
-
另外打开一个cmd, 此时使用mysql可以无密码登录了
mysql -u root
-
8.0版本不允许在跳过策略 skip-grant-tables 时修改密码, 所以要先清空root用户的密码
update user set authentication_string = \'\' where user = \'root\';
-
然后通过空密码正常访问数据库
mysql -u root -p
-
进入MySQL系统自带数据库: mysql数据库中, 执行更改密码语句
mysql> use mysql; mysql> ALTER USER \'root\'@\'%\' IDENTIFIED WITH mysql_native_password BY \'新的密码\';
mysql5.7以前的版本用 update user set password=password(\"新的密码\") where user=\"root\";
-
刷新权限后, 退出MySQL
mysql> flush privileges; mysql> exit;
然后就可以使用新的密码登录数据库了
错误处理
can\'t connect to mysql server on \'localhost\'
windows 主机:
右键点击我的电脑→菜单中点击管理→服务和应用程序→服务→找到MySQL服务, 查看其状态, 若没有正在运行, 右键点击该服务, 选择启用
来源:https://www.cnblogs.com/spiropentadiene/p/16853897.html
本站部分图文来源于网络,如有侵权请联系删除。