适配说明
Mysql与国产数据库对比
下面是MySQL与国产数据库(达梦DM、神州通用ShenTong、人大金仓Kingbase)在数据库、模式(Schema)、表(Table)管理方式上的对比表格:
特性/数据库系统 | MySQL | 达梦DM | 神州通用ShenTong | 人大金仓Kingbase |
---|---|---|---|---|
数据库(Database) | - 数据库是一个逻辑容器,用于存储相关的对象。 - 创建: CREATE DATABASE 或 CREATE SCHEMA 。- 数据库间相互独立。 | - 类似于MySQL,数据库作为一个逻辑容器。 - 支持创建多个数据库实例。 - 强调数据的安全性和完整性。 | - 数据库作为基本的数据组织单位。 - 提供对数据对象的管理和控制。 - 注重性能优化和安全性。 | - 支持创建和管理多个数据库实例。 - 每个实例可以包含多个模式。 - 提供丰富的安全策略和数据保护机制。 |
模式(Schema) | - 在实践中,模式通常等同于数据库。 - 严格来说,模式是数据库内的一个命名空间。 - 允许在同一数据库中定义多个模式以实现逻辑隔离。 | - 模式是指数据库内部的一个逻辑分区,用来组织和隔离不同的用户对象集合。 - 模式名通常与用户名相同。 - 提供了更细粒度的对象访问控制。 | - 支持模式的概念,允许在同一数据库内创建多个模式。 - 有助于实现更好的对象管理和权限控制。 - 模式间可以有相同的对象名而不冲突。 | - 定义与标准SQL一致,是一个数据库对象的集合。 - 包括表、视图、索引等。 - 不同模式间可以有相同的对象名而不冲突。 - 提供灵活的权限管理。 |
表(Table) | - 表是存储具体数据记录的基本单元。 - 每张表属于一个特定的数据库或模式。 - 支持多种数据类型和约束条件。 | - 表同样是存储数据的基本单元,位于某个模式之下。 - 提供了针对特定需求的扩展特性,如分布式事务支持等。 - 强调高效的数据处理能力。 | - 基于模式进行组织。 - 提供丰富的类型支持和优化机制。 - 支持复杂查询和数据分析功能。 | - 表概念与其他关系型数据库相似。 - 可能包含针对特定需求的扩展特性,比如对分布式事务的支持等。 - 支持高级的查询优化技术。 |
适配的基本思路
环境安装
- 安装数据库
- 安装数据库管理工具
- 安装数据库迁移工具
数据库管理工具的基本使用
- 如何创建数据库实例
- 如何创建数据库模式
- 如何创建数据库表
数据库迁移
- 源数据库配置
- 目标数据库配置
- 迁移任务
框架适配
- 引入jdbc驱动包
- 驱动名称
driver-class-name
调整 - 连接url调整
达梦连接配置
application.yml配置
# Mysql数据库配置
spring:
datasource:
driver-class-name: dm.jdbc.driver.DmDriver
url: jdbc:dm://${DB_HOST:localhost}:${DB_PORT:5236};SCHEMA=${DB_SCHEMA:MLDONG-PLUS}
username: ${DB_USER:SYSDBA}
password: ${DB_PASSWORD:8Eli#gr#AUk}
配置说明
- DB_HOST 为数据库主机地址
- DB_PORT 为数据库端口
- DB_NAME 为数据库名称,对应的是安装的实例,这个找安装神州通用数据库的安装人员
- DB_SCHEMA 为数据库模式名称
- DB_USER 为数据库用户名
- DB_PASSWORD 为数据库密码
神州通用连接配置
application.yml配置
# Mysql数据库配置
spring:
datasource:
driver-class-name: com.oscar.Driver
url: jdbc:oscar://${DB_HOST:172.16.31.160}:${DB_PORT:2003}/${DB_NAME:xxx}?currentSchema=${DB_SCHEMA:M-TEST}
username: ${DB_USER:root}
password: ${DB_PASSWORD:8Eli#gr#AUk}
配置说明
- DB_HOST 为数据库主机地址
- DB_PORT 为数据库端口
- DB_NAME 为数据库名称,对应的是安装的实例,这个找安装神州通用数据库的安装人员
- DB_SCHEMA 为数据库模式名称
- DB_USER 为数据库用户名
- DB_PASSWORD 为数据库密码
人大金仓连接配置
application.yml配置
# Mysql数据库配置
spring:
datasource:
driver-class-name: com.kingbase8.Driver
url: jdbc:kingbase8://${DB_HOST:localhost}:${DB_PORT:54321}/test?currentSchema=${DB_SCHEMA:mldong-plus}
username: ${DB_USER:kingbase}
password: ${DB_PASSWORD:123456}
配置说明
- DB_HOST 为数据库主机地址
- DB_PORT 为数据库端口
- DB_NAME 为数据库名称
- DB_SCHEMA 为数据库模式名称,在人大金仓中是不支持这个配置
- DB_USER 为数据库用户名
- DB_PASSWORD 为数据库密码