使用管理员权限打开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服务, 查看其状态, 若没有正在运行, 右键点击该服务, 选择启用
参与评论
手机查看
返回顶部