使用Docker安装达梦数据库
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、docker的安装二、新建带有端口映射的容器,并将端口开通好1.新建容器2.打通端口三、安装达梦数据库1.安装前准备2.进行安装总结前言最近公司要求对老项目进行维护,需要安装达梦数据库,我采用了centos7.8的docker进行安装,这里做个记录。一、docker的安装查看当前centos系统内核版本,高于3.10才
前言
最近公司要求对老项目进行维护,需要安装达梦数据库,我采用了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、端口、用户名、密码就可以进行连接
总结
至此完成了达梦数据库在docker中的安装和连接,过程中踩了不少坑,希望有需要的朋友可以少走一点弯路。
更多推荐
所有评论(0)