TL;DR: Nachdem Sie einen Benutzer in der Google Cloud Console erstellt haben, vergessen Sie nicht, 'cloudsqlsuperuser'@'%' FROM 'Ihr-Benutzer' zu widerrufen '@'%'; wenn Sie möchten, dass dieser Benutzer nur auf bestimmte Schemata zugreift.
Durch das Erstellen eines MySQL-Benutzers über die Google Cloud Console wird automatisch die Rolle „cloudsqlsuperuser“ hinzugefügt, die dem Benutzer Zugriff auf alles auf dieser MySQL-Instanz ermöglicht:
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 erwähnt dies im Artikel „Über MySQL-Benutzer“ seiner Wissensdatenbank.
Um einen Benutzer mit Zugriff auf nur ein Schema zu erstellen, müssen Sie den Benutzer entweder ohne die Konsole erstellen, indem Sie Folgendes ausführen:
CREATE USER 'your-user'@'%' IDENTIFIED WITH 'mysql_native_password' BY '<some-strong-password>'; GRANT ALL ON your-schema.* TO 'your-user'@'%';
Oder indem Sie den Benutzer über die Konsole erstellen, aber dann nicht vergessen, die Rolle „cloudsqlsuperuser“ zu entfernen:
// Create a user via the Google Cloud Console REVOKE 'cloudsqlsuperuser'@'%' FROM 'your-user'@'%'; GRANT ALL ON your-schema.* TO 'your-user'@'%';
Das obige ist der detaillierte Inhalt vonErstellen Sie einen Benutzer mit Zugriff auf nur ein Schema in CloudSQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!