mysql忘记密码 macos
时间: 2025-05-12 13:41:11 浏览: 16
### 如何在 macOS 上重置 MySQL Root 密码
#### 方法概述
如果忘记了 MySQL 的 `root` 用户密码,在 macOS 上可以通过以下方式重新设置密码。此过程涉及停止当前运行的 MySQL 实例并以跳过权限检查的方式启动服务。
---
#### 停止 MySQL 服务
首先需要确保 MySQL 服务已经停止,可以使用以下命令来完成这一操作:
```bash
sudo killall mysqld
```
或者通过 Homebrew 安装的服务管理工具关闭 MySQL:
```bash
brew services stop mysql
```
上述命令会终止正在运行的 MySQL 进程[^2]。
---
#### 跳过权限检查启动 MySQL
为了绕过现有的安全验证机制以便修改密码,需以跳过权限表的形式启动 MySQL:
```bash
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
```
这条命令会在后台运行一个新的 MySQL 实例,并忽略用户的访问控制规则。
注意:在此模式下,任何用户都可以无限制地访问数据库实例,因此建议仅用于紧急维护场景。
---
#### 登录到 MySQL 并更改密码
一旦服务器成功进入特殊状态,则可以直接连接至它而无需提供凭证信息:
```sql
mysql -u root
```
接着更新根账户关联的新认证字符串。对于版本低于8.x的产品来说,可采用如下语句实现目标设定简单数值作为登录依据[^3]:
```sql
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
FLUSH PRIVILEGES;
```
然而针对现代发行版(比如v8+)而言由于移除了旧函数调用接口所以应该改写成这样形式[^4]:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY '强密码';
FLUSH PRIVILEGES;
```
这里强调一点就是所选字符组合应当满足系统内置强度策略的要求——至少长度达到八位以上同时还混合运用大小写字母加数字再加上非字母类别的符号构成复杂度较高的串列从而提高安全性标准.
---
#### 正常重启 MySQL 服务
最后一步是要恢复正常运作秩序即退出刚才那种宽松环境回到常规防护体系当中去:
先结束异常状况下的守护进程:
```bash
sudo kill $(pgrep mysqld)
```
然后再依照正常流程开启服务即可恢复日常作业功能.
如果是经由包管理器安装的话那么就利用相应指令来进行标准化处理动作:
```bash
brew services start mysql
```
现在再次尝试凭借刚刚指定好的凭据登陆确认一切运转良好.
---
### 注意事项
- 如果启用了密码校验插件,请确保新的密码符合相应的复杂性要求。
- 修改完成后务必记得刷新权限缓存(`FLUSH PRIVILEGES`)以免造成不必要的麻烦。
- 整个过程中要小心谨慎对待生产环境中实际部署的数据以防意外丢失重要资料。
---
阅读全文
相关推荐


















