您当前的位置: 首页 >  docker

qq_34412985

暂无认证

  • 0浏览

    0关注

    1061博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

使用Docker安装达梦数据库

qq_34412985 发布时间:2020-11-24 13:53:41 ,浏览量:0

前言

最近公司要求对老项目进行维护,需要安装达梦数据库,我采用了centos7.8的docker进行安装,这里做个记录。

一、docker的安装

查看当前centos系统内核版本,高于3.10才能安装docker #uname -r在这里插入图片描述 下载和安装docker #yum -y install docker

安装完成后,查看docker版本 #docker version在这里插入图片描述 启动docker服务 #systemctl start docker

设置docker开机启动 #systemctl enable docker

查看docker运行状态 #systemctl status docker  

二、新建带有端口映射的容器,并将端口开通好 1.新建容器

下载一个centos7.8的镜像 #docker pull centos:7.8.2003

查看docker目前所有的镜像,记住centos7.8镜像的id开头为afb6,后面会用到 #docker images在这里插入图片描述 新建容器dm_container,并附带端口映射(主机的55236端口映射到容器的5236端口),并赋予容器systemctl权限(避免无法设置防火墙),这里使用id为afb6的镜像 #docker run -tid -p 55236:5236 -p 55237:5237 --privileged --name dm_container afb6 /usr/sbin/init

 

2.打通端口

如果要外部能直接访问容器中的数据库,必须先打通端口,不然最后安装完了数据库也是白搭=。= 达梦的数据库默认端口为5236,主机中设置55236,映射到容器中的5236端口

 

首先开通主机的55236端口 #firewall-cmd --permanent --zone=public --add-port=55236/tcp

重启防火墙,使开启的端口生效 #firewall-cmd --reload

查看55236端口是否已开通 #firewall-cmd --zone=public --query-port=55236/tcp

进入容器 #docker exec -it dm_container bash

给容器安装防火墙 #yum install firewalld

启动防火墙 #systemctl start firewalld

开通容器的5236端口 #firewall-cmd --permanent --zone=public --add-port=5236/tcp

重启防火墙 #firewall-cmd --reload

查看5236端口是否已开通 #firewall-cmd --zone=public --query-port=5236/tcp

设置防火墙开机自启动 #systemctl enable firewalld

查看防火墙状态 #systemctl status firewalld在这里插入图片描述  

三、安装达梦数据库

我使用的是达梦的DM8开发版(Linux-rh7-64位),可以在官网下载。 官网下载的为iso文件,我是采取直接解压出bin文件进行安装的。 达梦数据库建议新建账户进行安装,由于我在docker中安装,这里直接采用root账户安装。

 

1.安装前准备

在官网下载iso文件,并解压,得到DMInstall.bin文件,将其传输到centos主机中(位置/root/DMInstall.bin)

在主机中输入下列命令,将/root/DMInstall.bin文件复制到容器根目录 #docker cp /root/DMInstall.bin dm_container:/root/DMInstall.bin

查看.data seg size、file size、open files、virtual memory大小足够即可(1048576或unlimited肯定没问题,可参考达梦安装手册) #ulimit -a

查看内存使用 #free

在我安装过程中出现了/tmp文件夹空间不足的问题(提示“无法写入”),所以这里提前将/tmp的空间扩充

先查看扩充之前的容量 #df -h /tmp

再进行扩充 #umount /tmp #mount -t tmpfs -o size=2147483648,mode=1777 overflow /tmp

再次查看/tmp的容量,已变为2G #df -h /tmp

2.进行安装

在DMInstall.bin所在的目录下,先对安装文件赋予权限,否则无法执行安装 #chmod 755 ./DMInstall.bin

执行安装,这里我采用的是命令行安装(注意/前面有个点) #./DMInstall.bin -i

key、安装路径等可以按自己需要进行输入,这里我采取 key选择n,选择时区21中国标准时间,安装选择1典型安装,目录直接默认安装路径(root用户为/opt/dmdbms)

安装过程中如果出现 Error occurred during initialization of VM Unable to load native library: libnsl.so.1: cannot open shared object file: No such file or directory 的报错,就需要执行下面命令,安装libnsl库 #yum install libnsl*

全部选择好后并进行安装后,会提示安装成功。  

四、安装实例

进入达梦数据库安装目录bin文件夹 #cd /opt/dmdbms/bin

查看初始化各参数中文说明 #./dminit help

执行./dminit(不带参数执行这个命令,系统会引导填写参数) #./dminit在这里插入图片描述 这里注意安装目录、日志目录都建议写成跟达梦数据库安装目录一致(如/opt/dmdbms),否则会报错,笔者就是这里卡了半天。

其他各参数根据自己需要填写,如果是oracle迁移到达梦,string case sensitive可以选择YES。  

五、启动服务

进入达梦安装目录的script/root文件夹 #cd /opt/dmdbms/script/root

注册服务 #./dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/test/dm.ini -p DMSERVER

启动服务 #systemctl start DmServiceDMSERVER

进入bin目录 #cd /opt/dmdbms/bin

使用达梦客户端disql连接数据库(达梦数据库用户SYSDBA的默认密码也是SYSDBA) #./disql SYSDBA/SYSDBA@localhost:5236  

六、测试连通

windows测试端口连通,在cmd中输入命令(x为ip号) telnet x.x.x.x 55236

达梦有windows端的客户端manager.exe可以使用,在windows安装包的tool文件夹中可以找到,填写ip、端口、用户名、密码就可以进行连接

在这里插入图片描述

关注
打赏
1653291990
查看更多评论
立即登录/注册

微信扫码登录

0.0389s