当在windows系统中安装的mysql由于操作不当,或者密码遗忘,今天测试了一下,可以用以下方法重置root的密码。
mysqlwindows环境root密码重置问题
在win10/11环境下mysql8密码遗忘后的重置密码方案。
停止mysql服务
查找windows中的mysql服务名称,终止服务。
如果找不到一般默认安装的服务名为:mysql80。
在任务管理器中查找服务
在电脑最下侧的导航条,点击右键选择任务管理器。
找到服务名: MySQL80
关闭服务
可以采用两种方式关闭
第一种关闭方式
启动命令行
net stop mysql80
第二种方式
直接在任务管理器->服务界面关闭
使用mysqld命令
When MySQL server starts, it listens for network connections from client programs and manages access to databases on behalf of those clients.
问题
如果出现’mysqld’ 不是内部或外部命令,也不是可运行的程序或批处理文件。大部分问题是因为没有设置环境变量。
C:\Users\49354>mysqld
'mysqld' 不是内部或外部命令,也不是可运行的程序或批处理文件。
修改mysql中的data文件夹权限
由于很多人采用默认安装,mysql的数据文件安装在C盘。win11对系统文件进行了权限保护,默认为只读。
运行mysqld启动mysql服务
使用mysqld启动服务
mysqld --console --skip-grant-tables --shared-memory
C:\Windows\System32>mysqld --console --skip-grant-tables --shared-memory
2024-04-02T09:43:36.599395Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.17) starting as process 12480
2024-04-02T09:43:37.693064Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2024-04-02T09:43:37.707390Z 0 [System] [MY-010931] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: ready for connections. Version: '8.0.17' socket: '' port: 0 MySQL Community Server - GPL.
2024-04-02T09:43:37.872750Z 0 [Warning] [MY-011311] [Server] Plugin mysqlx reported: 'All I/O interfaces are disabled, X Protocol won't be accessible'
打开新cmd窗体
打开命令行启动另外一个窗体(win+R)
输入mysql的登录命令,注意不用输密码,直接回车。
mysql -uroot -p
修改密码
使用mysql库
use mysql;
置空root的密码
update user set authentication_string='' where user='root';
刷新权限
flush privileges;
修改密码
IDENTIFIED BY ‘密码’;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';