You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为新建用户Test授予仅针对SCHEMA XYZ的SELECT权限?

针对特定SCHEMA授予SELECT权限的解决方案

没问题,给用户Test仅授予SCHEMA XYZ的SELECT权限其实很容易操作,我分两种常见数据库场景给你说明:

PostgreSQL 操作步骤

  • 第一步:创建Test用户
    先创建用户并设置安全密码(记得替换成你自己的密码):

    CREATE USER Test WITH PASSWORD 'your_secure_password';
    
  • 第二步:授予现有表的SELECT权限
    针对XYZ SCHEMA下已经存在的所有表,授予SELECT权限:

    GRANT SELECT ON ALL TABLES IN SCHEMA XYZ TO Test;
    
  • 第三步(可选):授予未来新建表的默认权限
    如果之后在XYZ SCHEMA里创建新表,想让Test自动拥有这些新表的SELECT权限,可以执行:

    ALTER DEFAULT PRIVILEGES IN SCHEMA XYZ GRANT SELECT ON TABLES TO Test;
    

MySQL 操作步骤

在MySQL中,SCHEMA和DATABASE是等价的,操作如下:

  • 第一步:创建Test用户
    创建用户并指定登录主机(比如localhost,换成%则允许远程登录):

    CREATE USER 'Test'@'localhost' IDENTIFIED BY 'your_secure_password';
    
  • 第二步:授予XYZ SCHEMA的SELECT权限
    直接授予该SCHEMA下所有对象的SELECT权限:

    GRANT SELECT ON XYZ.* TO 'Test'@'localhost';
    
  • 第三步:刷新权限
    执行命令让权限立即生效:

    FLUSH PRIVILEGES;
    

这样设置后,Test用户就只能访问XYZ SCHEMA里的表并执行SELECT操作,完全无法访问ABC SCHEMA的内容啦。

内容的提问来源于stack exchange,提问作者Rahman Gurbaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:51:22