MySQL完整重置密码流程(针对 macOS)

MySQL完整重置密码流程(针对 macOS)

1. 强制停止 MySQL 服务
bash 复制代码
sudo /usr/local/mysql/support-files/mysql.server stop
sudo killall mysqld mysqld_safe  # 确保所有进程停止
2. 以安全模式启动(跳过权限验证)
bash 复制代码
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking &

等待 10 秒让服务完全启动(终端会卡住是正常的,不要关闭)

3. 无密码登录 MySQL
bash 复制代码
/usr/local/mysql/bin/mysql -u root
4. 重置密码(分版本操作)
sql 复制代码
-- 先刷新权限
FLUSH PRIVILEGES;

-- 针对 MySQL 8.0+ 版本
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

-- 针对 MySQL 5.7 及更早版本
UPDATE mysql.user SET authentication_string=PASSWORD('你的新密码') WHERE User='root';
FLUSH PRIVILEGES;
5. 退出并重启服务
sql 复制代码
EXIT;  -- 退出 MySQL
bash 复制代码
sudo killall mysqld  # 停止安全模式
sudo /usr/local/mysql/support-files/mysql.server start  # 正常启动
6. 用新密码登录验证
bash 复制代码
/usr/local/mysql/bin/mysql -u root -p

常见问题解决方案

❌ 如果出现 mysqld_safe 路径错误
bash 复制代码
# 查找实际安装路径
sudo find / -name mysqld_safe 2>/dev/null

# 示例结果可能是:
# /usr/local/mysql-8.0.30-macos12-x86_64/bin/mysqld_safe
# 使用找到的路径替换命令
❌ 如果安全模式启动失败
bash 复制代码
# 检查错误日志(查看具体原因)
tail -n 50 /usr/local/mysql/data/*.err
❌ MySQL 8.0+ 特殊处理

若遇到 ERROR 1396,在安全模式下执行:

sql 复制代码
-- 先删除 root 用户再重建
DROP USER 'root'@'localhost';
CREATE USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
💡 使用 Homebrew 的额外命令
bash 复制代码
# 停止服务
brew services stop mysql

# 启动服务
brew services start mysql

⚠️ 操作全程需要管理员权限,确保每个 sudo 命令都输入了系统密码。如果仍遇到问题,请提供具体错误信息。

相关推荐
计算机学姐7 小时前
基于微信小程序的高校班务管理系统【2026最新】
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
位步12 小时前
在linux系统中使用通用包安装 Mysql
android·linux·mysql
小陈永不服输12 小时前
MySQL覆盖索引深度解析:从原理到实践的性能优化之道
mysql
Java陈序员13 小时前
免费开源!一款操作 MySQL 和 MariaDB 的 Web 界面工具!
mysql·docker·php·mariadb
程序新视界14 小时前
在MySQL中,一条SQL语句的执行全流程是怎样的?
数据库·后端·mysql
todoitbo15 小时前
我用 TRAE 做了一个不一样的 MySQL MCP
数据库·mysql·adb·ai工具·mcp·trae·mysql-mcp
阿维的博客日记17 小时前
从夯到拉的Redis和MySQL双写一致性解决方案排名
redis·分布式·mysql
21号 117 小时前
16.MySQL 服务器配置与管理
服务器·数据库·mysql
SamDeepThinking17 小时前
为超过10亿条记录的订单表新增字段
mysql
EndingCoder19 小时前
Node.js SQL数据库:MySQL/PostgreSQL集成
javascript·数据库·sql·mysql·postgresql·node.js