虛谷數據庫
一、使用遷移工具遷移,進入XuGuToolkitV11.0_X64/XuguClient/XuguMigrator文件夾下,打開終端,運行java -jar XGMigrator.jar 啓動虛谷數據庫自帶的遷移工具。點擊下一步。(這種方式遷移數據,遷移過來的表名、字段名會強制轉換爲大寫)
在上方選擇源數據庫,這裏以XuGu(虛谷)爲例,從其他機器上的虛谷數據庫遷移到本地虛谷數據庫
填寫主機名、端口號等信息後,測試連接,連接成功即可進行下一步。
選中要遷移的模式(這裏的模式時源數據庫的模式),點擊下一步
選中要遷移的表數據,在右側任意打開一個“查看、編輯”,不需要做特殊設置時,點擊下一步即可。
在設置完成後,點擊左下角應用當前選項到所有對象,就會將所設置的內容,同步到所有遷移的表中。然後點擊確定。(如無需特殊設置,請忽略)
繼續點擊下一步,彈出一個窗口加載隊列,稍等片刻後,會自動跳轉下一個界面。
接着,點擊執行,查看報錯日誌,沒有報錯的話,就已經導入成功了。
-
命令備份的方式遷移
首先,要通過命令的方式遷移數據,需要console文件夾(這個文件夾相當於工具,存放位置沒有要求)
-
打開console文件夾,右擊空白處,打開終端
-
執行./xgconsole nssl 127.0.0.1 5138 SYSTEM SYSDBA SYSDBA相對應的值爲: ./xgconsole nssl IP 端口 數據庫名 用戶名 密碼,執行後將會進入虛谷數據庫命令窗口。
如果對應值有錯誤,將會進入下方的界面,無需退出,按照提示輸入對應內容,同樣也可進入數據庫。
-
進入到數據庫後
執行backup database to '/backup/xx.exp'; --備份生成data.exp文件,存儲路徑在虛谷數據庫服務存儲路徑下/server/XHOME/BACKUP/xx.exp
-
把console文件夾和xx.exp文件拷貝到目標數據庫機器上(console文件夾存放位置無要求,xx.exp文件要求放在目標虛谷數據庫服務存儲路徑下/server/XHOME/BACKUP/)
-
進入目標機器的console文件夾,右擊空白打開終端,
執行 ./xgconsole nssl IP 端口 數據庫名 用戶名 密碼,進入目標數據庫
-
restore database db_name from '/backup/data.exp'; --恢復備份的exp文件
注意:源數據如果新建了模式XXX,在目標數據庫想要恢復XXX模式的數據,需要在目標數據庫新建模式名XXX才能將對應的表數據遷移過來。
-
對於最初從mysql遷移到Xugu數據庫時,由於遷移工具遷移表明爲大寫,第一次遷移表數據時使用的是sql語句,數據使用的是遷移工具,其中由於兩個數據庫的sql規則不相同,修改內容還是比較多的。這裏標註下需要修改的內容。
-
首先,想要數據表名和字段名爲小寫,就要將表名和字段名的單引號替換爲雙引號
-
對於int類型和datetime,在導出的mysql語句中,會在自動添加default null,導致運行時提示字段類型不匹配
創建表時,if not exists 以及每個表最後指定innodb引擎、字符集等的語句也是不識別的,需要刪除。
-
虛谷數據庫的int類型後不能加()
-
對於KEY "archiveid" ("archiveid","sequence")語句也不支持
-
虛谷數據庫管理工具自帶的導出導入只能單表導出且數據和表分開導出,多表導出表數據時,還有一個bug,這裏不做過多描述。
PS:虛谷數據庫查看所有創建的數據庫:登錄system庫執行select * from sys_databases查看所有庫信息。
刪除:drop database xxx
其他詳細教程,請參考虛谷數據庫使用手冊。