TL;DR: 在 Google Cloud Console 中創(chuàng)建用戶后,不要忘記 REVOKE ‘cloudsqlsuperuser’@’%’ FROM ‘your-user’@’%’;如果您只想讓該用戶訪問特定模式。
通過 Google Cloud Console 創(chuàng)建 MySQL 用戶會自動添加 cloudsqlsuperuser 角色,該角色允許用戶訪問該 MySQL 實例上的所有內(nèi)容:
顯示 'user-from-gcp-console'@'%' 的補(bǔ)助金; +------------------------------------------------ ------------+ |授予 user-from-gcp-console@% | +------------------------------------------------ ------------+ |將 *.* 的使用權(quán)授予 `user-from-gcp-console`@`%` | |將 `cloudsqlsuperuser`@`%` 授予 `user-from-gcp-console`@`%`| +------------------------------------------------ ------------+
登錄后復(fù)制
Google 在其知識庫的關(guān)于 MySQL 用戶文章中提到了這一點。
要創(chuàng)建只能訪問一種架構(gòu)的用戶,您需要通過運(yùn)行以下命令來創(chuàng)建沒有控制臺的用戶:
創(chuàng)建用戶“您的用戶”@“%”已識別 使用“mysql_native_password” BY ''; 將 your-schema.* 上的所有內(nèi)容授予 'your-user'@'%';
登錄后復(fù)制
或者通過控制臺創(chuàng)建用戶,但不要忘記刪除 cloudsqlsuperuser 角色:
// 通過 Google Cloud Console 創(chuàng)建用戶 從“您的用戶”@“%”中撤銷“cloudsqlsuperuser”@“%”; 將 your-schema.* 上的所有內(nèi)容授予 'your-user'@'%';
登錄后復(fù)制
結(jié)束語
用戶由用戶名和主機(jī)唯一標(biāo)識。 % 代表任何主機(jī),當(dāng)您將用戶訪問限制為僅某些主機(jī)時(例如 your-user%localhost),命令可能會有所不同。
您可以將 Cloud SQL 代理與 IAM 結(jié)合使用。請閱讀 IAM 身份驗證文章了解更多信息。
現(xiàn)在還有 Cloud SQL Studio [預(yù)覽版],可能會派上用場。
有關(guān) MySQL 數(shù)據(jù)庫中用戶管理的更多信息請點擊此處。