国产数据库,虚谷数据库迁移方式,记录

虚谷数据库

一、使用迁移工具迁移,进入XuGuToolkitV11.0_X64/XuguClient/XuguMigrator文件夹下,打开终端,运行java -jar XGMigrator.jar 启动虚谷数据库自带的迁移工具。点击下一步。(这种方式迁移数据,迁移过来的表名、字段名会强制转换为大写)

 

在上方选择源数据库,这里以XuGu(虚谷)为例,从其他机器上的虚谷数据库迁移到本地虚谷数据库

 

填写主机名、端口号等信息后,测试连接,连接成功即可进行下一步。

选中要迁移的模式(这里的模式时源数据库的模式),点击下一步

 

 

选中要迁移的表数据,在右侧任意打开一个“查看、编辑”,不需要做特殊设置时,点击下一步即可。

 

在设置完成后,点击左下角应用当前选项到所有对象,就会将所设置的内容,同步到所有迁移的表中。然后点击确定。(如无需特殊设置,请忽略)

 

 

继续点击下一步,弹出一个窗口加载队列,稍等片刻后,会自动跳转下一个界面。

 

接着,点击执行,查看报错日志,没有报错的话,就已经导入成功了。

  1. 命令备份的方式迁移

首先,要通过命令的方式迁移数据,需要console文件夹(这个文件夹相当于工具,存放位置没有要求)

  1. 打开console文件夹,右击空白处,打开终端

  2. 执行./xgconsole nssl 127.0.0.1 5138 SYSTEM SYSDBA SYSDBA相对应的值为: ./xgconsole nssl IP 端口 数据库名 用户名 密码,执行后将会进入虚谷数据库命令窗口。

如果对应值有错误,将会进入下方的界面,无需退出,按照提示输入对应内容,同样也可进入数据库。

 

  1. 进入到数据库后

执行backup database to '/backup/xx.exp'; --备份生成data.exp文件,存储路径在虚谷数据库服务存储路径下/server/XHOME/BACKUP/xx.exp

  1. 把console文件夹和xx.exp文件拷贝到目标数据库机器上(console文件夹存放位置无要求,xx.exp文件要求放在目标虚谷数据库服务存储路径下/server/XHOME/BACKUP/)

  2. 进入目标机器的console文件夹,右击空白打开终端,

执行 ./xgconsole nssl IP 端口 数据库名 用户名 密码,进入目标数据库

  1. restore database db_name from '/backup/data.exp'; --恢复备份的exp文件

注意:源数据如果新建了模式XXX,在目标数据库想要恢复XXX模式的数据,需要在目标数据库新建模式名XXX才能将对应的表数据迁移过来。

 

  1. 对于最初从mysql迁移到Xugu数据库时,由于迁移工具迁移表明为大写,第一次迁移表数据时使用的是sql语句,数据使用的是迁移工具,其中由于两个数据库的sql规则不相同,修改内容还是比较多的。这里标注下需要修改的内容。

  1. 首先,想要数据表名和字段名为小写,就要将表名和字段名的单引号替换为双引号

  2. 对于int类型和datetime,在导出的mysql语句中,会在自动添加default null,导致运行时提示字段类型不匹配

创建表时,if not exists 以及每个表最后指定innodb引擎、字符集等的语句也是不识别的,需要删除。

  1. 虚谷数据库的int类型后不能加()

  2. 对于KEY "archiveid" ("archiveid","sequence")语句也不支持

  1. 虚谷数据库管理工具自带的导出导入只能单表导出且数据和表分开导出,多表导出表数据时,还有一个bug,这里不做过多描述。

 

PS:虚谷数据库查看所有创建的数据库:登录system库执行select * from sys_databases查看所有库信息。

删除:drop database xxx

其他详细教程,请参考虚谷数据库使用手册。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章