1-达梦数据库本地安装:

数据库安装 | 达梦技术文档

2-使用可视化工具迁移达梦数据库:

从 MySQL 迁移到 DM | 达梦技术文档

可能遇到的问题:

2-1 连接数据库失败【Communications link failure】

此时需要更换驱动-.>指定驱动

驱动路径:D:\Program Files\apache-maven-3.8.1\repository\mysql\mysql-connector-java\8.0.28\mysql-connector-java-8.0.28.jar【此处填写jar包路径即可,注意版本】

2-2 导入数据时提示数据类型不支持

更换达梦数据库驱动:D:\Program Files\apache-maven-3.8.1\repository\com\dameng\DmJdbcDriver18\8.1.2.141\DmJdbcDriver18-8.1.2.141.jar

3-通过命令行迁移达梦数据库:

1-当前系统已经安装了达梦数据库之后,使用ps -ef |grep dmserver命令查询数据库安装路径,和新建数据库实例应当放置的路径。【PS:未安装达梦数据库请先安装达梦数据库】

其中path之前的路径是达梦数据库安装路径,path之后的路径是建议新建数据库实例应当放置的路径,但是注意此处我新建了一个address_v2_9_new_element_test数据库实例,但是作者未放置在建议路径之上。

2-进入到达梦数据库安装路径的bin目录下:cd /home/dmdba/dmdbms/bin

创建数据库实例:

./dminit path=/home/dmdba/dmdbms/data page_size=16 charset=1 db_name=address_v2_9_new_element_test instance_name=address_v2_9 port_num=3308

path为数据库实例存放路径

db_name为数据库名称

instance_name为数据库实例名称,建议与数据库名称相同【PS:此处作者设置的数据库名称和实例名称不同,原因是instance_name长度不能超过16,否则后续会启动数据库失败!】

port_num为数据库端口号

3-进入达梦数据库的/script/root目录:cd /home/dmdba/dmdbms/script/root

创建数据库服务,注意路径要对,
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/address_v2_9_new_element_test/dm.ini -p address_v2_9_new_element_test

4-再次进入bin目录:cd /home/dmdba/dmdbms/bin

启动达蒙数据库服务和你创建的数据库服务

./DmServiceDMSERVER start

./DmServiceaddress_v2_9_new_element_test start

以该种方式启动需要进入日志查看报错信息,cd /home/dmdba/dmdbms/log

./dmserver /home/dmdba/dmdbms/data/address_v2_9_new_element_test/dm.ini
以该种方式启动会有详细的报错信息,控制台会打印出详细错误信息

PS:此时启动服务,大概率会报错

dmserver startup failed, code = -803 [Invalid ini config value]

nsvr_ini_file_read failed, [code: -803]

若出现以上报错需要进入创建数据库实例的路径中配置相关的配置:

cd /home/dmdba/dmdbms/data/address_v2_9_new_element_test/

vi dmarch.ini

一般系统中不会存在该文件,使用vi命令会自动新建该文件,然后在该文件配置以下信息:

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /home/dmdba/dmdbms/data/address_v2_9_new_element_test/arch

ARCH_FILE_SIZE = 100

ARCH_SPACE_LIMIT = 1024

然后修改当前目录下的dm.ini文件:ARCH_INI = 0 -> ARCH_INI = 1

以上配置是开启数据库的日志归档配置,ARCH_INI = 0【不开启】 -> ARCH_INI = 1【开启】

5-连接数据库:

继续在bin目录下,执行./disql命令,可能会提示你输入用户名和密码,直接两个回车过去,显示sql>即可

以达梦数据库管理员帐号登录,IP地址和端口号改成你自己的
conn SYSDBA/SYSDBA@127.0.0.1:3308

disql退出直接使用exit|quit

6-创建用户:

在sql>中执行create user TESTUSER identified by TESTPWD;

TESTUSER为用户名

TESTPWD为密码

7-给用户授权:grant dba to TESTUSER ;【权限等级分为dba,resource,public】

dba系统全部权限,可以查看其它用户的表,而其它两个权限则不可以

8-常用的sql语句:【执行sql语句时,需要使用;做结束符,否则系统会识别不出来】

select table_name from user_tables; //当前用户拥有的表

user_tables字段:
table_name,tablespace_name,last_analyzed等

