文章目录

  • 1.数据库迁移
  • 2.数据库设置主键自增
    • 2.1 数据库字段问题
    • 2.2 存在即更新
    • 2.3 清空数据表
    • 2.4 瀚高数据库查询过程中显示转换
    • 2.5 mybatis插入一条数据返回自增的主键值
    • 2.6 瀚高数据库服务无法启动
  • 3. 部署
  • 4. tomcat出问题
  • 5. 2022/4/24
    • 5.1 数据库备份
    • 5.2 数据库恢复

1.数据库迁移

我目前使用的是5.6.5版本瀚高数据库
关于瀚高数据库的数据迁移,我目前只找到了两个方案,
1.只能用专门的迁移工具,csdn中50c币的那个,该工具可以实现其他数据库(这个其他不包含瀚高自己)迁移到瀚高数据库
2.瀚高数据库自带的迁移工具,从oracle迁移到瀚高(可能有其他的,我可能没发现?)

2022/4/24原帖更新插入新方法
经过一番搜索,发现了新的方式,即为数据库备份 数据库恢复

2.数据库设置主键自增

数据库迁移之后,需要加主键自增,因为瀚高数据库不像mysql数据库的navcat一样点一下就自增了

(68条消息) postgresql常用函数>序列函数nextval():设置主键自动增长_野生汪嘤嘤嘤的博客-CSDN博客_default nextval

CREATE SEQUENCE 表名_主键_seq START WITH 1    --1为起始idINCREMENT BY 1  --每次自增NO MINVALUE NO MAXVALUE CACHE 1;
alter table 表名 alter column id set default nextval('表名_主键_seq'); 
//数据库设置修改主键起始值:
alter sequence if exists 表名_主键_seq restart with 3  cache 1;

2.1 数据库字段问题

有些超级大的数字必须在sql语句中转为bigint
(69条消息) sum(CHARACTER VARYING) 不是唯一的_麻花2013的博客-CSDN博客

非mysql数据库的一些问题

sum(cast(字段名 as int))

2.2 存在即更新

某个sql语法,在瀚高中的修改

1、如果数据库存在一条记录,则将新插入的值,作为更新

2、如果没有这样一条记录,则新增。

(70条消息) PostgreSQL数据库如果不存在则插入,存在则更新_旷野孤星的博客-CSDN博客_pgsql 存在则更新

INSERT INTO test_postgre(id,name,InputTime,age)
VALUES('1','postgre','2018-01-10 22:00:00',24)
ON conflict(id)
DO UPDATE SET name = 'postgreOk', InputTime ='2018-02-22 12:00:00'

2.3 清空数据表

在 mysql中,只需要执行:

TRUNCATE table_name;

即可,数据会情况,而且自增id也会变回0;

但在 postgresql 则稍有不同,因为 postgresql 的自增id是通过序列 sequence来完成的,

所以情况数据后,还需要还原序列 sequence:

TRUNCATE bigtable, fattable RESTART IDENTITY;

2.4 瀚高数据库查询过程中显示转换

一个莫名其妙的错误

SELECT person.name, holidays.num_weeks FROM person, holidays WHERE person.current_mood = holidays.happiness; ERROR:operator does not exist: mood = happiness

如果真的需要那么做,可以要么自定义运算符,要么为查询添加显式转换:

SELECT person.name,holidays.num_weeks FROM person,holidays WHERE person.current_mood::text=holidays.happiness::text;

2.5 mybatis插入一条数据返回自增的主键值

mybatis插入一条数据返回自增的主键值_smile-yan的博客-CSDN博客_mybatisplus插入一条数据返回主键

