创建opengauss.yml文件
services: opengauss: image: enmotech/opengauss:6.0.0 container_name: OpenGauss environment: - GS_PASSWORD=Tuxun123@ #默认的管理员用户omm也是此密码 - GS_USERNAME=tuxun #可根据需要创建 ports: - "5432:5432" volumes: - /etc/localtime:/etc/localtime - ./opengauss/data:/var/lib/opengauss #- ./opengauss/config/gscgroup_omm.cfg:/usr/local/opengauss/etc/gscgroup_omm.cfg restart: always privileged: true user: root |
docker-compose -f opengauss.yml up -d
OpenGauss 创建用户和数据库指南
一、创建新用户
1. 使用管理员账户登录
首先用管理员账户(如 omm )登录:
gsql -d postgres -U omm -W
2. 创建用户命令
-- 创建普通用户(无创建数据库权限)
CREATE USER 用户名 WITH PASSWORD '密码';
-- 创建有创建数据库权限的用户
CREATE USER 用户名 WITH CREATEDB PASSWORD '密码';
-- 创建管理员用户(最高权限)
CREATE USER 用户名 WITH SYSADMIN PASSWORD '密码';
3. 示例
-- 创建普通用户
CREATE USER dev_user WITH PASSWORD 'Dev@123456';
-- 创建有建库权限的用户
CREATE USER db_creator WITH CREATEDB PASSWORD 'Creator@123';
-- 创建管理员用户
CREATE USER admin_user WITH SYSADMIN PASSWORD 'Admin@123456';
二、创建新数据库
1. 基本创建命令
-- 创建数据库(默认所有者是当前用户)
CREATE DATABASE 数据库名;
-- 创建数据库并指定所有者
CREATE DATABASE 数据库名 OWNER 用户名;
2. 完整参数示例
CREATE DATABASE mydb
OWNER db_creator
TEMPLATE template0
ENCODING 'UTF8'
LC_COLLATE 'en_US.UTF-8'
LC_CTYPE 'en_US.UTF-8'
CONNECTION LIMIT 50;
三、用户授权管理
1. 授予数据库权限
-- 授予用户对数据库的所有权限
GRANT ALL PRIVILEGES ON DATABASE 数据库名 TO 用户名;
-- 授予特定权限
GRANT CONNECT, CREATE, TEMPORARY ON DATABASE 数据库名 TO 用户名;
2. 授予模式(Schema)权限
-- 授予模式使用权限
GRANT USAGE ON SCHEMA 模式名 TO 用户名;
-- 授予模式中所有表的查询权限
GRANT SELECT ON ALL TABLES IN SCHEMA 模式名 TO 用户名;
3. 授予表权限
-- 授予表的所有权限
GRANT ALL PRIVILEGES ON TABLE 表名 TO 用户名;
-- 授予特定权限(如 SELECT, INSERT, UPDATE 等)
GRANT SELECT, INSERT ON TABLE 表名 TO 用户名;
四、实用操作示例
1. 完整创建用户和数据库流程
-- 1. 创建用户
CREATE USER app_user WITH PASSWORD 'App@123456';
-- 2. 创建数据库并指定所有者
CREATE DATABASE app_db OWNER app_user
;-- 3. 授予权限(可选)
GRANT ALL PRIVILEGES ON DATABASE app_db TO app_user;
2. 修改用户密码
ALTER USER 用户名 WITH PASSWORD '新密码';
3. 删除用户和数据库
-- 删除数据库(需要先断开所有连接)DROP DATABASE 数据库名;-- 删除用户(需要先撤销所有权限)DROP USER 用户名;
五、查看现有用户和数据库
1. 查看所有用户
SELECT usename FROM pg_user;\du -- 更详细的用户列表
2. 查看所有数据库
SELECT datname FROM pg_database;\l -- 更详细的数据库列表
六、注意事项
密码复杂度:OpenGauss 默认要求密码包含大小写字母、数字和特殊字符
权限最小化:遵循最小权限原则,只授予必要的权限
连接限制:生产环境应考虑设置连接限制
模板数据库:创建数据库时可指定 TEMPLATE template0 或 TEMPLATE template1
字符编码:建议使用 UTF8 编码以确保兼容性
七、通过客户端工具创建
如果使用 Data Studio 等图形化工具:
连接数据库后右键点击"用户" → "新建用户"
填写用户名、密码并设置权限
右键点击"数据库" → "新建数据库"
填写数据库信息并选择所有者
转载请注明:IT笔记分享 » docker技术 » docker-compose安装openguass和配置用户
版权声明
本站《作品展示》类文章均为原创,转载必须注明出处,技术分享类文章部分来源于网络,版权归原作者所有,若侵权请留言。