瀚高数据库快速安装
先简单介绍下背景:近年来由于和美国打贸易战,我们国家对计算机基础设施和软件国产化的需求越来越强烈,目标是自主安全可控。数据库作为基础软件,自然也迎来了发展的春天。目前我国常用的国产数据库有人大金仓、南大通用、达梦、瀚高等。瀚高数据库是基于postgres开源数据库开发的数据库。
一、瀚高数据库快速安装(快速测试用,非运维和性能测试用)
瀚高数据库(highgo database)支持在Linux、Windows、国产硬件平台操作系统如龙芯+中标麒麟、飞腾+银河麒麟、兆芯+中科方德等环境上安装,并支持图形化安装、命令行安装、静默模式安装和rpm安装等各种安装方式。
以下以Redhat Enterprise Linux Server 7.3(Maipo), Kernel 3.10.0-514.el.x86-64 on an x86-64上的瀚高数据库企业版5.6.5的rpm安装为例进行快速安装(快速测试用,非运维用,不包含操作系统参数和数据库参数配置及调优。参数配置可参考另一篇笔记)。其他安装可参考官方安装手册。
1、 下载安装包和手册。
从官网下载瀚高数据库安装包及安装手册。瀚高数据库提供标准版、企业版和安全版三种版本。主要使用的是企业版和安全版两种。企业版可以试用一年。
下载企业版5.6.5(Linux版本)
安装包:http://www.highgo.com/uploads/HighGoDB/hgdb5.6.5-enterprise-rhel7-x86-64.rpm
安装手册:http://www.highgo.com/attachs/file/1906/2814443230539.pdf
2、 在虚拟机(Oracle VM VirtualBox)上安装rpm包。
虚拟机安装Redhat Enterprise 64bit,
使用UltraISO将rpm打包成iso文件,在VM设置里将光驱点开选择该iso文件,如下图所示:
在vm命令行里挂载光盘文件:mount /dev/sr0 /media/cdrom
进入光盘挂载目录并安装rpm:
cd /media/cdrom
rpm -ivh hgdb5.6.5-enterprise-rhel7-x86-64.rpm
rpm安装完成,数据库目录已建立(/opt/HighGo5.6.5),超级管理员highgo已建立,密码无,进程可通过ps –ef|grep postgres查到,端口号默认为5866。highgo用户下的~/.bash_profile环境变量已添加(如下图)。
3、 切换用户为highgo,修改密码。
设置操作系统中highgo用户密码:passwd highgo
切换用户为highgo:su - highgo
注意:使用su -,可以使环境变量生效。或者切换用户后运行source ~/.bash_profile。
若环境变量不生效,运行psql会报错,如下图:
运行psql命令正常如下图:
设置数据库用户highgo的psql登录密码:
$PGDATA/pg_hba.conf里设置了不同主机和网段是否有访问数据库的权限以及是否需要输入密码,如下图。
设置密码的方法如下:
1) 在pg_hba.conf的local为trust(默认)的状态下,数据库本地登录psql(此时无需输入密码);
2) 输入修改密码的命令(大小写不敏感):
[highgo@hgdb~]$ psql
highgo=# alter user highgo WITH PASSWORD 'highgo123';
highgo=# \q
3) 将pg_hba.conf中需要密码验证的列修改为md5,运行pg_ctl reload之后可使用密码登录psql。
4、 默认外部主机不能访问该数据库,所以需要关闭SELINUX、防火墙以及修改数据库本身的网络访问限制。
关闭SELINUX(Secure Enhanced Linux):
[root@hgdb~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g"/etc/selinux/config
[root@hgdb~]# setenforce 0
[root@hgdb~]# cat /etc/selinux/config | grep SELINUX=disabled
[root@hgdb~]# getenforce
[root@hgdb~]# disabled
关闭防火墙:
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
[root@localhost ~]# systemctl status firewalld.service
或者添加数据库端口访问权限:
[root@localhost ~]# firewall-cmd --list-ports
[root@localhost ~]# firewall-cmd --add-port=5866/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-ports
5866/tcp
数据库修改网络访问限制包括以下两方面:
1) 修改$PGDATA/Pg_hba.conf。
默认外部主机不能访问数据库,在$PGDATA/Pg_hba.conf加上最后这行:
TYPE DATABASE USER ADDRESS METHOD
# "local"is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
2) 修改数据库参数,在psql中执行:
Highgo=# alter system set listen_addresses=’*’;
或者修改$PGDATA/postgresql.conf,编辑listen_addresses=’*’。
查看listen_addresses,在pslq中执行:
highgo=# show listen_addresses;
修改完以上两条,执行pg_ctl restart使配置生效。
做完以上第4步操作后,可以从其他主机的应用(包括hgdbAdmin)访问该数据库。
=============以下是补充========================================================
1. 试用到期或者License过期之后需要将更新的License放置在目录下:$PGDATA/hgdb.lic
使license生效:pg_ctl reload
查看license:check_lic hgdb.lic
2.安装数据库包括以下内容:
a.建立数据库引擎:数据库引擎提供了数据的存储、访问和保护的服务。它管理着
用户数据的存储,为用户数据访问提供了接口,并通过用户权限管理来保护数据的安全。
b.安装以下工具:
psql:瀚高数据库的基于命令行的数据库管理终端。
hgdbAdmin:瀚高数据库的管理和开发的图形化界面工具。HGDB V5 linux 平台不支持安装 hgdbAdmin 组件。可在 windows 系统安装单独的 hgdbAdmin 工具对数据库进行图形化管理。
c.应用程序开发相关组件,包括头文件、库文件、JDBC/ODBC驱动等。用户可根据具体情况决定是否安装。
3.对虚拟机网络设置使宿主机可以访问虚拟机:
设置完成后reboot虚拟机,重启后可通过ifconfig查看ip,使用工具ssh从宿主机登录该虚拟机,例如使用MobaXterm,该工具可免费使用,包含了sftp、telnet、x11等功能,且方便复制屏幕内容、鼠标上下滚动屏幕等。
二、瀚高数据库安装前后参数查看配置
1. 检查主机名
[root@localhost ~]# hostnamectl status
Static hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: e35979acf2cb40bba78e108f655384c8
Boot ID: 3e49aa0a703b4965a8cdd00c5fe5bd24
Virtualization: kvm
Operating System: Red Hat Enterprise Linux Server 7.3 (Maipo)
CPE OS Name: cpe:/o:redhat:enterprise_linux:7.3:GA:server
Kernel: Linux 3.10.0-514.el7.x86_64
Architecture: x86-64
2.设置时区时间
查看当前时区时间:
[root@localhost ~]# timedatectl status
Local time: 日 2020-02-16 16:12:36 CST
Universal time: 日 2020-02-16 08:12:36 UTC
RTC time: 六 2020-02-15 20:06:19
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
设置时区:timedatectl –-set-timezone Aisa/Shanghai
设置时间:date –s “20200216 17:30:00”