MySQL数据库迁移到KingbaseES完整指南

文章目录

写在前面

今天咱们来聊聊一个很实用的话题------怎么把MySQL数据库搬到国产数据库KingbaseES上。别看这事儿听起来挺复杂,其实用对了工具,操作起来还是挺简单的。我会一步一步带着大家走,保证你看完就能上手。

咱们先准备准备

开始之前,先看看咱们需要什么:

  • 原来的数据库:MySQL 5.7 (Windows版本)
  • 要搬到的新家:KingbaseES V9 (Windows版本)
  • 搬家工具:KDTS(这个工具很好用)
  • 系统环境:Windows 10或者11都行

第一步:检查一下家底

1.1 看看Java环境够不够用

KDTS这个工具有点挑剔,最低需要JDK 11的版本才肯干活。咱们先检查一下:

cmd 复制代码
java -version

要是没装或者版本太老,赶紧去下载一个OpenJDK 11:

第二步:摸摸底,看看要搬多少东西

2.1 先了解一下MySQL里有啥

搬家之前,咱们得知道原来的数据库里都有什么宝贝,跑几个SQL看看:

sql 复制代码
-- 看看MySQL版本
SELECT VERSION();

-- 算算数据库有多大
SELECT 
    table_schema AS 'Database',
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Size (MB)'
FROM information_schema.tables 
GROUP BY table_schema;

-- 数数有多少张表
SELECT COUNT(*) as table_count FROM information_schema.tables 
WHERE table_schema = '你的数据库名';

2.2 给新家KingbaseES腾个地方

接下来在KingbaseES里准备一个新窝:

sql 复制代码
-- 建个新数据库
CREATE DATABASE demo;

-- 创建个用户
CREATE USER mysql_user WITH PASSWORD 'Password123!';

-- 给用户权限
GRANT ALL PRIVILEGES ON DATABASE demo TO mysql_user;

第三步:启动搬家工具KDTS

3.1 把KDTS叫醒

找到KDTS装在哪儿,然后启动它:

cmd 复制代码
cd "C:\Program Files\Kingbase\ES\V9\ClientTools\guitools\KDts\KDTS-WEB"
bin\startup.bat

启动成功后,打开浏览器输入:http://localhost:54523/

3.2 登录进去

用默认账号进去看看:

  • 用户名:kingbase
  • 密码:Kb_DI@2019


3.3 告诉工具数据库在哪儿

先配置MySQL这边

点击"数据源管理" → "源数据库" → "+ 新建"

把MySQL的信息填进去:

  • 连接名称:MySQL_Source(随便起个名字)
  • 数据库类型:选MySQL
  • 数据库版本:5.7
  • 服务器地址:localhost(要是MySQL在别的机器上就填那个IP)
  • 服务器端口:3306
  • 用户名:root(或者其他有权限的用户)
  • 密码:你的MySQL密码
  • 数据库:要搬的那个数据库名字


再配置KingbaseES那边

点击"数据源管理" → "目标数据库" → "+ 新建"

把KingbaseES的信息也填上:

  • 连接名称:KingbaseES_Target(也是随便起名)
  • 数据库类型:选KINGBASE
  • 数据库版本:V9
  • 服务器地址:localhost(同样,别的机器就填IP)
  • 服务器端口:54321
  • 用户名:mysql_user(刚才创建的那个用户)
  • 密码:Password123!
  • 数据库:demo(前面准备的新窝)


第四步:开始安排搬家

4.1 创建搬家任务

点击"迁移任务管理" → "迁移任务" → "+ 新建"

4.2 详细安排怎么搬

选好搬家的起点和终点

  • 任务名称:qianyi(给任务起个名字,方便记住)
  • 源数据库:MySQL_Source(选刚才配置的MySQL连接)
  • 目标数据库:KingbaseES_Target(选刚才配置的KingbaseES连接)

决定搬哪些东西

根据实际需要,选择要搬的内容:

  • 表结构和数据(这个肯定要选)
  • 索引(提高查询速度的)
  • 主键约束(保证数据唯一性)
  • 外键约束(表之间的关系)
  • 视图(虚拟表)
  • 存储过程(数据库里的小程序)
  • 函数(自定义函数)

精确选择搬家清单

这一步可以更细致地设置:

  • 具体搬哪些表和对象
  • 字段类型怎么过滤
  • 字段名字怎么过滤
  • 表的搬家优先级
  • 用户权限怎么对应
  • 表空间怎么分配
  • 表名要不要改
  • 字段名要不要调整

性能调优

最后一步可以设置:

  • 搬家策略(怎么搬最快最稳)
  • 数据类型转换规则(MySQL和KingbaseES类型不完全一样)
  • 线程配置(多线程并行搬家,提高效率)



第五步:正式开搬

5.1 按下启动按钮

一切准备就绪,点击"启动"按钮,搬家正式开始!

5.2 实时监控搬家进度

搬家过程中,你可以随时看到:

  • 现在搬到哪一步了
  • 已经搬完多少张表
  • 整体进度百分比
  • 大概还要多长时间


5.3 遇到问题不要慌

搬家过程中可能会碰到这些小状况:

  • 中文乱码问题:记得检查字符集设置对不对
  • 时间格式问题:MySQL和KingbaseES的时间类型有点不一样,需要注意转换
  • 大小写敏感问题:两个数据库对大小写的要求不太一样,要特别留意

搬家大功告成

太好了!经过一番努力,咱们的数据搬家工作圆满完成了。现在你的应用程序可以顺利地从MySQL切换到咱们的国产数据库KingbaseES了。这样一来,不仅数据更安全,还支持了国产软件的发展,一举两得!

相关推荐
nongcunqq5 分钟前
abap 操作 excel
java·数据库·excel
rain bye bye38 分钟前
calibre LVS 跑不起来 就将setup 的LVS Option connect下的 connect all nets by name 打开。
服务器·数据库·lvs
冻咸鱼1 小时前
MySQL的配置
mysql·配置
阿里云大数据AI技术2 小时前
云栖实录|MaxCompute全新升级:AI时代的原生数据仓库
大数据·数据库·云原生
不剪发的Tony老师2 小时前
Valentina Studio:一款跨平台的数据库管理工具
数据库·sql
weixin_307779133 小时前
在 Microsoft Azure 上部署 ClickHouse 数据仓库:托管服务与自行部署的全面指南
开发语言·数据库·数据仓库·云计算·azure
六元七角八分3 小时前
pom.xml
xml·数据库
虚行3 小时前
Mysql 数据同步中间件 对比
数据库·mysql·中间件
奥尔特星云大使3 小时前
mysql读写分离中间件Atlas安装部署及使用
数据库·mysql·中间件·读写分离·atlas
牛马baby4 小时前
【mysql】in 用到索引了吗?
数据库·mysql·in