select * from user_tab_columns where Table_Name='用户表';

user_tab_columns字段:
table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等

select * from user_tab_comments;//获取表注释

select * from user_col_comments//获取字段注释

9-mysql导出的sql文件无法在达梦中直接执行,需要进行一下修改:

9.1-去掉所有的中文引号’

9.2-bit tinyint smallint int bigint float等去掉精度限制,只有number(10,8)可以存在精度限制【PS:否则会提示无法识别类型的错误】

9.3-主键索引可以保留PRIMARY KEY (id),但是需去掉USING BTREE,其他索引需要用户手动创建

9.4-ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;需要去除且在括号后加分号;

9.5-表注释只能通过语句添加comment on table 表名 is '注释';

10-mysql数据导入过程中的问题:

10.1-关于TIMESTAMP的时间类型

mysql可以设置为ON UPDATE CURRENT_TIMESTAMP该类型时,更新该条数据该字段可以自动刷新;

达梦数据库无ON UPDATE CURRENT_TIMESTAMP类型,但是可以同创建触发器来完成类似操作,mysql的底层应该也是采取的触发器实现此时间类型。

10.2-涉及到geometry类型

10.2.1-达梦数据库中第一次使用geometry类型需要执行几何初始化,否则在设置字段为geometry类型会报错,无效的数据类型。

几何初始化步骤:

以数据库管理员身份登录 SQL 客户端,然后使用下列命令对几何类型进行初始化:

SP_INIT_GEO_SYS(1);

通过发出下列 SQL 命令确认几何类型已初始化:SELECT SF_CHECK_GEO_SYS;

如果几何类型已初始化,则命令将返回以下内容:

LINEID    SF_CHECK_GEO_SYS

1         1

10.2.2-达梦数据的geometry类型为st_geometry,建表填写类型时需填写st_geometry

10.2.3-当从mysql导出的表数据中包含geometry类型时,系统会导出为ST_GeomFromText(字段)的格式,在导入到达梦数据库中时,需要修改为DMGEO.ST_GEOMFROMTEXT(字段,0)

10.3-关于中文字符的问题:

LENGTH_IN_CHAR=0  varchar以字节数为单位,gb18030 的一个汉字是两个字节,utf-8 的一个汉字一般是三个字节
 LENGTH_IN_CHAR=1  varchar存储的字节数将会按照一定比例扩展, gb18030 时 varchar 的字节数等于定义长度 *2,字符集为 utf-8 时 varchar 的字节数为定义长度 *4

当发现导入数据存在超出字符范围时,可适当修改字段长度

10.4-表字段类型修改:达梦中没有longtext,JSON类型

longtext->LONGVARCHAR

JSON类型改为 varchar,varchar2,char,clob等作为存储字段的数据类型。

10.5-当数据库出现锁超时情况:

10.5.1-先查出存在锁的session

select a.*,b.NAME,c.SESS_ID from v$lock a
left join sysobjects b on b.ID=a.TABLE_ID
left join v$sessions c on a.TRX_ID=c.TRX_ID;

10.5.2-然后根据session_id关闭对应的锁

sp_close_session(sess_id);

10.6-mysql导出的数据涉及到转义时,比如转义/'表示转义的',在导入达梦会出现异常,达梦数据库中对分号的转义是'',连续两个分号

后续问题待补充.....

