目录
[1. 停止 MySQL 服务](#1. 停止 MySQL 服务)
[2. 以跳过权限检查的方式启动 MySQL](#2. 以跳过权限检查的方式启动 MySQL)
[3. 连接到 MySQL](#3. 连接到 MySQL)
[4. 更新 root 用户密码](#4. 更新 root 用户密码)
[5. 重启 MySQL 服务](#5. 重启 MySQL 服务)
[6. 使用新密码登录](#6. 使用新密码登录)
[1.运行 net stop mysql 时提示"服务名无效"](#1.运行 net stop mysql 时提示“服务名无效”)
[2. "服务"管理器中无MYSQL](#2. “服务”管理器中无MYSQL)
[3.datadir 数据目录](#3.datadir 数据目录)
1. 停止 MySQL 服务
首先,停止 MySQL 服务:
-
Linux:
bashsudo systemctl stop mysql
-
Windows :
使用服务管理器或命令行:
bashnet stop mysql
2. 以跳过权限检查的方式启动 MySQL
启动 MySQL 并跳过权限检查:
-
Linux:
bashsudo mysqld_safe --skip-grant-tables &
-
Windows :
找到 MySQL 安装目录,运行:
bashmysqld --skip-grant-tables
3. 连接到 MySQL
使用 root 用户连接到 MySQL 服务器:
bash
mysql -u root
4. 更新 root 用户密码
在 MySQL 提示符下,选择 mysql
数据库并更新密码:
bash
USE mysql;
-- MySQL 5.7.6 及以上版本
UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root';
-- MySQL 5.7.5 及以下版本
UPDATE user SET password=PASSWORD('新密码') WHERE User='root';
刷新权限并退出:
bash
FLUSH PRIVILEGES;
EXIT;
5. 重启 MySQL 服务
重启 MySQL 服务以应用更改:
-
Linux:
bashsudo systemctl start mysql
-
Windows:
bashnet start mysql
6. 使用新密码登录
使用新密码登录 MySQL:
bash
mysql -u root -p
注意事项
-
确保新密码足够安全。
-
在生产环境中操作前,建议备份数据。
通过这些步骤,你可以成功重置 MySQL 密码。
一些错误情况及解决方法
1.运行 net stop mysql
时提示"服务名无效"
查找 MySQL 服务名称
-
打开"服务"管理器:
-
按
Win + R
,输入services.msc
,然后按回车。 -
或者在任务栏搜索框中输入"服务"并打开。
-
-
在服务列表中找到 MySQL 服务,通常名称可能是:
MySQL、MySQL80、MySQL57、
或者其他自定义名称。
-
记下正确的服务名称。
2. "服务"管理器中无MYSQL
按 Win + R
,输入cmd ,进入MySQL的bin目录 ,运行命令:
bash
mysqld.exe install
运行结果为:Service successfully installed。此时再查看计算机服务项,就有MySQL服务了。
直接双击MySQL服务,点击启动即可启动MySQL服务。
3.datadir 数据目录
如果 data
目录不存在,可以手动创建:
-
在
C:\Program Files\MySQL\MySQL Server 8.2\
下新建一个名为data
的文件夹。 -
确保 MySQL 服务有权限访问该目录:
-
右键点击
data
文件夹,选择"属性"。 -
切换到"安全"选项卡,确保
NETWORK SERVICE
或MySQL
用户有完全控制权限。
-