【最佳实践】瀚高数据库企业版v9 安装部署

【最佳实践】瀚高数据库企业版v9 安装部署之静默安装

瀚高数据库企业版v9需要在普通用户下,通常会先新建一个用户highgo

操作系统:Centos 7.9,架构:x86_64

瀚高数据库:企业版v9(若想拿到安装包,联系瀚高400-708-8006

(说明:以下每一节的命令操作,均可以复制粘贴直接执行)

Here we go! >>


01. 组和用户

登录root用户,创建用户组highgo以及新用户highgo

/usr/sbin/groupadd highgo
/usr/sbin/useradd -m -g highgo highgo -c "Highgo DataBase Server"
echo "highgo:666666" | chpasswd

Debian系操作系统请这样创建:

adduser highgo --ingroup highgo --comment "Highgo DataBase Server" --disabled-password
echo "highgo:666666" | chpasswd

说明

  1. -c 后面说明的是用户的用途;
  2. echo 后面是密码,当前设置“Hello@123”;

02. 相关目录和权限

用户root创建以下目录并设置相应的权限,便于highgo用户能够继续操作和运行:

mkdir -p /opt/highgo/hgdb-enterprise-9.0.1
mkdir -p /home/highgo/data
mkdir -p /home/highgo/hgdbbak/archive
chown -R highgo:highgo /opt/highgo
chown -R highgo:highgo /home/highgo
ln -vsf /home/highgo/data /opt/highgo/hgdb-enterprise-9.0.1/data

说明

  1. 目录/home/highgo/data,此目录非常重要,用于存储瀚高数据库数据。如果/home目录空间不足,建议挂在大容量磁盘;
  2. 目录/home/highgo/hgdbbak,主要用于存放数据库备份和归档文件;
  3. 数据目录/home/highgo/data在安装目录/opt/highgo/hgdb-enterprise-9.0.1下做了一个软链接。

03. 环境变量

切换或重新登录到highgo用户下。

su - highgo

配置用户highgo的环境变量:

cat >> ~/.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=\$HG_BASE/hgdb-enterprise-9.0.1
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

说明

  1. 全部复制执行即可,不要只复制里面的 export 命令行,如果真要这么做,请把$前面的\去掉;
  2. 如果是Debian系的操作系统,环境变量需要配置在.bashrc下。

重新登录highgo用户使环境变量生效,也可以执行source命令使环境变量生效:

source ~/.bash_profile

04. 安装软件

将安装包hgdb-ee-9.0.1-build23071421-linux.x86_64.bin和授权文件license.dat上传到用户highgo的主目录下(即:/home/highgo)。修改安装包权限:

chmod a+x hgdb-ee-9.0.1-build23071421-linux.x86_64.bin

然后,创建静默安装文件:

cat > install.propertise <<-"EOF"
USER_INSTALL_DIR=/opt/highgo/hgdb-enterprise-9.0.1
USER_SHORTCUTS=/home/highgo/hgdb
CHOSEN_INSTALL_SET=Minimal
LICENSE_FILE=/home/highgo/license.dat
EOF

说明:

  • USER_INSTALL_DIR:数据库软件安装路径;
  • USER_SHORTCUTS:快捷方式;
  • CHOSEN_INSTALL_SET:安装功能集;
  • LICENSE_FILE;授权文件路径,你需要放到这个路径下,供安装过程使用。

此时当前目录/home/highgo下文件清单如下:

$ ls
data  hgdbbak  hgdb-ee-9.0.1-build23071421-linux.x86_64.bin  install.propertise  license.dat

然后再安装:

./hgdb-ee-9.0.1-build23071421-linux.x86_64.bin -i silent -f install.propertise

05. 初始化数据库实例

接下来我们就需要初始化了,一般国产环境初始化命令如下所示:

initdb -A md5 -D $PGDATA --pwfile=<(printf "%s\n" "Hello@123") -E 'UTF8' -m pg

说明

  1. 参数-A后面指定的是数据库用户密码加密方式,通常使用的是md5
  2. 参数--pwfile指定三圈用户的密码;
  3. 参数-m指定数据库模式,可以指定为oraclepg

06. 免密登录文件

创建免密登录文件:

cat > ~/.pgpass <<-EOF
host:port:database:user:password
localhost:5866:*:highgo:Hello@123
EOF

修改权限:

chmod 0600 ~/.pgpass

说明:免密登录文件一般在定时备份时使用比较方便,以及psql命令行登录时也可以免密登录。

07. 客户端验证

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

cat >> $PGDATA/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               md5
################## add by Highgo at `date +%Y-%m-%d_%H:%M:%S` for hgdb end ####################
EOF

说明

  1. 上面设置允许所有可达主机访问该数据库;
  2. 密码加密方式是md5,根据需要可以改为其他的加密方式;
  3. 可以更细粒度来设置这里从而达到安全访问的要求。

08. 启动数据库

接下来,我们就可以启动数据库了,命令如下:

pg_ctl start

09. 标准参数设置

以下是常用参数设置,可以根据需要进行微调:

psql highgo highgo <<-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 /home/highgo/hgdbbak/archive/%f';
alter system set log_line_prefix = '%m [%p] %a %u %d %r %h';
EOF

注意:根据实际物理内存,修改shared_buffers为物理内存的1/4。

重启生效:

pg_ctl restart

10. 服务设置

可以使用守护服务启动数据库。切回用户root,执行以下命令,创建服务单元文件:

cat > /usr/lib/systemd/system/hgdb-ee-9.service <<-"EOF"
[Unit]
Description=hgdb-ee-v9
Requires=network.target local-fs.target
After=network.target local-fs.target

[Service]
Type=forking

User=highgo
Group=highgo

Environment=PGDATA=/opt/highgo/hgdb-enterprise-9.0.1/data

OOMScoreAdjust=-1000

ExecStart=/opt/highgo/hgdb-enterprise-9.0.1/bin/pg_ctl start -D ${PGDATA}
ExecStop=/opt/highgo/hgdb-enterprise-9.0.1/bin/pg_ctl stop -D ${PGDATA}
ExecReload=/opt/highgo/hgdb-enterprise-9.0.1/bin/pg_ctl reload -D ${PGDATA}
TimeoutSec=60

[Install]
WantedBy=multi-user.target graphical.target
EOF

说明

  1. 如果普通用户不是highgo,注意修改上面单元文件例的UserGroup
  2. 注意环境变量PGDATA的路径以及下面pg_ctl的路径,要使用绝对路径。

重载服务单元:

systemctl enable hgdb-ee-9

启动数据库服务:

systemctl start hgdb-ee-9

11. 开启防火墙端口:

firewall-cmd --add-port=5866/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

12. 卸载数据库:

先停掉数据库服务:

systemctl stop hgdb-ee-9

如果没有自动服务管理,登录highgo执行以下命令停掉服务:

pg_ctl stop

执行目录/home/highgo/hgdb下的uninstall

./uninstall

<< There you go!

总结

瀚高数据库企业版v9安装相对之前的安全版比较简单易懂。安装方式除了静默还有图形、命令交互方式,后面有时间我会更新一下,不断完善一下企业版v9的安装。文中若有不妥或错误的地方,或者建议请留言。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值