MySQL数据库迁移到达梦数据库过程详解相关推荐

  1. MySQL库迁移到达梦的过程中,出现列长度超出定义的问题导致中断

    问题描述: 通过达梦DTS在将MySQL库迁移到达梦的过程中,出现列[NAMES]长度超出定义的问题导致中断.错误信息如下图: 问题分析: 经排查,该表的NAMES字段存放的是中文,MYSQL中使用的 ...

  2. mysql数据库迁移到达梦数据库

    说明:在windowns上安装达梦数据库,并从mysql5.7迁移到达梦数据库8,此处使用的是达梦数据库的试用版本,如果要安装标准版或者企业版,可以花钱购买. 下载安装包 从达梦官网下载安装包,下载地 ...

  3. Mysql数据迁移到达梦数据库

    前言:由于达梦数据库的结构和mysql存在差异,mysql分了很多业务库,这里相当于是达梦数据库的用户(模式), 一个用户(模式)对应了mysql中的一个库. 一.安装达梦客户端工具: 二.完成安装后 ...

  4. mysql数据迁移到teradata_Mysql迁移到达梦数据库-Mysql到DM的应用迁移-给自增列赋值-GroupBy语法不兼容...

    现象描述 把基于Mysql 的应用移植到达梦数据库,我们进程碰到下面两个问题. 场景一: 在完成了数据和应用系统的移植后,应用一启动,看到日志框框报错:无法给自增列赋值. [仅当指定列列表,且 SET ...

  5. 达梦数据库迁移教程(Mysql迁移到达梦数据库)

    前言 为了适配国产化,需要从 MySQL 迁移到达梦数据库,总体的迁移过程也不算复杂,在此记录如下 一.DM数据迁移工具 1.找到DM数据迁移工具 2.打开DM数据迁移工具 二.迁移工程 1.新建工程 ...

  6. 达梦数据库导入oracle数据_Java项目,从Oracle迁移到达梦数据库笔记

    达梦数据库是个国产数据库,据说对Oracle有很好的兼容,本人亲自从Oracle11g迁移到达梦6.0的数据库上来,遇到一些问题,以下是问题记录: 1.字段名错误 虽然达梦SQL可以兼容字段大小写,但 ...

  7. 关系型数据库迁移达梦数据库

    前言 本文章描述对于金融机构纷纷转用国产数据库进行市场调研,在业务背景中做了粗略说明.同时详细介绍达梦数据库特性和优势.在项目中通常会使用第三方组件,在文章中以Flowable为例提供了解决方案. 业 ...

  8. 使用DTS从MySQL 8.0迁移到达梦数据库

    在使用DTS进行mysql8.0到dm7的数据迁移,选择DTS中的数据源并连接时报错.(使用默认驱动) 报错信息:Unknown character set index for field '255' ...

  9. mysql迁移到达梦数据库

    1.达梦数据库jdbc连接指定数据库 jdbc://host:port?schema=数据库名称 2.复制表结构时达梦数据库不像mysql一样会把表结构和索引信息复制过来,而且达梦数据库的索引名称不允 ...

最新文章

  1. 清华博士接亲被要求现场写代码,网友:真是面向对象编程!
  2. ubuntu16.04 uninstall cuda 9.0 completely and install 8.0 instead
  3. TIBCO宣布接近达成收购LogLogic
  4. JZOJ 5476. 【NOIP2017提高组正式赛】奶酪
  5. MySQL根被拒绝_[转载]phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接。...
  6. 2016\Province_C_C++_C\1 报纸页数
  7. proe2001安装指南
  8. 12linux目录结构13Linux目录详解
  9. 工具存储过程收藏(spFindString)
  10. Dubbo 沉睡,Spring Cloud 崛起!
  11. C#与JavaScript中URL编码解码问题(转)
  12. Spartan-6 FPGA 如何使用ISE下载程序
  13. 投影幕布尺寸计算器_投影距离和屏幕尺寸计算器Ver1.02.xls
  14. 砸金蛋c语言编程,CSS3 简单的砸金蛋样式
  15. 【迪文屏】踩坑指南——汉字显示乱码、背景图不显示问题的解决方法
  16. 三星量子计算机,全球首款量子手机来了,某厂商是秀肌肉还是蹭流量?
  17. 实现全国行政区域结构化管理
  18. Postman测试http请求返回415状态码的解决
  19. 记录一下解决win10无法分屏问题
  20. Burp Suite使用介绍(一)

热门文章

  1. CIFAR-10数据集(介绍、下载读取、可视化显示、另存为图片)
  2. iMindMap教你如何熟悉自考驾照
  3. 机器学习中的特征工程
  4. 易基因|DNA甲基化揭示肌痛性脑脊髓炎/慢性疲劳综合征在复发和恢复周期中的动态表观变化
  5. python+selenium—无弹窗驱动浏览器(无头浏览器)
  6. springmvc相对路径_SpringMVC Web 相对路径与绝对路径
  7. Android 中通过 FFmpeg 命令对音视频编辑处理(已开源)
  8. java实战-摘自51自学网
  9. 常用文件类型 -- JSON文件介绍
  10. java 中乘法_如何运用java语言实现乘法原理