首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

macOS MySQL 密碼忘記重置完整指南:命令行標準流程與別名技巧

     編輯:MySQL 資料庫相關知識

標準重置流程(MySQL 5.7/8.0 通用)

1. 停止服務

# 官方安裝包
sudo /usr/local/mysql/support-files/mysql.server stop

# Homebrew
brew services stop mysql

2. 啟動跳過授權模式

cd /usr/local/mysql/bin
sudo su
./mysqld_safe --skip-grant-tables &

# 等待啟動完成,保持終端或新開標籤頁

3. 重置密碼(關鍵:必須先 FLUSH PRIVILEGES)

# 新終端
alias mysql=/usr/local/mysql/bin/mysql  # 臨時別名,避免輸入全路徑
mysql -u root

# 進入 mysql 系統庫
USE mysql;

# 關鍵:skip-grant-tables 下必須先刷新權限,否後 UPDATE 不生效
FLUSH PRIVILEGES;

# 修改密碼(5.7/8.0 語法)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongP@ss123';
-- 或指定插件
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'NewStrongP@ss123';

FLUSH PRIVILEGES;
EXIT;

4. 重啟正常服務驗證

# 關閉 skip-grant-tables 進程
# 正常啟動
sudo /usr/local/mysql/support-files/mysql.server start

# 驗證
mysql -u root -p
# 輸入新密碼

已知密碼時的快速修改

mysqladmin -u root -p password 'NewP@ss123'
# 提示輸入舊密碼,完成修改

別名技巧:永久生效

# 加入 ~/.zshrc 或 ~/.bash_profile
echo 'alias mysql=/usr/local/mysql/bin/mysql' >> ~/.zshrc
echo 'alias mysqladmin=/usr/local/mysql/bin/mysqladmin' >> ~/.zshrc
source ~/.zshrc

# 之後直接用 mysql、mysqladmin 即可

備選方案:置空密碼再重設

# skip-grant-tables 模式下
mysql -u root
USE mysql;
UPDATE user SET authentication_string='' WHERE User='root';
FLUSH PRIVILEGES;
EXIT;

# 正常啟動後
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewP@ss123';

Apple Silicon (M 系列芯片) 適配

項目Intel (官方包)Apple Silicon (Homebrew)
安裝路徑/usr/local/mysql//opt/homebrew/opt/mysql/
bin 目錄/usr/local/mysql/bin//opt/homebrew/opt/mysql/bin/
data 目錄/usr/local/mysql/data//opt/homebrew/var/mysql/
服務腳本/usr/local/mysql/support-files/mysql.serverbrew services mysql
啟動 skip-grantsudo ./mysqld_safe --skip-grant-tables &sudo /opt/homebrew/opt/mysql/bin/mysqld_safe --skip-grant-tables &

避坑清單

  1. 未執行 FLUSH PRIVILEGES:skip-grant-tables 下權限表緩存未失效,UPDATE 不生效
  2. Host 不匹配:檢查 SELECT User, Host FROM mysql.user WHERE User='root'; 針對性修改
  3. authentication_string vs Password:5.7+ 用 authentication_string,5.6 用 Password
  4. plugin 欄位:8.0 默認 caching_sha2_password,舊客端需指定 mysql_native_password
  5. sudo 權限:mysqld_safe 需 root 權限綁定 3306 端口

macOS 上 MySQL 密碼重置,**核心三步:停服務 → skip-grant-tables → FLUSH PRIVILEGES + ALTER USER → 重啟驗證**。配合別名簡化路徑,標準化操作,一次成功。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved