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