日前因為測試phpMyAdmin的兩階段驗證功能,有使用Google Authenticator作為兩階段驗證的機制,但因故刪了Google Authenticator的驗證碼,卻沒有取消phpMyAdmin的兩階段驗證,結果就沒辦法再透過phpMyAdmin登入mysql。後來找到方法可以解決這個問題。
因為這個機制是phpMyAdmin提供的,和mysql沒有關係,因此mysql原始的連線方式是不受影響。那這個機制需要安裝phpmyadmin的延伸功能的資料表,資料是放在phpmyadmin資料庫的pma__userconfi資料表的config_data欄位。
找到資料後,可以直接刪除和受影響帳號的記錄,也可以從config_data裡取得secret key重新產生Google Authenticator的驗證碼。