1. 程式人生 > 資料庫 >Macos下重置MySQL密碼

Macos下重置MySQL密碼

環境資訊

Macos Catalina 10.15.7 (19H2)
MySQL 8.0.22

問題

忽然一段時間忘記了MySQL資料庫的密碼,登入不上去了。該如何辦呢?

預想中的路徑

  1. mysqld_safe --skip-grant-tables 設定密碼不生效
  2. mysql -u root 直接登入
  3. 重置密碼之類的動作

結果發現,mysqld_safe無法啟動成功,一直被拒絕啟動

實際重置路徑

  1. brew uninstall mysql 解除安裝mysql
  2. brew install mysql 重新安裝
  3. 單獨開一個控制檯,啟動mysql_safe
mysqld_safe --skip-grant-tables

或者直接在後臺啟動:

mysqld_safe --skip-grant-tables &

在這裡插入圖片描述4. 單獨啟動一個控制檯,修改密碼

 mysql -u root
 use mysql;
 ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your password';
 flush privileges;

在這裡插入圖片描述記得重新整理一下privleges,方可立即生效。
5. 重新登入即可。

加速brew方法

如果brew更新速度慢的話,可以考慮切換至國內的映象,具體操作如下:

    cd "$(brew --repo)"  
    git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
     
    cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
    git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
     
    echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
    source ~/.bash_profile

前兩條指令是切換映象源到aliyun上。最後一條指令是寫入profile檔案,啟動之後自動執行。

Sequel Pro連線問題

sequel pro連線問題注意: 之前在設定密碼時,使用了caching_sha_password的加密函式,但是sequel pro目前的版本是2016年,估計不支援此類加密方法。
那就單獨為sequel pro增加一個使用者好了。

mysq -u root -p 
use mysql;
CREATE USER 'test'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test1234';
grant all privileges on *.* to test@'localhost';

這裡的邏輯是單獨為sequel pro增加了一個可用的mysql賬戶。