# 安装步骤
- 从官网 (opens new window)下载安装包,瀚高还有一个自己开源的ivory象牙 (opens new window)数据库
- 关闭防火墙或者开放访问端口,端口默认5866
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
# 开放访问端口
firewall-cmd --add-port=5866/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all
- 检查虚拟机状态和时间时区
# 检查主机名
hostnamectl status
# 检查时间和时区,改成上海的时间时区
timedatectl
timedatectl list-timezones
timedatectl set-timezone Asia/Shanghai
# 查看时间
date
- 配置yum源并且安装依赖
# 首先要安装yum工具
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
# 然后更新本地镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
# 安装依赖
yum clean all
yum list
yum install vim wget readline readline-devel zlib zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc gcc-c++ rsync -y
- 配置环境变量生效
# 安装完毕后会在/opt/HighGo6.0.1-cluster/etc 目录下生成一个名为highgodb.env 的文件
# 执行 source 命令使之生效,注意这里需要用highgo用户来执行source 命令
[highgo@localhost bin]$ source highgodb.env
# 或者是以下文件
source /opt/highgo/hgdb-see-4.5.8/etc/hgdbenv.sample
hgdbenv.sample 文件内容:
#WARNING! This is a template file, please modify it as needed
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
- Linux系统创建highgo用户并修改密码
# 数据库默认账号:sysdba
groupadd -g 5866 highgo
useradd -u 5866 -g highgo highgo
passwd QwXypJ@n46
- 初始化数据库
# 需要在bin目录下进行初始化,执行一个initdb就行了,会弹出来让我们配置账号和密码
[highgo@localhost bin]$ initdb
- 允许所有IP的主机可以连接该数据库
# 修改文件 /opt/HighGo6.0.4-cluster/data/pg_hba.conf,追加一行,内容如下
host all all 0.0.0.0/0 md5
# 修改文件 /opt/HighGo6.0.4-cluster/data/postgresql.conf
# - Connection Settings -
listen_addresses = '*'
- 使用第三方工具连接瀚高数据库
# 通过sql查看认证信息,通过rolpassword可以看出密码采用哪种加密方式
# 例如highgo的密码采用的sm3加密方式,test用户的密码采用md5加密方式
select rolname,rolpassword from pg_authid;
# 查看密码加密方式
show password_encryption;
# 设置密码加密方式
set password_encryption to md5;
set password_encryption to sm3;
# 创建用户
create user test password 'Highgo@1234' valid until 'infinity';
# 创建数据库,并指定归属用户,也可以通过可视化工具调整
create database dbtest owner=test encoding='utf8';
修改pg_hba.conf配置文件
# IPv4 local connections:
# 指定特定用户(例如test)连接时,密码的加密方式,特定用户配置需要放在前面,规则从前往后匹配
host all test 0.0.0.0/0 md5
# 把ADDRESS的值修改为0.0.0.0/0,接受任何地址的访问
host all all 0.0.0.0/0 sm3
注意
瀚高数据库加密方式默认是国密sm3
org.postgresql.Driver驱动不支持sm3,只支持md5、scram-sha-256
- 操作数据库
# 启动数据库
pg_ctl start
# 重启数据库生效
pg_ctl restart
# 查看数据库状态
pg_ctl status
# 通过 psql 登录 sysdba 用户、highgo 数据库
psql -U sysdba -d highgo
# 如果提示:pg_ctl: command not found
/opt/highgo/hgdb-see-4.5.8/bin/pg_ctl status
- 修改密码有效期为永久
# 用户密码默认有效期是7天,如果不想改密码一直用,将有效期修改为永久即可
psql highgo syssso <<EOF # 切换 highgo 数据库 syssso 用户
select set_secure_param('hg_idcheck.pwdvaliduntil','0');
EOF
# 重启生效
pg_ctl restart
- 使用syssso解锁用户,将USERNAME替换为锁定用户
select user_unlock('USERNAME');
- 开机自启动配置,如果企业版是集群版本,需要按以下步骤操作才能自动启动
cd /opt/HighGo6.0.4-cluster/etc/
cp -p hgdb-enterprise-6.0.4.single hgdb-enterprise-6.0.4.single.bak
cp -p hgdb-enterprise-6.0.4.cluster hgdb-enterprise-6.0.4.cluster.bak
ln -sf hgdb-enterprise-6.0.4.single hgdb-enterprise-6.0.4
# 然后停掉数据库
pg_ctl stop
#切换到 root 用户下,使用systemctl启动
systemctl start hgdb-enterprise-6.0.4.service
systemctl status hgdb-enterprise-6.0.4.service
- 数据库命令备份还原
# 备份:
pg_dump -h 127.0.0.1 -p 5866 -U 账号 -d highgo -v -Fc > unis.hgdmp
# 还原:
pg_restore -h 127.0.0.1 -p 5866 -U sysdba -d highgo -v unis.hgdmp
# 导入sql文件:
psql -d highgo -Usysdba -f D:\highgo\dump-FYDAS-202008011004.sql
# -U用户 -d模式 -f备份文件路径 -p数据库端口 -h数据库地址
- 修改数据库端口
# 在文件/opt/highgo/hgdb-see-4.5.8/data/postgresql.conf
port = 5878
- 数据库管理工具 瀚高数据库自带了一个sql developer,进入目录 /opt/highgo/hgdbdeveloper/bin
sudo ./hgdbdeveloper
即可启动GUI界面,可以进行创建数据库、建立用户、建表、查询等操作
# Docker部署
- 镜像制作
# 参考地址 https://github.com/blatwo/dockerfiles.git
- 拉取镜像
# 安全版:https://hub.docker.com/r/qiuchenjun/hgdb-see
docker pull qiuchenjun/hgdb-see:4.5.8
# 企业版:https://hub.docker.com/r/qiuchenjun/hgdb-ee
docker pull qiuchenjun/hgdb-ee:6.0.4
- 生成容器
docker run --name hgdb -p 5866:5866 -v /usr/highgo:/home/highgo/hgdb -e POSTGRES_PASSWORD="Abc@123" -d qiuchenjun/hgdb-ee:6.0.4
# 数据库使用
# 常用函数
# 常见问题
# 打开管理工具exe程序,出现弹窗
双击exe程序出现弹窗如下,点击Disable Modules and Continue没反应
# 清理工具缓存目录
# 将 %localappdata% %appdata% 删除两个路径里边的hgdbdeveloper目录然后重启
# SQL不支持cancat函数
-- like concat('%',#{name},'%')
like '%' || #{name} || '%'
# 国产化软件替代品
# JDK/OpenJDK替代品
龙芯JDK # 基于龙芯CPU平台的Java开发工具包,支持x86、ARM等架构
Alibaba Dragonwell # 阿里巴巴开源的JDK版本,基于OpenJDK,针对大规模企业级应用进行优化和性能调整
Huawei OpenJDK/毕昇JDK # 华为开源的JDK版本,基于OpenJDK,致力于提供高性能、高安全的Java开发环境
腾讯 Kona # 腾讯开源的JDK版本,基于OpenJDK,专注于大规模分布式应用场景和云原生应用的优化
# Tomcat替代品
东方通TongWeb # 全面符合Java EE、Jakarta EE最新标准规范、轻量易于使用、性能强大
宝兰德Web服务器软件 # 每个应用服务器实例都有独立的目录结构、配置、应用、资源、Web容器和EJB容器
普元信息Primeton AppServer # 主要能给中小企业带来相应的关键价值
金蝶天燕AAS应用服务器 # 支持JakartaEE8/9技术规范,提供满足该规范的Web容器/EJB容器/WebService容器
# Nginx替代品
宝兰德WebServer # 占用极少的内存资源,支持10万+的高并发连接,处理响应请求的速度非常快
东方通TongHttpServer # 可作为静态资源服务器、正向代理服务器、反向代理服务器、负载均衡服务器使用
Tengine # 是由淘宝网发起的Web服务器项目,其性能和稳定性已经在大型的网站如淘宝网等得到了很好的检验
# Redis替代品
宝兰德CacheServer # 完全兼容Redis协议标准,主要解决高并发、大数据量场景下的数据访问性能问题
东方通TongRDS # 高性能多并发分布式数据缓存中间件,为企业信息化系统提供数据的缓存、分享与同步功能
金蝶天燕AMDC # 安全可控的分布式缓存软件,为大规模、高并发、高可用的应用提供安全可靠的缓存支撑能力
# 国产数据库
国产数据库可以分为传统商用数据库、云数据库以及开源数据库,但在生态方面较前两类薄弱很多
传统商业数据库 # 主要包括武汉达梦、南大通用、人大金仓和神州通用
云数据库 # 阿里OceanBase、华为Gauss DB、腾讯云、百度云等为代表,具备较强的自研能力
开源数据库 # 主要包括瀚高科技、优炫软件、巨杉数据库和星环科技