MySQL數據庫遷移到KingbaseES的完整指南
寫在前面
今天咱們來聊聊一個很實用的話題——怎么把MySQL數據庫搬到國產數據庫KingbaseES上。別看這事兒聽起來挺復雜,其實用對了工具,操作起來還是挺簡單的。我會一步一步帶著大家走,保證你看完就能上手。
咱們先準備準備
開始之前,先看看咱們需要什么:
- 原來的數據庫:MySQL 5.7 (Windows版本)
- 要搬到的新家:KingbaseES V9 (Windows版本)
- 搬家工具:KDTS(這個工具很好用)
- 系統(tǒng)環(huán)境:Windows 10或者11都行
第一步:檢查一下家底
1.1 看看Java環(huán)境夠不夠用
KDTS這個工具有點挑剔,最低需要JDK 11的版本才肯干活。咱們先檢查一下:
java -version
要是沒裝或者版本太老,趕緊去下載一個OpenJDK 11:
- 下載地址:https://jdk.java.net/archive/
- 裝完別忘了設置JAVA_HOME環(huán)境變量,不然工具找不到

第二步:摸摸底,看看要搬多少東西
2.1 先了解一下MySQL里有啥
搬家之前,咱們得知道原來的數據庫里都有什么寶貝,跑幾個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里準備一個新窩:
-- 建個新數據庫 CREATE DATABASE demo; -- 創(chuàng)建個用戶 CREATE USER mysql_user WITH PASSWORD 'Password123!'; -- 給用戶權限 GRANT ALL PRIVILEGES ON DATABASE demo TO mysql_user;

第三步:啟動搬家工具KDTS
3.1 把KDTS叫醒
找到KDTS裝在哪兒,然后啟動它:
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(剛才創(chuàng)建的那個用戶)
- 密碼:Password123!
- 數據庫:demo(前面準備的新窩)


第四步:開始安排搬家
4.1 創(chuàng)建搬家任務
點擊"遷移任務管理" → “遷移任務” → “+ 新建”

4.2 詳細安排怎么搬
選好搬家的起點和終點
- 任務名稱:qianyi(給任務起個名字,方便記?。?/li>
- 源數據庫:MySQL_Source(選剛才配置的MySQL連接)
- 目標數據庫:KingbaseES_Target(選剛才配置的KingbaseES連接)

決定搬哪些東西
根據實際需要,選擇要搬的內容:
- 表結構和數據(這個肯定要選)
- 索引(提高查詢速度的)
- 主鍵約束(保證數據唯一性)
- 外鍵約束(表之間的關系)
- 視圖(虛擬表)
- 存儲過程(數據庫里的小程序)
- 函數(自定義函數)

精確選擇搬家清單
這一步可以更細致地設置:
- 具體搬哪些表和對象
- 字段類型怎么過濾
- 字段名字怎么過濾
- 表的搬家優(yōu)先級
- 用戶權限怎么對應
- 表空間怎么分配
- 表名要不要改
- 字段名要不要調整

性能調優(yōu)
最后一步可以設置:
- 搬家策略(怎么搬最快最穩(wěn))
- 數據類型轉換規(guī)則(MySQL和KingbaseES類型不完全一樣)
- 線程配置(多線程并行搬家,提高效率)



第五步:正式開搬
5.1 按下啟動按鈕
一切準備就緒,點擊"啟動"按鈕,搬家正式開始!

5.2 實時監(jiān)控搬家進度
搬家過程中,你可以隨時看到:
- 現在搬到哪一步了
- 已經搬完多少張表
- 整體進度百分比
- 大概還要多長時間


5.3 遇到問題不要慌
搬家過程中可能會碰到這些小狀況:
- 中文亂碼問題:記得檢查字符集設置對不對
- 時間格式問題:MySQL和KingbaseES的時間類型有點不一樣,需要注意轉換
- 大小寫敏感問題:兩個數據庫對大小寫的要求不太一樣,要特別留意
搬家大功告成
太好了!經過一番努力,咱們的數據搬家工作圓滿完成了。現在你的應用程序可以順利地從MySQL切換到咱們的國產數據庫KingbaseES了。這樣一來,不僅數據更安全,還支持了國產軟件的發(fā)展,一舉兩得!
以上就是MySQL數據庫遷移到KingbaseES的完整指南的詳細內容,更多關于MySQL遷移到KingbaseES的資料請關注腳本之家其它相關文章!
相關文章
SQL聯(lián)合查詢inner join、outer join和cross join的區(qū)別詳解
今天小編就為大家分享一篇關于SQL聯(lián)合查詢inner join、outer join和cross join的區(qū)別詳解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
MYSQL根據分組獲取組內多條數據中符合條件的一條(實例詳解)
這篇文章主要介紹了MYSQL根據分組獲取組內多條數據中符合條件的一條,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06

