X

MySQL 忘記 root 密碼強制進入並重設密碼

現在常使用 Docker 的情況下,MySQL 的安裝沒有問答的狀況,常常都會遇到不知道密碼不知道該怎麼辦的情況~

由自己寫的文章看來,每幾年就會遇到一次,然後遇到後,每次的做法都有些許不同~

來記錄這次的做法~

MySQL 忘記 root 密碼強制進入並重設密碼

MySQL 8.0 後,若不知道 root 密碼,要強制重新設定做法如下:

  1. 先產生一個檔案,內容如下(假設放在 /tmp/mysql-init):
    • ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';"
  2. 把所有 MySQL process 都停掉
  3. mysqld --init-file=/tmp/mysql-init & # MySQL 啟動強制載入此檔案,就會修改 MySQL root 密碼變成剛剛設定那個密碼

步驟:

  1. echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';" > /tmp/mysql-init
  2. killall mysqld # 可以使用正常方式關閉,這個方式有點暴力
  3. mysqld --init-file=/tmp/mysql-init &
  4. 成功啟動後,可以使用:
    • mysql -u root -pMyNewPass # 進入操作 MySQL

若已經登入 MySQL 想要修改 root 密碼:

  1. mysql> use mysql;
  2. mysql> UPDATE user SET Password=PASSWORD("password") WHERE User='root';

相關網頁

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post