注册
MySQL数据库迁移到达梦
专栏/技术分享/ 文章详情 /

MySQL数据库迁移到达梦

,,, 2025/11/21 583 0 0
摘要

MySQL数据库迁移到达梦

一、概述

本文旨在演示mysql数据库迁移到达梦的过程,对其中可能遇到的问题进行较为详细的讲解

参考文章:达梦数据迁移工具

演示时不同软件所处环境:

  • DM8:虚拟机,centOS 7 ,VMware WorkStation 16
  • MySQL 8.0:windows 11
  • 达梦数据迁移工具(DTS):虚拟机,centOS 7 ,VMware WorkStation 16

同时,将使用Xftp对虚拟机进行连接,模仿远程进行数据迁移,源库和目的库,迁移工具位于不同主机不同系统。

使用XLaunch 进行x11转发,从而能够远程调用图形界面

二、迁移准备

  1. 准备上述软件,准备好源库和目标库,确认相关的服务已经启用。

达梦数据库的安装,实例的初始化和启动参考 达梦数据库安装

  1. 使用xftp连接虚拟机后,在左上角当前会话属性中,在隧道中,启动x11转发并设置为转发到x display
    image20251114162952673.png

image20251114163125839.png

  1. 启动x launch,设置display number 和确保 disable access control为勾选状态

屏幕截图 20251114 160122.png

屏幕截图 20251114 160125.png

屏幕截图 20251114 160131.png

三、启动迁移工具

启动dts

dts工具为图形化工具,需要将图形化界面放开

输入以下命令

su root xhost + su dmdba export DISPLAY=IP:0.0

ip替换为运行xftp的主机ip,在windows中可以通过cmd 输入ipconfig查看,或者在网络与Internet属性中查看。

如果你在这一步中,显示类似xhost命令不存在,说明你的centos可能是最小化安装,没有可用的图形界面或者x server。可以执行以下命令进行安装。

su root yum groupinstall -y "GNOME Desktop" systemctl set-default graphical.target reboot

至于安装过程中可能会出现的镜像源等问题,自行百度或询问ai,这里不再赘述。

然后启动dts

/home/dmdba/dmdbms/tool/dts #默认安装地址,如果有变动替换为你的安装地址

dts启动成功,在我们运行xftp的主机上成功显示了图形化界面

image20251114165051097.png

评估迁移

右键左侧白色区域新建工程mysql-dm,然后新建评估,具体步骤参考https://eco.dameng.com/document/dm/zh-cn/start/tool-dm-migrate.html,这里只讲解可能出现的一些问题。

问题1:连接源库时报错,详细报错信息如下

image20251114165930054.png

说明你的 Java 应用尝试以用户名 root、从主机 the_db_king 连接 MySQL,权限被拒绝。这通常不是密码错误(因为提示 (using password: YES) 表示密码已提供且格式正确),而是 MySQL 中没有 'root'@'the_db_king' 这个用户账号,MySQL 的用户是 “用户名 + 主机名” 的组合,需要在mysql库中创建对应的用户和主机名。

比较合适的做法是创建一个专属用户进行链接,创建完成后重新填写对应的用户名

-- 允许从特定主机连接 CREATE USER 'appuser'@'the_db_king' IDENTIFIED BY 'StrongPass123!'; -- 授予数据库权限(按需调整) GRANT SELECT, INSERT, UPDATE, DELETE ON your_database.* TO 'appuser'@'%'; -- 刷新权限 FLUSH PRIVILEGES;

当然也可以简单粗暴地使用root用户进行远程连接

-- 允许任意主机使用root连接 CREATE USER 'root'@'%' IDENTIFIED BY '你的root密码';

问题2:

在进行上述修改后,连接仍然报错

java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

这是尝试使用明文密码认证时,jdbc连接未启用公钥检索时,mysql的安全策略阻止了这次连接

解决方法:在自定义url后面添加下述参数

&allowPublicKeyRetrieval=true&useSSL=false

正式迁移

右键左侧迁移选择新建迁移,和评估中同样地步骤填写源库

在连接dm数据库的时候,可能会出现无法连接的问题,这时候优先检查虚拟机的对应端口有没有开放

使用以下命令开放对应端口

-- 改为实例的对应端口 sudo firewall-cmd --permanent --add-port=5236/tcp sudo firewall-cmd --reload

如果你运行的dts和dm在一个虚拟机上,那就不会出现上述问题

然后跟随数据迁移工具手册进行即可,按需改动自己的参数,验证迁移结果。

四、总结

本文进行了使用达梦数据迁移根据把mysql数据库迁移到达梦的演示,重点关注了过程中可能出现的问题,如xserver图形化界面的启动和转发,mysql数据库的连接,。灵活结合官方手册,合理使用ai工具,确保数据库能够成功地进行迁移。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服