瀚高数据库安全版v4.5.8已发布,功能和安装方式都有所不同。下面先跟我一起安装上吧。
操作系统环境:Centos7.9,处理器:x86_64
(说明:以下每一节的命令操作,均可以复制粘贴直接执行)
1. 安装软件
将软件包上传到root用户的目录下,执行以下命令校验安装包完整性,然后执行安装:
- md5sum -c hgdb-see-4.5.8-db43858.x86_64.rpm.md5
- rpm -ivh hgdb-see-4.5.8-db43858.x86_64.rpm
2. 创建相关目录
创建额外的数据目录“/data/highgo/data”,在安装目录下做个软链接即可,命令如下:
- mkdir -p /data/highgo/data
- mkdir -p /data/highgo/hgdbbak/archive
- ln -sf /data/highgo/data /opt/highgo/hgdb-see-4.5.8/data
3. 创建初始化用的过渡密码文件
便于快速无交互初始化,初始化完成后,就不再使用,可以删除也可以保留便于重新初始化。
- echo "Hello@123456" > /opt/highgo/hgdb-see-4.5.8/etc/5866
- echo "Hello@123456" >> /opt/highgo/hgdb-see-4.5.8/etc/5866
- echo "Hello@123456" >> /opt/highgo/hgdb-see-4.5.8/etc/5866
4. 配置环境变量
root用户下安装软件,需要手动配置环境变量,命令如下:
- cat >> /root/.bash_profile <<EOF
- ################################ add by Highgo at `date +%Y-%m-%d_%H:%M:%S` for hgdb start ################################
- export HG_BASE=/opt/highgo
- export HGDB_HOME=/opt/highgo/hgdb-see-4.5.8
- export PGPORT=5866
- export PGDATABASE=highgo
- export PATH=\$HGDB_HOME/bin:\$PATH
- export PGDATA=\$HGDB_HOME/data
- ################################ add by Highgo at `date +%Y-%m-%d_%H:%M:%S` for hgdb end ##################################
- EOF
-
- source /root/.bash_profile
5. 初始化数据库
安全版v4.5支持国密算法sm3、sm4,如果要支持国密算法,可以按照以下命令执行:
initdb -A sm3 -e sm4 -c "echo 12345678" -D $PGDATA --pwfile=/opt/highgo/hgdb-see-4.5.8/etc/5866 -E 'UTF8'
如果不想使用国密算法,则执行以下命令来初始化:
initdb -A md5 -D $PGDATA --pwfile=/opt/highgo/hgdb-see-4.5.8/etc/5866 -E 'UTF8'
6. 创建ssl所需要的证书
初始化完数据库,最后面会有创建ssl证书的命令,如下:
hg_sslkeygen.sh /opt/highgo/hgdb-see-4.5.8/data
7. 创建数据库用户免密登录使用的密码文件
为了方便备份恢复或着psql命令,我们可以创建免密登录:
- cat > /root/.pgpass <<EOF
- # host:port:database:user:password
- localhost:5866:*:sysdba:Hello@123456
- localhost:5866:*:syssao:Hello@123456
- localhost:5866:*:syssso:Hello@123456
- EOF
- # 修改权限(必需)
- chmod 0600 /root/.pgpass
8. 配置客户端验证
其他主机客户端想连接到数据库服务,则需要配置客户端验证文件pg_hba.conf,命令如下:
- # 允许所有IP的主机可以连接该数据库。
- cat >> /opt/highgo/hgdb-see-4.5.8/data/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
注意:如果前面初始化用的是md5校验密码,需要将sm3改为md5,如果要生效,需要重启数据库服务,切记。
9. 启动数据库
接下来,我们就可以启动数据库了,命令如下:
pg_ctl start
10. 配置标准参数
# 注意:根据实际物理内存,修改shared_buffers为物理内存的1/4。
- 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 /data/highgo/hgdbbak/archive/%f';
- alter system set log_line_prefix = '%m [%p] %a %u %d %r %h';
- alter system set nls_length_semantics = 'char';
- EOF
11. 修改密码默认有效期为永久
安装完,默认密码有效期是7天,三权用户的有效期也是7天,需要执行以下命令来改为永久:
- psql highgo syssso <<EOF
- select set_secure_param('hg_idcheck.pwdvaliduntil','0');
- alter user current_user password 'Hello@123' valid until 'infinity';
- \c - sysdba
- alter user current_user password 'Hello@123';
- \c - syssao
- alter user current_user password 'Hello@123';
- EOF
-
- # 同时将免密文件中的旧密码也替换了
- sed -i 's/Hello@123456/Hello@123/g' /root/.pgpass
- pg_ctl restart
12. 关闭一些影响性能的安全参数
以下参数影响数据库性能,执行命令如下:
- 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');
- EOF
-
- pg_ctl restart
13. 关闭审计功能
需要提前沟通好(等保分保需要开启审计):
- psql highgo syssao <<EOF
- select set_audit_param('hg_audit','off');
- EOF
-
- pg_ctl restart
14. 使用服务启动数据库
数据库安装过程会自动配置好数据库服务文件,单机环境可以直接使用,改用服务启动:
- pg_ctl stop
- systemctl start hgdb-see-4.5.8.service
15. 授权文件操作
安装完后,默认是一个月的试用期,如果需要延长,请联系瀚高商务人员申请更长的授权。安全版v4.5.8的授权文件操作与以往版本完全不一样,操作命令如下:
- # 将授权文件 hgdb.lic 传到服务器上,执行以下命令修改权限。
- chmod 0600 hgdb.lic
- # 查看授权信息
- hg_lic -c -F hgdb.lic
- # 加载授权文件
- hg_lic -l -F hgdb.lic
16. 结束
到此,安装可以暂告一段落,可以满足适配测试。如果需要提供技术支持,请联系瀚高商务人员进行对接。电话:400-708-8006。