mysql迁移到金仓数据库(V8R3)方案

​ 本次迁移为停机停服迁移,无需保障服务不中断,不存在在线数据实时迁移问题。为了实现mysql数据库迁移到金仓数据库,我们需要从以下几方面考虑解决方案

金仓与mysql数据库差异/字段类型/语法差别文档(无官方文档,自己梳理)

mysql迁移到金仓数据抽取&转换过程(金仓已提供)

数据一致性校验工具(金仓迁移工具提供数据量对比)

sql自动检查工具(待开发)

针对触发器/存储过程/java对象/sql具体差异修复,统一(如果能改成统一语法,建议改成统一语法兼容多种数据库)

回滚工具(如果发生较大失误,直接切换回原先的mysql数据库)

​ 由于老系统较多,迁移工作量巨大,本次迁移采用mybatis插件自动转换部分sql语法差异,部分差异手动修改,以此来减小工作量,以下针对具体差异点详细说明:

group by的差异(由于具有多意性,只能由人工根据业务具体修改)

boolean类型的差异(由于涉及到java字段类型修改,为了以后多数据库考虑,建议修改为char(1),t表示true,f表示false)

时间默认值的差异(根据业务修改具体代码,建议以后不设置默认值)

自增字段差异(一般在初始化中设置,数量较少,迁移后包含对应语句,手动修改)

建表的差异(一般在初始化中设置,数量较少,迁移后包含对应语句,手动修改)

mysql使用`区分关键字,金仓不支持使用关键字;mysql不严格区分''和"",金仓严格区分

金仓数据库字段_mysql迁移到金仓数据库(V8R3)相关推荐

  1. sequelize 增加数据库字段_Node项目使用Sequelize操作数据库(一)(包括模型,增,删、改等)...

    Sequelize 是一个基于 Promise 的 Node.js ORM,目前支持 Postgres.MySQL.SQLite 和 Microsoft SQL Server.它具有强大的事务支持,关 ...

  2. python 获取数据库字段类型_python中如何读取数据库数据类型

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  3. mysql备份数据库怎么还原数据库文件_mysql如何备份和还原数据库文件

    MySQL使用命令备份和还原数据库 这篇文章主要介绍了MySQL使用命令备份和还原数据库,本文使用Mysql内置命令实现备份和还原,比较简单,需要的朋友可以参考下 数据库在使用当中都会有数据库备份工作 ...

  4. mysql 创建数据库文件_mysql学习之通过文件创建数据库以及添加数据

    1.# 创建数据库语句 create database mydb default character set utf8; # 运用数据库语句 use mydb; # 创建表格,这里只简单的创建一张表格 ...

  5. Java 实现两个不同服务器的数据库数据的迁移(注释含数据库建表语句备份)

    现在需要将内网数据库的数据及表同步到外网中,但是连接内网需要jar包才能穿透连接到,经测试,jar包对获取建表语句进行了限制(注释的代码),所以需要内外网两边把表建好,直接同步数据. 逻辑: 获取内网 ...

  6. mysql备份还原数据库操作系统_mysql 命令行备份还原数据库操作

    一  备份操作 1.备份全部数据库 mysqldump -uroot -p --all databases > aa.sql 2.备份某个数据库并压缩 mysqldump -uroot -p d ...

  7. mysql 查看当前数据库编码_MySQL查看并修改当前数据库编码

    MySQL中,数据库的编码是一个相当重要的问题,有时候我们需要查看一下当前数据库的编码,甚至需要修改一下数据库编码. 查看当前数据库编码的SQL语句为: mysql> use xxx Datab ...

  8. mysql怎么导出导入数据库结构_mysql导入SQL、导出数据库、表、结构

    导入SQL文件:在DOS的 MYSQL安装目录/BIN 目录下用下面命令: mysql -u username -p databasename use database_name 然后使用下面这个命令 ...

  9. mysql数据库特殊字符_MySQL创建带特殊字符的数据库名称方法示例

    前言 这篇文章抓哟讲解了关于如何实现在MySQL中创建带有特殊字符的数据库名称,这里的特殊字符包含:!@#$%^ 方法如下 使用反引号`将数据库名称包含住,反引号`(使用引号是不可以的)即在英文输入法 ...

最新文章

  1. myeclipse的buildpath 和lib引入的区别
  2. select、poll、poll的比较(转)
  3. Java NIO:IO与NIO的区别
  4. 优化技巧与理论(part1)
  5. junit 测试执行顺序_JUnit 5中的测试执行顺序
  6. 【原】Mysql存储关联数组
  7. 升级php7_Drupal 8.8.0 正式发布,升级须知
  8. 排序数字英文字母交错,由小到大
  9. Vue里 v-for原理
  10. 磁盘阵列(RAID)
  11. 《如何成为一个会学习的人》
  12. PDF转CAD怎么弄?推荐两个转换方法
  13. abb机器人searchl报错_ABB机器人常用指令介绍——ABB机器人
  14. Generative Face Completion
  15. 如何在zencart里实现多标签标签云效果
  16. 在工作空间中如何构造IPath或IFile
  17. Android GRO相关
  18. 计算机DNS怎么配置,电脑dns地址设置为多少
  19. Java 11中的新功能和API详解系列1
  20. 宿迁高考成绩查询2021,2021宿迁市地区高考成绩排名查询,宿迁市高考各高中成绩喜报榜单...

热门文章

  1. DCDC电源工作啸叫
  2. 机械狗的机器学习入门(绪)——做一盘大菜。2019/3/31
  3. uniapp小程序获取手机号、获取用户信息
  4. 【普】静态IP和动态IP有什么区别?
  5. element 复杂表格渲染(1)
  6. Windows路由功能及DHCP中继服务
  7. “十进制网络”遭质疑 数字域名被当作笑话
  8. Bit-Z的投资忠告
  9. 微信为什么要做输入法?
  10. 数字 整除 互质 最大公约数 最小公倍数 判断技巧