合 云和恩墨MogDB介绍及docker容器化使用
简介
MogDB是云和恩墨基于openGauss开源数据库进行定制、推出的企业发行版。它将围绕高可用、安全、自动化运维、数据库一体机和SQL审核优化等企业需求,解决企业用户落地。其核心价值是易用性、高性能、高可用等和全天候的企业支持。
在openGauss内核的基础上,MogDB增加了MogHA组件,用于进行主备架构下高可用的自动化管理,这对于企业级应用来说是至关重要的。同时也同步研发了MogDB Manager管理软件,其中包括备份恢复,监控,自动化安装等等针对企业级易用性需求的组件。
https://docs.mogdb.io/zh/mogdb/v2.1/MogDB-compared-to-openGauss/
安装
容器化部署
参考:https://docs.mogdb.io/zh/mogdb/v2.1/container-based-installation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | docker pull swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:2.1.1 docker rm -f lhrmogdb docker run -d --name lhrmogdb -h lhrmogdb \ --privileged=true \ -e GS_PASSWORD=lhrXXT@123 \ -p 25432:5432 \ swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:2.1.1 docker logs -f lhrmogdb docker exec -it lhrmogdb bash su - omm gsql -d postgres -r omm@lhrmogdb:~$ gsql -d mogila -p5432 -r gsql ((MogDB 2.1.1 build b5f25b20) compiled at 2022-03-21 14:42:30 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. MogDB=#\l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+-------+----------+-------------+-------------+------------------- mogdb | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8 | mogila | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8 | postgres | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/omm + | | | | | omm=CTc/omm template1 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/omm + | | | | | omm=CTc/omm (5 rows) MogDB=#\dt List of relations Schema | Name | Type | Owner | Storage --------+---------------+-------+-------+---------------------------------- public | actor | table | mogdb | {orientation=row,compression=no} public | address | table | mogdb | {orientation=row,compression=no} public | category | table | mogdb | {orientation=row,compression=no} public | city | table | mogdb | {orientation=row,compression=no} public | country | table | mogdb | {orientation=row,compression=no} public | customer | table | mogdb | {orientation=row,compression=no} public | film | table | mogdb | {orientation=row,compression=no} public | film_actor | table | mogdb | {orientation=row,compression=no} public | film_category | table | mogdb | {orientation=row,compression=no} public | inventory | table | mogdb | {orientation=row,compression=no} public | language | table | mogdb | {orientation=row,compression=no} public | payment | table | mogdb | {orientation=row,compression=no} public | rental | table | mogdb | {orientation=row,compression=no} public | staff | table | mogdb | {orientation=row,compression=no} public | store | table | mogdb | {orientation=row,compression=no} (15 rows) -- 配置远程登录 alter system set password_policy=0; alter system set password_encryption_type=1; ALTER ROLE omm IDENTIFIED BY 'lhr' REPLACE 'lhrXXT@123'; cat >> /var/lib/mogdb/data/postgresql.conf <<"EOF" listen_addresses = '*' EOF echo "host all all 0.0.0.0/0 sha256" >> /var/lib/mogdb/data/pg_hba.conf -- 重启 gs_ctl restart -- 初始化数据库的用户,是不能通过IP远程连接的,所以需要创建另外一个用户才能远程连接 gsql -d postgres -r create user lhr with password 'lhr' sysadmin ; grant all PRIVILEGES to lhr; -- 验证远程登录数据库 gsql -dpostgres -h172.17.0.3 -Ulhr -r -W'lhr' psql -U lhr -d postgres -h192.168.66.35 -p25432 |
环境变量
为了更灵活地使用MogDB镜像,可以设置额外的参数。未来我们会扩充更多的可控制参数,当前版本支持以下变量的设定。
GS_PASSWORD
使用MogDB镜像的时候,必须设置该参数。该参数值不能为空或者不定义。该参数设置了MogDB数据库的超级用户omm以及测试用户mogdb的密码。MogDB安装时默认会创建omm超级用户,该用户名暂时无法修改。测试用户mogdb是在entrypoint.sh中自定义创建的用户。