环境:docker拉取的centos7镜像(aarch64)
内容:完成达梦数据库(DM8)安装、卸载,数据库实例创建,服务注册,生成新镜像、以及使用DataGrip连接dm8等操作
1、基础配置
-
centos7。本人从docker中拉取的centos镜像为arm架构(aarch64),与linux服务器差别不大。
-
centos7镜像中中安装好wget、unzip、xhost、firewalld等指令。
-
新建安装包并添加用户、权限、环境变量等。
在/opt下新建dmdbms文件夹,并新建用户组、用户、修改用户密码、规划权限
mkdir /opt/dmdbms
使用root角色,给文件夹添加写入操作
chmod 777 /opt/dmdbms
新建用户组
groupadd dinstall
新建用户
useradd -g dinstall dmdba
修改密码
passwd dmdba
查看dmdbms权限、用户及文件大小
ls -dl /opt/dmdbms/

将指定文件的拥有者改为指定的用户和组
chown dmdba.dinstall -R /opt/dmdbms/
再次运行上面ls -dl命令,确认是否更改

配置环境变量
vi ~/.bash_profile
添加path
export DM_HOME=/opt/dmdbms
export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH:$HOME/bin
编译文件
source ~/.bash_profile
测试是否成功
echo $DM_HOME

2、运行安装好的centos7镜像
这里建议以管理员身份运行,centos镜像有防火墙,使用管理员登录可以在安装、连接的时候随意关闭
docker run --privileged=true centos_dev /usr/sbin/init
docker exec -it tender_haibt /bin/bash
3、关闭防火墙
查看防火墙状态
systemctl status firewalld
关闭防火墙状态
systemctl stop firewalld
4、下载达梦数据库
去达梦数据库官网下载,地址:https://www.dameng.com/ucenter/docs.html
本人从docker中拉取的centos7镜像为arm架构(aarch64),不确定的可以使用lscpu
指令确认。DM8开发版-飞腾能够在该架构上安装运行。
DM8开发版-飞腾下载地址:https://package.dameng.com/official/DM8/DM8_20210709_飞腾_麒麟_64位.zip
将压缩包下载到/opt中:
wget https://package.dameng.com/official/DM8/DM8_20210709_飞腾_麒麟_64位.zip /opt/
5、解压数据库
在/opt下执行命令
mkdir dmpackage
unzip -o DM8_20210709_飞腾_麒麟_64位.zip -d dmpackage/
6、挂载解压包中的.iso文件
使用mount -o loop挂载文件到指定位置
mkdir /mnt/dm8
mount -o loop /opt/dmpackage/dm8_20210709_FTarm_kylin_64_ent_8.1.2.38.iso /mnt/dm8/

出现上图说明挂载成功
7、安装数据库
进入 /mnt/dm8,切换为dmdba用户
su - dmdba
执行命令
使用图形化安装./DMInstall.bin报错,这里需要安装全局安装libXtst、org-x11-fonts-Type1、gtk2

yum -y install gtk2 libXtst xorg-x11-fonts-Type1
继续安装,提示

运行xhost +, 提示
xhost +

继续运行,修改文件并重新生效
vi /etc/profile
export DISPLAY=:0.0
source /etc/profile
还是报错timeout,欲哭无泪,猜测可能和镜像有关系。最后使用指令行进行安装
./DMInstall.bin -i
按照提示进行安装,最后提示安装完成

以root用户执行
/opt/dmdbms/script/root/root_installer.sh
提示Job for DmAPService.service failed because a timeout was exceeded. See "systemctl status DmAPService.service" and "journalctl -xe" for details.
官网提示可以忽略。官网安装部署常见问题地址:https://eco.dameng.com/docs/zh-cn/faq/faq-dm-install.html
8、删除数据库
这里使用指令行进行删除,在dmdbms文件夹中运行指令
./uninstall.sh -i

9、创建数据库实例
在bin目录下,运行指令./dminit help能看所有配置项
以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 DBSERVER,端口为 5237。
./dminit path=/opt/dmdbms/example PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237

10、注册服务
需要使用root用户注册服务。
进入/script/root后,运行
./dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/example/DMDB/dm.ini -p DMSERVER

11、启动、停止、查看数据库服务
- 启动服务,这种方式在镜像中报错timeout,猜测还是和镜像有关系。
systemctl start DmServiceDMSERVER.service
- bin目录下执行
./DmServiceDMSERVER start
查看连接状态
./DmServiceDMSERVER status
关闭连接
./DmServiceDMSERVER stop
12、生成新镜像
docker commit xxx centos_dev_dm

生成新镜像后,以管理员身份启动新镜像,并打开5237端口,允许外部访问。这里以管理员身份启动,主要是为了关闭防火墙。否则外部访问不到端口。
docker run -p 5237:5237 --privileged=true centos_dev_dm /usr/sbin/init
docker exec -it xxx bash
13、使用DataGrip连接dm8
mac好像只能使用DataGrip来连接dm8,有点难受。
下载DataGrip,点击加号,添加dm8连接配置

这里需要添加驱动,dm8就引入dm8的驱动,点击OK.

重新点击加号,选择Database,输入连接信息,点击test connection提示成功后就可以愉快地使用了。

14、参考
达梦数据库安装:https://eco.dameng.com/docs/zh-cn/start/install-dm-linux-prepare.html