命令行方式将mysql数据库迁移到达梦数据库(全步骤)

2024-05-09 08:36

本文主要是介绍命令行方式将mysql数据库迁移到达梦数据库(全步骤),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

因项目需求,需要将mysql数据库转换为国产达梦数据库,但由于安全问题,正式环境只能用命令行方式连接,下列是操作全步骤

目录

  • 一、操作逻辑
  • 二、操作步骤
    • 1、本地安装达梦相关工具
    • 2、将服务器mysql导出到本地
      • a) 服务器命令行导出mysql数据
      • b) 本地创建mysql库和达梦数据库
    • 3、本地mysql迁移为达梦
    • 4、导出本地达梦数据库
    • 5、部署服务器的达梦数据库
      • a) 修改服务器达梦数据库配置
      • b) 重启达梦数据库
      • c) 导入数据
  • 三、异常处理
    • 1、导入达梦时报错:Error Code:-70028,创建SOCKET连接失败
    • 2、导入达梦时报错:[警告]该工具不能解析此文件,请使用更高版本的工具

一、操作逻辑

完全命令行方式操作太过麻烦,则新的操作流程如下:

  1. 本地安装mysql和达梦数据库
  2. 将linux服务器中原始mysql数据库导出并导入到本地
  3. 在本地将mysql迁移为达梦
  4. 导出本地达梦数据库内容
  5. 使用命令行导入到linux服务器的达梦数据库中

二、操作步骤

1、本地安装达梦相关工具

本地安装达梦数据库后,会自动安装连接工具。
电脑左下角搜索“DM管理工具”即为达梦数据库连接工具
在这里插入图片描述
进入达梦安装目录,tool文件夹中,dts.exe就是迁移工具
在这里插入图片描述

如果本地没有安装达梦,也可以下载下面的安装包安装

安装包地址点击链接

2、将服务器mysql导出到本地

a) 服务器命令行导出mysql数据

进入服务器,直接运行下列命令。
将mysql原始数据库hospital_files导出到服务器的/data/目录下,sql文件名为“数据库.sql”

mysqldump --routines -u root -p hospital_files > /data/数据库.sql;

在这里插入图片描述

执行完后,会在服务器的/data/目录下生成sql文件,将文件拉取到本地
在这里插入图片描述

b) 本地创建mysql库和达梦数据库

先创建hospital_files空数据库,再右键 - 运行sql文件,弹框中文件选取刚才导出的“数据库.sql”文件
在这里插入图片描述
本地达梦数据库创建名为“hospital_files”的空数据库

3、本地mysql迁移为达梦

迁移前,本地达梦数据库需要创建与mysql数据库名一样的模式,
我这里mysql数据库名为“hospital_files”,所以创建的名为“HOSPITAL_FILES”的模式

打开迁移工具dts.exe - 新建工程 - 新建迁移
在这里插入图片描述
在这里插入图片描述
新建完成出现如图页面 - 点击下一步
在这里插入图片描述
选择mysql → DM选项,点击下一步
在这里插入图片描述
输入mysql连接方式 - 点击下一步
注意:如果连接成功,会跳转到下一个页面,否则会报错
在这里插入图片描述
输入达梦数据库连接方式 - 点击下一步
注意:如果连接成功,会跳转到下一个页面,否则会报错
在这里插入图片描述
这个直接点击下一步
在这里插入图片描述
选择对应的数据库 - 点击下一步
在这里插入图片描述
点击“反选”即可全选所有的表 - 点击“转换”按钮
在这里插入图片描述
将图片上红框的两个打上勾 - 点击确定 - 下一步 - 点击完成
最后会完成迁移工作,如果有报错会有详细提示
在这里插入图片描述
迁移完后查看达梦数据库,就有表数据了
在这里插入图片描述

4、导出本地达梦数据库

方法一:命令行方式(推荐)

# 命令解释
./dexp 用户名/密码:端口 file=文件名.dmp directory=/文件输出目录 SCHEMAS=模式名
# 命令实例
./dexp sysdba/'"XXXX@2024"':5236 file=testDM.dmp directory=/opt SCHEMAS=HOSPITAL_FILES

方法二:图形化界面方式
此方式容易出现导入时版本不一致而不能解析的问题

选择对应模式,右键 - 导出 - 弹框中选择导出目录 - 点击确认
在这里插入图片描述

5、部署服务器的达梦数据库

a) 修改服务器达梦数据库配置

打开dm.ini文件,位置在dmdbms/data/YLDA文件夹中
在这里插入图片描述
修改如下的几个参数

COMPATIBLE_MODE = 4
GROUP_OPT_FLAG = 1
MY_STRICT_TABLES = 1

b) 重启达梦数据库

我的数据库安装在/data/文件夹中

# 进入目录
cd /data/dmdbms/bin
# 停止服务
./DmServiceDAMENG stop
# 开始服务
./DmServiceDAMENG start

c) 导入数据

三、异常处理

1、导入达梦时报错:Error Code:-70028,创建SOCKET连接失败

原因:可能是由于密码符号的问题导致的
方法一:更换达梦数据库密码,不能有特殊字符,比如@
方法二:将密码加上双引号,比如密码为XXXX@2024,语句中改为’ " XXXX@2024 " ’

./dimp sysdba/'"XXXX@2024"':5236 file=testDM.dmp directory=/opt SCHEMAS=HOSPITAL_FILES

2、导入达梦时报错:[警告]该工具不能解析此文件,请使用更高版本的工具

原因:导出与导入的版本不一致
方法:使用命令行方式导出

# 先导出本地达梦数据
./dexp sysdba/'"XXXX@2024"':5236 file=testDM.dmp directory=/opt SCHEMAS=HOSPITAL_FILES# 再服务器导入达梦数据
./dimp  sysdba/'"XXXX@2024"':5236 directory=/opt file=testDM.dmp SCHEMAS=HOSPITAL_FILES

这篇关于命令行方式将mysql数据库迁移到达梦数据库(全步骤)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/972911

相关文章

idea设置快捷键风格方式

《idea设置快捷键风格方式》在IntelliJIDEA中设置快捷键风格,打开IDEA,进入设置页面,选择Keymap,从Keymaps下拉列表中选择或复制想要的快捷键风格,点击Apply和OK即可使... 目录idea设www.chinasem.cn置快捷键风格按照以下步骤进行总结idea设置快捷键pyth

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

SQL Server中行转列方法详细讲解

《SQLServer中行转列方法详细讲解》SQL行转列、列转行可以帮助我们更方便地处理数据,生成需要的报表和结果集,:本文主要介绍SQLServer中行转列方法的相关资料,需要的朋友可以参考下... 目录前言一、为什么需要行转列二、行转列的基本概念三、使用PIVOT运算符进行行转列1.创建示例数据表并插入数

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

java敏感词过滤的实现方式

《java敏感词过滤的实现方式》文章描述了如何搭建敏感词过滤系统来防御用户生成内容中的违规、广告或恶意言论,包括引入依赖、定义敏感词类、非敏感词类、替换词类和工具类等步骤,并指出资源文件应放在src/... 目录1.引入依赖2.定义自定义敏感词类3.定义自定义非敏感类4.定义自定义替换词类5.最后定义工具类

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目