TL;DR: 在Google Cloud Console 中建立使用者後,請不要忘記從'your-user' 撤銷'cloudsqlsuperuser'@'%' ' @'%';如果您只想讓該使用者存取特定模式。
透過 Google Cloud Console 建立 MySQL 使用者會自動新增 cloudsqlsuperuser 角色,該角色允許使用者存取該 MySQL 實例上的所有內容:
SHOW GRANTS FOR 'user-from-gcp-console'@'%'; +------------------------------------------------------------+ |Grants for user-from-gcp-console@% | +------------------------------------------------------------+ |GRANT USAGE ON *.* TO `user-from-gcp-console`@`%` | |GRANT `cloudsqlsuperuser`@`%` TO `user-from-gcp-console`@`%`| +------------------------------------------------------------+
Google 在其知識庫的關於 MySQL 使用者文章中提到了這一點。
要建立只能存取一種架構的用戶,您需要透過執行以下內容來建立沒有控制台的用戶:
CREATE USER 'your-user'@'%' IDENTIFIED WITH 'mysql_native_password' BY '<some-strong-password>'; GRANT ALL ON your-schema.* TO 'your-user'@'%';
或透過控制台建立用戶,但不要忘記刪除 cloudsqlsuperuser 角色:
// Create a user via the Google Cloud Console REVOKE 'cloudsqlsuperuser'@'%' FROM 'your-user'@'%'; GRANT ALL ON your-schema.* TO 'your-user'@'%';
以上是建立只能存取 CloudSQL 中一個架構的用戶的詳細內容。更多資訊請關注PHP中文網其他相關文章!