<insert id="addTaskLogs" parameterType="com.taiyu.dms.entity.TaskLog" useGeneratedKeys="true"   keyProperty="id" keyColumn="id">insert into taskLog(taskName,taskType,taskCycle,startTime,mxTable) values(#{taskname},#{tasktype},#{taskcycle},#{starttime},#{mxtable})</insert>

七种MYSQL插入数据后返回自增主键ID的方法_童话ing的博客-CSDN博客_mysql 插入返回主键.

2.6 瀚高数据库服务无法启动

这个解决方案好像是有一个人的综合方案

瀚高数据库win版启动客户端连接提示拒绝连接,是否在主机xxx运行且准备接受在端口5866_星月情缘02的博客-CSDN博客_瀚高数据库启动不了

3. 部署

我们对于部署的操作是 打war包 放在tomcat的webapps下

前端是vue项目 也放在webapps下

vue项目中需要写一个config.js (里边只有这一句话)

window_global_config = {baseURL:'http://后端ip地址:后端端口号/后端项目名'
}

ip地址为后端服务器地址/后端本机地址

端口号(此处对应的是项目的端口号–在项目的application.properties中配置的端口号)

后端项目名为你放在webapp下的war包名(这个名是在resources下的配置文件中定义的)

放完之后

在bin目录中 启动startup.bat

4. tomcat出问题

tomcat路径下 logs文件夹 找出时间最近的日志,拉到最下查看问题

常见错误

password authentication failed for user "highgo"  --连接数据库的密码错误
relation "表" does not exist
这个错误可以由多种因素引起1.权限什么的————查阅后……我没看懂,2.瀚高数据库的库名问题————我把我的库名改成highgo,解决了

出现过c3p0错误

原因是我写的某个定时器引用了低版本的c3p0 但我为了连接瀚高使用了高版本的c3p0

最后解决方案是在定时器中的依赖中排除低版本的

不过我觉得关于这个问题的找出的方式很值得学习
发现错误的方式是,
1.tomcat报错看tomcat logs ,
2.maven清空重新导包,发现下载了两个包,
3.拆war包,war包中有俩c3p0,
4.尝试在项目中找低版本的c3p0的来源(找不到)
5.看依赖树,发现定时器的某个依赖引用了低版本c3p0依赖,
6.尝试只用低版本的c3p0能否运行(并不能),
7.使用语法排除低版本,只用高版本(√)

(这个错误找大佬查,查了1个多小时,一直到自己手动把war包拆开,挨个看依赖这才发现问题)-----这个错误找的是最累的,每次尝试都要重新清缓存,打包,部署,启动,再测试

5. 2022/4/24

5.1 数据库备份

在C:\highgo\database\5.6.5\bin下进入cmd

-h localhost 本地数据库地址

-p 5866 端口号

-U highgo 用户(瀚高数据库用户,密码)

-d highgo 瀚高中的数据库名字

-n baozhen 瀚高中的数据库的模式名

testdb20220424.hgdmp 数据库的备份的储存的sql类型的文件名

pg_dump -h localhost -p 5866 -U highgo -d highgo -n baozhen -v -Fc > testdb20220424.hgdmp

运行后的数据储存在bin目录下

5.2 数据库恢复

将文件拖进服务器或者部署的机器中

pg_restore -h 127.0.0.1 -p 5866 -U highgo -d highgo -v testdb20220424.hgdmp

注意:该方法未测试,不过感觉没太大问题

mysql数据库迁移到瀚高数据库,包含数据迁移、sql语法、服务启动、部署、tomcat问题整理相关推荐

  1. 信创环境下三个开源数据库:SQLite、MariaDB(MySQL)和postgreSQL(瀚高数据库免费版)基本操作

    在信创环境下,常用的免费数据库主要是:SQLite.MariaDB(MySQL)和postgreSQL(瀚高数据库免费版),可以在一些产品中内嵌使用. SQLite作为单文件数据库,不需要后台服务,预 ...

  2. 瀚高数据库php连接,瀚高数据库----基本函数

    || 字符串拼接 语法 string || string 示例 'Post' || 'greSQL' -- 返回PostgreSQL length() 字符串的长度 语法 length(string) ...

  3. 瀚高数据库和mysql区别,MySQL数据库迁移瀚高数据库

    1.瀚高数据库安装 下载Highgo Database安全版rpm包并上传至服务器,使用如下命令进行安装 rpm -ivh hgdb5.6.4-enterprise-rhel7.x-x86-64-20 ...

  4. MySQL数据库迁移瀚高数据库

    1.瀚高数据库安装 下载Highgo Database安全版rpm包并上传至服务器,使用如下命令进行安装 rpm -ivh hgdb5.6.4-enterprise-rhel7.x-x86-64-20 ...

  5. MySQL 中 AES_DECRYPT 加密,如何在瀚高数据库中使用

    瀚高数据库 目录 环境 症状 问题原因 解决方案 环境 系统平台:银河麒麟R系(CPU龙芯)4,银河麒麟U系(CPU飞腾)4 版本:4.5.2,6.0 症状 MySQL替换为国产瀚高数据库时, AES ...

  6. mysql partition 语法,MySQL与瀚高数据库的范围分区的语法及实例(APP)

    目录 环境 文档用途 详细信息 环境 系统平台:Microsoft Windows (64-bit) 10 版本:5.6.4 文档用途 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就 ...

  7. Windows系统部署瀚高数据库并在SuperMap iDesktop中使用

    目录 前言 一:Windows系统部署瀚高数据库 二:对数据库进行PostGIS扩展 三:SuperMap iDesktop中新建HighGoDB数据库型数据源 作者:kxj 前言    瀚高数据库是 ...

  8. 瀚高数据库故障诊断指导方案

    作者:瀚高PG实验室 (Highgo PG Lab) 目录 环境 文档用途 详细信息 环境 系统平台:Linux x86 Red Hat Enterprise Linux 6,Linux x86 SL ...

  9. Oracle数据库中stragg()函数,在瀚高数据库中如何替换使用?

    瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:Microsoft Windows (64-bit) 10 版本:6.0 文档用途 用于解决怎么在瀚高数据库中实现和Oracle数据库中st ...

最新文章

  1. python语言怎么用-学习如何使用 Python 程式语言
  2. python常用内置函数总结-python常用内置函数整理—反射
  3. 局域网IP-MAC绑定方案
  4. pg 10 wal 归档同步配置
  5. UNITY中使用不安全代码的相关设置
  6. java安全编码指南之:字符串和编码
  7. 如何成为一名更出色的开发者?
  8. 软件开发之韵:和谐敏捷
  9. 分享:BlackHole开发日记-Java守护进程、Signal处理
  10. CMake 简单入门
  11. 12款黑科技神器,务必低调使用
  12. icem划分网格步骤_ICEM网格划分步骤
  13. 计算机二级access无忧考吧破解,无忧考吧access模拟考试软件
  14. android电视与苹果手机图片,小米电视怎么投屏?图文讲解安卓和苹果手机投屏到小米电视方法...
  15. Nginx反向代理与负载均衡应用实践(二)
  16. 科大讯飞实现了APP用自己的声音听故事
  17. 多巴胺所表达的prediction error信号
  18. 基于java的高校实验室排课系统
  19. 计算机系统结构专业都学什么,计算机专业都学些什么?
  20. Sidney网站分析感悟:无细分,毋宁死

热门文章

  1. MySQL 主键和索引
  2. 自学成才的游戏建模师教你如何制作出一个故事性3D角色
  3. 音频处理中的域-Bark与Mel域
  4. 019:Django微信支付宝支付
  5. MS Project 2013 修改项目名称
  6. 便携数码产品测试神器—2串电芯电池模拟器(带DVM测量)
  7. 谷歌chrome浏览器无法自动播放video标签视频的问题
  8. 自媒体人必备的4大工具,全部免费,快收藏起来
  9. 态度决定方向,毅力成就行动
  10. windowsmobile软件_聊一聊 quot;压缩解压quot; 软件那点事