达梦数据库(DM8)arm64架构docker镜像以及部署

获取中...

首句先骂:达梦这个垃圾玩意要不是国产化强制用你,我真的这辈子都不会用,还收费。。。

要想在arm64架构上部署达梦的docker环境不太容易,笔者搞了1天把经验总结如下:
(估计各位都是被逼的用的鲲鹏芯以及麒麟OS吧~~)

1.达梦是收费的,官网已经没有了docker的镜像,大概是为了更好的圈钱,估计让你加他们销售微信后不知道才会给,但网上已有了可以部署在arm上的docker镜像

镜像名:qinchz/dm8-arm64:latest
直接在hub.docker.com就可以拉到,如果你拿不到可以找我要

启动容器:
docker run -d -p 5236:5236 --restart=always --name dm8_01 \
--privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin \
-e INSTANCE_NAME=dm8_01 --mount source=dm8-vol,dst=/home/dmdba/data \
qinchz/dm8-arm64:latest    

其实上方的PAGE_SIZE等参数其实写了也没起作用,因为docker镜像本身是已经给你创建好了一个数据库,该数据库信息如下:

字符集 utf-8

CHARSET=1

VARCHAR 类型对象的长度以字符为单位

LENGTH_IN_CHAR=1

标识符大小写不敏感

CASE_SENSITIVE=0

默认账号

SYSDBA/SYSDBA

所以如果你对这种配置的数据库不满意,可以先删除这个数据库重新部署:

# 进入到DM数据库安装路径
[root@centos6DM ~]# cd /home/dmdba/dmdbms/script
# 删除指定的操作系统服务
[root@centos6DM root]# ./dm_service_uninstaller.sh -n DmServiceDMSERVER

是否删除服务(DmServiceDMSERVER)?(Y/y:是 N/n:否): Y
Stopping DmServiceDMSERVER:                                [ OK ]
删除服务文件(/etc/rc.d/init.d/DmServiceDMSERVER)完成
删除服务(DmServiceDMSERVER)完成

然后去删除数据库实例文件:
[root@centos6DM root]# rm -rf /home/dmdba/data

建议在删除文件后,再执行一下./dm_service_uninstaller.sh -n DmServiceDMSERVER

然后配置你自己的数据库配置

1.进入容器目录/usr/local/bin,修改docker-entrypoint.sh文件第17行

${DM_PATH}/bin/dminit PATH=/home/dmdba/data PAGE_SIZE=16 CHARSET=1 LENGTH_IN_CHAR=1 CASE_SENSITIVE=0

2.重新启动容器(restart)

关于dminit的参数,你可以运行 dminit -help 或者去达梦官网找下资料

镜像的达梦版本是V8,所以你不同配置的数据库或者不同版本的数据库迁移过来的数据导入都会出问题,包括不能版本的达梦数据库管理软件在连接的时候也会出问题,完全没有所谓的向下兼容思想。。。

哦对了刚说这个达梦是收费的, 所以镜像里的会报授权到期截止14天,到期后你重启下容器就又可以试用了~

打赏
评论区
头像