翰高数据库安装连接
2021/10/21 2:09:36
本文主要是介绍翰高数据库安装连接,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 背景
最近公司在做一个军用机场跑道异物检测设备,但是由于各国之间的关系紧张,军放要求我们软件做一个国产数据库的适配;
经查阅才知道这个翰高数据库用的内核为postgresql,然后再这个基础上做了一定修改与优化。
废话不多说,安排!
2 数据库安装
下载安装包
本文以hgdb4.5.6-see-centos7-x86-64-20210303.rpm版本为列进行安装讲解
2.1 环境准备
开启防火墙
#开启防火墙 systemctl start firewalld.service systemctl stop firewalld.service systemctl disable firewalld.service
开发端口
翰高端口默认为5866,自定义需要修改参数
#临时添加5866端口 firewall-cmd --add-port=5866/tcp #永久添加5866端口 firewall-cmd --permanent --add-port=5866/tcp #重载生效 firewall-cmd --reload #查看是否开放5866端口 firewall-cmd --list-ports | grep 5866
查询时区
#查询时区 timedatectl #修改时区为上海 东八区 timedatectl set-timezone Asia/Shanghai
2.2 数据库安装
#rpm 安装 rpm -ivh hgdb4.5.6-see-centos7-x86-64-20210303.rpm --nodeps #忽略依赖包进行安装 --force #强制安装
注:数据库所需的依赖包都已经封装至安装包内,所以当遇到依赖包错误的时候可以先进行忽 略或者进行强制安装,安装成功后再设置环境变量
2.3 设置环境
环境变量首先考虑使用数据库安装目录下这个文件: etc目录下的:highgodb.env文件
vi /root/.bashrc #添加 source /opt/HighGo4.5.6-see/etc/highgodb.env #使.bashrc内容在当前窗口生效: source /root/.bashrc
2.4 初始化数据库
使用root用户初始化数据库, 初始化过程会输入6次密码,三个数据库管理员各两次,初始化命令如下:
initdb -D $PGDATA -e sm4 -c "echo 12345678" > /opt/HighGo4.5.6-see/bin/initdb.log
注意:密码至少需要8个字符,大小写加特殊字符组成。
#将安装目录etc下server.crt和server.key文件拷贝至$PGDATA目录下 cp /opt/HighGo4.5.2-see/etc/server.* $PGDATA #修改server.*文件权限 chmod 0600 $PGDATA/server.* #启动数据库 pg_ctl start
2.5 数据库配置
数据库配置以下参数,sysdba用户修改,重启数据库生效。
psql -d highgo -U sysdba alter system set listen_addresses = '*'; alter system set max_connections = 800; #数据库连接数,请按照实际情况设置 alter system set shared_buffers = '4GB'; #数据库使用的内存,设置为物理内存*25%
安全版用户密码有效时间默认为7天,如需修改密码有效时间,
需要使用syssso用户登录数据库并 执行以下语句,修改完成后,有效期参数自动生效
psql -U syssso -d highgo highgo=> select set_secure_param('hg_idcheck.pwdvaliduntil','365'); #修改密码 有效期为365天,请根据实际情况修改
审计功能默认是开启的,可使用syssao用户登录数据库并执行以下语句,修改完成后,重启生效。
psql -U syssao -d highgo highgo=> select set_audit_param('hg_audit','off'); #退出 highgo=> \q #重启数据库,使参数生效 pg_ctl restart -mf
修改文件
vi $PGDATA/pg_hba.conf #在ipv4下追加 host all all 0.0.0.0/0 sm3 #重启数据库,使参数生效 pg_ctl restart -mf
2.6 连接测试
运用官方提供的连接工具连接测试
输入主机用户名和密码连接
至此数据库安装连接成功。
刚用这个工具有点不适应,创建的表会默认到库下模式中的public模式下;
数据库与模式的关系:模式(schema)是对数据库(database)逻辑分割。一个数据库包含一个或多个已命名的模式,模式又包含表。模式还可以包含其它对象, 包括数据类型、函数、操作符等。同一个对象名可以在不同的模式里使用而不会导致冲突;和数据库不同,模式不是严格分离的:只要有权限,一个用户可以访问他所连接的数据库中的任意模式中的对象。
3 代码适配
3.1 数据库同步
由于公司项目本身运用的MySQL,很多MySQL的数据类型及函数在highgo中也没有(因为本人没用过postgresql),所有不做过多讲解与说明;
接下来就是表结构及基础数据同步,
同步是个体力活,提下在同步中遇见的几个坑:
- 因为在Navicat中的DDL字段是用“ ’ ” 单引号 扩起来的,highgo数据库不支持;字段备注COMMENT也不支持;所有比较痛苦;
- 将Navicat的sql转成postgresql的SQL,本人在转的时候遇见 “;” 分号换行的情况 highgo也不支持;
- 还有就是执行多条SQL时 需要 全选中在执行;
3.2 配置文件修改
driver-class-name: com.highgo.jdbc.Driver db-type: postgresql url: jdbc:highgo://ip:5866/dbname username: sysdba password: High@123
3.3 添加依赖
选择依赖是需要注意jdk的版本
<dependency> <groupId>com.highgo</groupId> <artifactId>HgdbJdbc</artifactId> <version>6.0.6.jre8</version> </dependency>
启动项目测试
这篇关于翰高数据库安装连接的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南