Google Cloud SQL 只允许您控制数据库 root 用户密码。我需要创建一个新用户并将他的访问权限限制为只读,同时保持完全特权用户。
有没有办法做到这一点?
提前致谢,
GCP 内的步骤:
首先username使用https://console.cloud.google.com/sql/instances/YOUR_INSTANCE_NAME/usersBuilt-in authentication上的选项创建数据库用户
然后撤销cloudsqlsuperuser权限:
REVOKE `cloudsqlsuperuser`@`%` FROM `username`@`%`;
Run Code Online (Sandbox Code Playgroud)
授予SELECT权限:
GRANT SELECT ON *.* TO `username`@`%`;
Run Code Online (Sandbox Code Playgroud)
核实:
SHOW GRANTS FOR 'USER_NAME';
-- You should see:
-- GRANT SELECT ON *.* TO `username`@`%`
Run Code Online (Sandbox Code Playgroud)
小智 2
您可以使用常规 MySQL 权限来实现这一点。以下是添加对数据库具有 SELECT 访问权限的用户的方法test。
mysql> GRANT ALL ON test.* TO user@'%';
Query OK, 0 rows affected (0.07 sec)
mysql> SHOW GRANTS FOR user@'%'\G
*************************** 1. row ***************************
Grants for user@%: GRANT USAGE ON *.* TO 'user'@'%'
*************************** 2. row ***************************
Grants for user@%: GRANT ALL PRIVILEGES ON `test`.* TO 'user'@'%'
2 rows in set (0.07 sec)
mysql>
Run Code Online (Sandbox Code Playgroud)
如果您想授予对所有数据库的 SELECT 访问权限,您可以使用GRANT ALL ON `%`.*.
| 归档时间: |
|
| 查看次数: |
3851 次 |
| 最近记录: |