1.通过管理员方式打开cmd **,cmd程序路径一般在C:\Windows\System32,找到cmd.exe右键以管理员方式运行
2.停止mysql **服务,net stop mysql
3.以“安全模式”启动服务端
需要直接运行 mysqld 并带上跳过权限的参数。运行以下命令:
<CMD>
mysqld --console --skip-grant-tables --shared-memory
--console: 让运行日志显示在当前窗口中,方便查看是否启动成功。--shared-memory: 在 Windows 上通常需要加上这个参数,否则客户端可能无法连接。
保持这个 CMD 窗口打开,不要关闭它。窗口看起来像“卡住”了是正常的,这说明服务正在运行。
4.免密登录 打开一个新的、管理员命令提示符窗口。运行客户端:mysql
5.重置密码并退出
-
刷新权限表(这步很重要,否则无法修改密码):
<SQL> FLUSH PRIVILEGES; -
修改密码(将
123456替换为你想要的新密码):<SQL> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';(如果你使用的是 MySQL 5.7 或更老版本,请使用:
UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root';) -
再次执行:FLUSH PRIVILEGES;
-
退出:exit
6.重启服务
-
进入mysql安装目录
-
安全关闭服务:mysqladmin -u root -p shutdown
mysqladmin: 这是 MySQL 自带的一个管理工具,用于执行管理操作(如创建数据库、检查状态、刷新权限、关闭服务等)。-u root: 指定使用root用户身份来执行这个操作(因为只有管理员才有权限关闭服务器)。-p: 告诉程序“我会输入密码”。按下回车后,它会提示你输入 root 用户的密码。shutdown: 这是发送给服务器的具体指令,告诉 MySQL Server 停止运行。它和直接在任务管理器里“结束进程”或者按
Ctrl+C强制退出的区别在于:数据的安全性。当你执行
mysqladmin shutdown时,MySQL 服务器会:
- 停止接受新的连接。
- 把内存中尚未保存的数据(脏页)全部写入硬盘。
- 关闭所有打开的数据表文件。
- 安全退出。
总结:这是一种“软着陆”。它可以防止数据丢失或数据库文件损坏。如果你之前手动运行了
mysqld --console,用这个命令来关闭它是最安全的做法。
- 重启mysql服务:net start mysql