windows10 忘记mysql5.7的密码
一、点击开始菜单,搜索cmd.exe,右击以管理员身份运行(操作之前保存数据库)
二、关闭数据库,找到本地数据库安装目录 cd 到安装的目录
1、打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务(或者直接进入任务管理器 找到mysql服务直接停止服务)
2、命令窗口输入 mysqld --skip-grants-tables ,以不输入密码的方式启动MySQL服务。
但因为目录下没有data目录会报错,windows10会默认把MySQL的数据库文件是保存在C:/ProgramData/mysql/MySQL Server 5.7/Data/。
所以需要指定目录mysqld --defaults-file=“C:\ProgramData\MySQL\MySQL Server 5.7\my.ini” --user=mysql --skip-grants-tables
(此处可能会出现一个坑,就是因为mysql版本问题skip-grants-tables 无效,在网上又找了一下发现:mysqld --console --skip-grant-tables --shared-memory 命令可以)
C:\Users\system32>cd C:\Program Files\MySQL\MySQL Server 5.7\bin
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --user=mysql --skip-grant-tables --shared-memory
此时命令窗口已经无法在操作打开一个新的命令窗口
三、进入数据库
1、进入数据库
2、通过use mysql选择数据库
3、update user set authentication_string=‘123456’ where user=‘root’;修改密码
4、quit退出
C:\WINDOWS\system32>mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.22-log MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql
Database changed
mysql> update user set authentication_string='123456' where user='root';
四、校验查看是否成功
1、重启数据库 。
打开命令框,输入:net start mysql 启动MySQL服务。
(或者直接从任务管理器启动)
2、通过数据库图形化连接工具测试连接一下(或者通过 mysql -u root -p 登录)