0


瀚高数据库 docker 容器单机运行(安全版v4.5.9)

瀚高数据库 docker 容器单机运行

导读

鉴于有些高端客户需要容器运行瀚高数据库,本文主要针对这些用户说明一下瀚高数据库镜像的操作。

文档所使用的docker版本是

18.03.0

已拿到docker镜像包

459.tar

,如有需要可以拨打热线电话

400-708-8006

注意:

  1. 容器内已经初始化好数据库实例,密码散列算法sm3,字符集utf8
  2. 随着镜像构建技术的进一步优化,本文的操作可能后期会发生变化,请及时了解相关说明。
Here we go!!! >>>

一、导入运行

(1)导入镜像包:

docker load -i 459.tar

(2)对镜像包做个标记,便于后面使用:

docker tag 192.168.95.32/hgdb-images/hgdb-see/x86_64-uos20:4.5.9 hgdb-see:4.5.9

(3)查看镜像导入情况:

$ docker images
REPOSITORY                                        TAG           IMAGE ID            CREATED             SIZE
192.168.95.32/hgdb-images/hgdb-see/x86_64-uos20   4.5.9         8d69c47fc752        9 days ago          3.56GB
hgdb-see                                          4.5.9         8d69c47fc752        9 days ago          3.56GB

看到

hgdb-see

,tag是

4.5.9

即可。

(4)容器运行:

docker run -dit --name=my_hgdb459 -p 5866:5866 \
           -v /home/hgdb:/opt/highgo/hgdb-see-4.5.9/data \
           hgdb-see:4.5.9

说明:

  1. 命名容器:--name=my_hgdb459,这个参数指定荣启铭为my_hgdb459,也可以指定其他容易识别的名称;
  2. 宿主机端口:-p 5866:5866,容器内部端口是5866(第2个),-p后紧跟的是宿主机端口号。这里映射到宿主机端口号也是5866,可以指定其他端口号;
  3. 存储映射:-v /home/hgdb:/opt/highgo/hgdb-see-4.5.9/data,将容器中的数据目录/opt/highgo/hgdb-see-4.5.9/data映射到宿主机的目录/home/hgdb下,这一参数是关键,务必要设置好否则会丢失数据;
  4. 指定镜像名:hgdb-see:4.5.9是前面我们标记(TAG)的镜像名,要使用已经存在的镜像名。

二、客户端验证

需要设置一下,否则只能容器内访问数据库服务,命令如下:

dockerexec -i my_hgdb459 cat>> /home/hgdb/pg_hba.conf <<-EOF
################## add by Highgo at `date +%Y-%m-%d_%H:%M:%S` for hgdb start ##################

# IPv4 local connections:

host    all             all             0.0.0.0/0               sm3
################## add by Highgo at `date +%Y-%m-%d_%H:%M:%S` for hgdb end ####################
EOF

三、常规参数设置

创建归档目录,因为后面我们要启用归档:

dockerexec -i my_hgdb459 mkdir -p /opt/highgo/hgdb-see-4.5.9/data/archive

配置常规参数:

dockerexec -i -e PGPASSWORD=Hello@1234 my_hgdb459 psql highgo sysdba <<-EOF
alter system set listen_addresses = '*';
alter system set max_connections = 2000;
alter system set work_mem='16MB';
alter system set shared_buffers = '1GB';
alter system set checkpoint_completion_target = 0.8;
alter system set log_destination = 'csvlog';
alter system set logging_collector = on;
alter system set log_directory = 'hgdb_log';
alter system set log_filename = 'highgodb_%d.log';
alter system set log_rotation_age = '1d';
alter system set log_rotation_size = 0;
alter system set log_truncate_on_rotation = on;
alter system set log_statement = 'ddl';
alter system set log_connections=on;
alter system set log_disconnections=on;
alter system set checkpoint_timeout='30min';
alter system set maintenance_work_mem='1GB';
alter system set archive_mode = on;
alter system set archive_timeout = '30min';
alter system set archive_command = 'cp %p /opt/highgo/hgdb-see-4.5.9/data/archive/%f';
alter system set log_line_prefix = '%m [%p] %a %u %d %r %h';
alter system set nls_length_semantics = 'char'; 
EOF

注意

  1. PGPASSWORD是瀚高数据库初始密码,后面会修改,要注意这个参数在没一步的变化
  2. 根据实际物理内存,修改shared_buffers为物理内存的1/4。

四、改善性能

以下参数影响数据库性能,执行命令关掉来改善,如下:

dockerexec -i -e PGPASSWORD=Hello@1234 my_hgdb459 psql highgo syssso <<-EOF
select set_secure_param('hg_macontrol','min');
select set_secure_param('hg_rowsecure','off');
select set_secure_param('hg_showlogininfo','off');
select set_secure_param('hg_clientnoinput','0');
select set_secure_param('hg_idcheck.pwdpolicy','high');
select set_secure_param('hg_idcheck.pwdvaliduntil','0');
EOF

重启容器生效:

docker restart my_hgdb459

五、密码有效期

所有用户默认密码有效期是7天,需要执行以下命令来改为永久:

dockerexec -i -e PGPASSWORD=Hello@1234 my_hgdb459 psql highgo syssso <<-EOF
alter user current_user password 'Hello@12345' valid until 'infinity';
\c - sysdba
alter user current_user password 'Hello@12345';
\c - syssao
alter user current_user password 'Hello@12345';
EOF

六、关闭审计功能

该功能默认是开启的,但会占用资源。如没有必要,可以考虑关掉。需要提前沟通好有些测评(等保分保)需要开启。关闭命令如下:

dockerexec -i -e PGPASSWORD=Hello@12345 my_hgdb459 psql highgo syssao <<EOF
select set_audit_param('hg_audit','off');
EOF

重启容器生效:

docker restart my_hgdb459

七、安装授权

安全版默认是一个月的试用期,若要延长使用,可以联系瀚高商务申请延长授权,联系电话

400-708-8006

拿到授权文件后,安装步骤如下:

(1)放到宿主机目录

/home/hgdb

下。

(2)修改授权文件权限:

dockerexec -i my_hgdb459 chmod 0600 /opt/highgo/hgdb-see-4.5.9/data/hgdb_0_t.lic

(3)查看确认授权信息:

dockerexec -i my_hgdb459 hg_lic -c -F /opt/highgo/hgdb-see-4.5.9/data/hgdb_0_t.lic

(4)安装授权文件:

dockerexec -i my_hgdb459 hg_lic -l -F /opt/highgo/hgdb-see-4.5.9/data/hgdb_0_t.lic

结果:

loading succeeded. The new license is an trial version and will expire until

2023-06-30 23:59:59

注意

这种授权安装方式是瀚高数据库安全版v4.5.8开始启用的新方法,之前的版本(如:v4.5.7)不能使用这种方式。


<< There you go!

总结

目前镜像操作还是比较多,请大家一步一步来。


本文转载自: https://blog.csdn.net/qiuchenjun/article/details/131458299
版权归原作者 大明湖畔的丘处机 所有, 如有侵权,请联系我们删除。

“瀚高数据库 docker 容器单机运行(安全版v4.5.9)”的评论:

还没有评论