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中文网其他相关文章!