暂无图片
如何使用Docker部署MogDB,并且是创建的数据库兼容模式B
我来答
分享
xinyuzxx
2025-02-21
如何使用Docker部署MogDB,并且是创建的数据库兼容模式B

我下载了5.0.9的MogDB镜像到我本地,然后运行执行了命令

docker run --name mogdb --privileged=true -d -e GS_NODENAME=myMogDB -e GS_USERNAME=root -e GS_PASSWORD=Enmo@123 -e DBCOMPATIBILITY=B  -v /home/mogdb:/var/lib/mogdb -p 5432:5432 harbor.xx.cn/mogdb/mogdb:5.0.9


我想实现的效果:

1. 创建一个数据库myMogDB

2. 用户名为root

3. 密码为Enmo@123

4. 兼容模式为B(Mysql)

5. 使用root/Enom@123这个账号可以执行增删改查(主要是表、视图、存储过程)


但是执行后,使用“SHOW sql_compatibility;”语句查到的结果一致是“A”,是不能直接用环境变量创建吗?

另外,下面是我用root连接后看到的数据库内容,没有myMogDB的数据库。是缺少什么操作吗?


在网上查过了,有说环境变量加“- SQL_COMPATIBILITY=MYSQL”的,我试了没有效果;进容器后,在/usr/local/bin/entrypoint.sh文件里看到初始化数据库出用了“$DBCOMPATIBILITY”,改了后还是不行。

麻烦各位帮忙看下什么原因,或者应该怎么操作,十分感谢!

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
DarkAthena
  • 方法1,启动容器后,连接数据库,手动创建一个B兼容模式的库
docker exec -it mogdb /bin/bash
su - omm
gsql -r -d postgres
create database myMogDB dbcompatibility ='B';
复制
  • 方法2,修改开源的docker构建脚本,在create database语句的地方加上兼容性指定,然后重新构建docker镜像
    https://gitee.com/enmotech/enmotech-docker-mogdb
暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
xinyuzxx
题主
2025-02-21
你好,感谢你的回答。使用方法1解决问题了。 另外,想问下,如果使用方法2,又不想在entrypoint.sh中兼容性写死,还想通过环境变量的方式传进去,该怎么修改呢?修改后如何执行操作?必须在ubuntu:20.04上执行吗?
DarkAthena

entrypoint.sh是个shell文件,可以参考下你运行的docker命令中的这些用-e方式指定的参数,找找这些参数在哪些地方用到了,是怎么用的,就可以仿照着自己加一个新的参数。
能执行docker命令的环境一般都可以执行docker build来构建镜像,linux和windows上都行。
关于如何构建一个docker镜像,可以参考docker相关的文档
https://www.runoob.com/docker/docker-build-command.html

暂无图片 评论
暂无图片 有用 1
打赏 0
xinyuzxx
题主
2025-02-24
十分感谢!
回答交流
Markdown


请输入正文
提交
相关推荐
opengauss 5.0.0 支持使用sqlalchemy连接吗?
回答 5
大佬sqlalchemy连接opengauss5.0可以指导一下方法
ptk安裝mogdb报(Required) third_party_gateway_ip="",什么意思,如何解决
回答 2
已采纳
该问题是由于安装时指定了installcm参数要求安装CM组件,且集群内只有两个节点,两节在部署CM时,两个实例节点都可以ping通的网关IP的参数thirdpartygatewayip是cmserv
MogDB 不支持 on conflict, 如何改写?
回答 2
好奇自问自答能赚墨汁吗???
在spring的数据插入事务中,通过LAST_INSERT_ID()函数进行插入数据的ID查询问题:1.频繁插入查询ID时,查询ID会出现重复的情况;2.插入数据后查询,查询结果为0,请问如何解决
回答 1
插之前先判断
求助在银河麒麟V10 X86平台安装MogDB报如下错 libparquet.so.14找不到
回答 1
设置一下lib路径试试呢?类似于exportLDLIBRARYPATH/opt/mogdb/script/gspylib/clib:$LDLIBRARYPATH
MogDB 3.0.1om 部署一主一备,预安装时报错,报错信息显示:注册其他ssh-agent 失败,输出为【ssh-add执行失败,错误:./ssh-agent.sh:第18行:期望:找不到命令】,哪位大佬知道该如何解决吗
回答 2
已采纳
看看sshagent.sh:第18行:是啥
mogdb中如何实现postgrep sql中convert_empty_string_to_null = on配置的功能
回答 1
MogDB中在创建新的数据库时,可以通过设置DBCOMPATIBILITY参数,来控制空字符串和NULL值的行为。您的需求需要将DBCOMPATIBILITY设置为A。https://docs.mog
使用开发工具怎么连接MogDB,视乎不支持PostgreSQL的驱动
回答 2
可以尝试一下官方提供的datastudio,我最近用这个玩意写了不少代码了https://opengauss.obs.cnsouth1.myhuaweicloud.com/2.1.0/DataStud
MogDB 3.0如何在一主一备的环境下 添加一台备库
回答 3
已采纳
https://docs.mogdb.io/zh/mogdb/v3.0/13gsexpansion%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E看看这个主库不需停机
mogdb客户端如何将查询结果输出为excel或html格式?
回答 2
已采纳
postgres\a\t\o/home/mogdb/yyyy.htmlOutputformatisunaligned.Showingonlytuples.postgres\psetformathtml