同福

达梦数据库DM8在麒麟10安装笔记【20220825】

介绍

介绍

达梦是一个国人自主研发的企业级数据库开发商,其数据库产品和Oracle数据库极其相似,Oracle数据库的SQL*Plus工具支持的内建命令在达梦数据库的disql下都可以正常使用。

国人能有这样了不起的数据库产品,福哥必须要支持一下!前面福哥以及带着大家学会了在Windows平台上安装达梦数据库了,今天福哥要带着大家学习在Linux平台(CentOS7)上面安装达梦数据库的最新版本DM8数据库。

安装

下载

官方下载页。

https://eco.dameng.com/download/

因为福哥是在麒麟10系统安装达梦数据库,这里要选择中间的信创平台。

因为福哥的麒麟10的服务器CPU是飞腾的,所以这里要选择飞腾的CPU平台。

https://download.dameng.com/eco/adapter/DM8/202207/dm8_20220723_FTarm_kylin10_sp1_64_ent.zip

home/topic/2022/0822/16/a68855e3715c21ac5991ad5800a29a98.png

安装依赖

安装依赖库。

yum -y install unzip openssl-devel

建立根目录

建立安装软件的根目录。由于达梦数据库安装路径不能包含“.”,所以福哥只得建立一个/tongfunet/env/的目录了。

mkdir -p /tongfunet/env/

解压缩

dm8是zip格式的,解压缩后得到的是一个iso的镜像文件。

home/topic/2022/0822/17/caeb996470368ac3eb25030c4e76fc61.png

挂载iso镜像

使用mount命令将dm8的iso镜像文件挂载到/mnt/目录上。

mount -o loop dm8_20220723_FTarm_kylin10_sp1_64_ent_8.1.2.114_pack12.iso /mnt/

home/topic/2022/0822/17/ad9000d118aaeb7f5e292f013fb9e54a.png

开始安装

现在可以启动安装程序DMInstall.bin开始安装达梦数据库。

/mnt/DMInstall.bin -i

报错了!看提示信息原来是/tmp目录空余容量太小了,居然对tmp目录的大小有要求。。

home/topic/2022/0822/17/c5a7bd03f1f847192e4c78993d809a12.png

没办法!福哥建立了/tmp2,并且通过DM_INSTALL_TMPDIR环境变量修改了默认临时目录到/tmp2了。

home/topic/2022/0822/17/353ef2653827bd10e8a044825b588be7.png

现在重新安装!又报错了。。

home/topic/2022/0822/17/5f7ca340cd54003558411dac27e82dd5.png

不过这个错误并不影响安装,我们先继续吧~~

home/topic/2022/0822/17/ebee617b97a00afcbf2ee3efd89b35a8.png安装成功了!!

ldconfig

建立/etc/ld.so.conf.d/dm.conf文件,添加达梦bin目录/tongfunet/env/dm8dbms/bin进去。

然后,执行ldconfig命令刷新。这里系统会报一个错误,没有关系,不用管它。

home/topic/2022/0822/17/b88ab20338eba20133db03143ada4784.png

初始化

达梦数据库和我们熟悉的MySQL不太一样,达梦数据库每个数据库是一个单独的实例,这个单独的实例会占用一个服务端口。

所以,我们虽然安装好了数据库引擎,但是并没有一个数据库服务器运行着,现在福哥要通过命令行创建一个数据库实例tfums,这个tfums实例会占用一个服务端口,可以通过程序连接,可以通过客户端连接。

建立数据库根目录

首先福哥要建立达梦数据库的根目录/tongfunet/env/dm8data/。

mkdir -p /tongfunet/env/dm8data
chown dmdba.dinstall /tongfunet/env/dm8data

创建数据库

创建数据库需要用到dminit命令,dminit是交互式的命令,福哥利用dminit创建了tfums数据库。

/tongfunet/env/dm8dbms/bin/dminit

home/topic/2022/0825/15/ff4231204c4418db65b3eaf2754c66e5.png

启动数据库实例

数据库创建好了,现在我们可以用dmserver启动数据库实例了。

/tongfunet/env/dm8dbms/bin/dmserver /tongfunet/env/dm8data/tfums/dm.ini -noconsole

home/topic/2022/0825/15/bc6b42dcb9c5fcf46d2e8431a6d3fe12.png

dmserver是前台运行的命令,所以如果要让它后台运行,需要使用如下的命令。

/tongfunet/env/dm8dbms/bin/dmserver /tongfunet/env/dm8data/tfums/dm.ini -noconsole 2>&1 &

使用

现在我们就可以使用客户端连接这个数据库的实例了。

设置连接

福哥用的是KVM虚拟机,福哥设置的端口是5236,SYSDBA的默认密码也是SYSDBA。

home/topic/2022/0825/15/eaf96a9507c41198c16e035cf664eb18.png

连接使用

点击确定连接我们刚刚启动的数据库实例,这个模式就是MySQL数据库里的database。

home/topic/2022/0825/15/b1bb5cc25acb5030a2542294b244a5aa.png

创建模式

福哥不太理解的是在初始化数据库的时候明明写了tfums,但是模式里面却没有tfums模式,只有默认的SYSDBA这个模式。没有办法,福哥只好自己创建一个tfums的模式了。

home/topic/2022/0825/15/88327d474e4cd8585171aada32de5434.png

home/topic/2022/0825/15/ab1212ca3cafdba69ea6bc6d9689197e.png

停止数据库实例

要在Linux下停止达梦数据库实例,需要先找到达梦数据库实例的进程ID,然后通过kill命令停止。

ps -ef | grep dmserver
kill -10 128216

home/topic/2022/0825/16/17844b15079c6179267f7bcf4a47ae9a.png

Bug

动态库冲突

安装完DM8之后发现yum废了,报python错误。

原来是达梦数据库的bin目录的动态库和系统的冲突了,而达梦数据库又把bin目录加到了ldconfig里面了。

解决办法就是删除达梦数据库的bin目录下的libssl*和libcrypt*动态库。

rm -f /tongfunet/env/dm8dbms/bin/libssl.so*
rm -f /tongfunet/env/dm8dbms/bin/libcrypto.so*

总结

今天福哥带着大家学习了在ARM系统上面安装达梦数据库DM8的方法,后面我们还会推出一些ARM系统部署软件服务的教程,敬请期待~~