You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac OS 10.13.3下重置MySQL密码失败求助

在Mac OS 10.13.3下重置MySQL密码的完整解决方案

我之前在MacOS 10.13上踩过完全一样的坑——卸载重装没弹出密码设置界面、跳过权限表后更新密码失败的情况都遇到过,给你整理一套亲测有效的步骤,跟着来应该能解决:


步骤1:彻底停止MySQL服务

首先要确保MySQL完全停止,避免后续操作冲突。打开终端执行:

sudo /usr/local/mysql/support-files/mysql.server stop

如果这个命令没反应,试试用launchd卸载服务:

sudo launchctl unload -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

步骤2:以跳过权限表的安全模式启动MySQL

这一步是关键!注意必须用英文破折号(很多人因为用了中文破折号导致命令失效),加上--skip-networking可以防止远程连接干扰:

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking &

执行后终端会输出一些日志信息,不用管它,直接打开一个新的终端窗口继续操作。

步骤3:无密码登录MySQL

在新终端里执行登录命令:

sudo /usr/local/mysql/bin/mysql -u root

成功登录后,你会进入MySQL命令行界面,先切换到系统核心数据库:

USE mysql;

步骤4:重置root密码

这里要注意MySQL版本差异,MacOS 10.13搭配的MySQL大概率是5.x或8.x,分别对应不同的命令:

如果是MySQL 5.x版本:

UPDATE user SET Password=PASSWORD('你的新密码') WHERE User='root';

如果是MySQL 8.x版本:

优先用ALTER USER命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

如果执行ALTER USER报错,先更新认证字段再刷新权限:

UPDATE user SET authentication_string=PASSWORD('你的新密码') WHERE User='root';

不管用哪种方式,执行完密码更新后必须刷新权限,否则设置不会生效:

FLUSH PRIVILEGES;

然后退出MySQL命令行:

EXIT;

步骤5:恢复正常启动MySQL

先停止刚才的安全模式进程:

sudo /usr/local/mysql/support-files/mysql.server stop

然后正常启动服务:

sudo /usr/local/mysql/support-files/mysql.server start

或者用launchd加载服务:

sudo launchctl load -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

现在你就可以用新设置的密码登录MySQL了,比如执行:

sudo /usr/local/mysql/bin/mysql -u root -p

输入新密码就能正常访问服务器了。


内容的提问来源于stack exchange,提问作者khalid althwab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:16:27