Google Cloud SQL 升級到 MySQL 8 遇到的權限問題

 Google Cloud SQL 提供資料庫升級的方式很方便

幾乎是一鍵完成升級

這邊是從 5.7 升級到 8.0

在備份前先手動備份以外

另外還建立了一個副本

以確保在升級後有問題可迅速切回舊的資料庫


升級後發現有幾個資料庫使用者的權限有問題

在 phpMyAdmin 上面重新設定後也是一樣

phpMyAdmin 5.2.0 & 5.2.1 上設定 MySQL 8 的權限有點問題

由於 MySQL 8 上做了個修改

如果需要給予該使用者該資料庫 GRANT 的權限

需要在 GRANT 後面加上 WITH GRANT OPTION 指令

否則該使用者會無法存取該資料庫

基本上我是無法直接在 phpMyAdmin 上用點選的方式完成設定


正常權限的畫面



如果用 phpMyAdmin 勾選上方 Check all

Administration 下的 GRANT 不會被勾選

即使手動勾選 GRANT 儲存後也是空的


可以使用以下指令修改完貼到 phpMyAdmin 上執行

CREATE USER 'db_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

GRANT ALL PRIVILEGES ON your_database.* TO 'db_user'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;


測試環境

- Google Cloud SQL MySQL 8.0.26(測試過 MySQL 8.0.31 也是如此)

- phpMyAdmin 5.2.0 & 5.2.1


Comments

Popular posts from this blog

CentOS7 如何新增/移除 Rich Rule for firewalld

mac 安裝 mtr

Howto use Postman test Cors