环境: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、启动、停止、查看数据库服务

  1. 启动服务,这种方式在镜像中报错timeout,猜测还是和镜像有关系。
systemctl start DmServiceDMSERVER.service
  1. 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