数据迁移 本节介绍了如何使用mysqldump工具迁移云数据库TaurusDB。 使用mysqldump迁移TaurusDB数据 注意 对于mysqlpump工具,由于在并行备份场景有coredump问题,不建议您使用,推荐您使用mysqldump工具迁移。 迁移准备 TaurusDB支持开启公网访问功能,通过弹性IP进行访问。您也可通过弹性云主机的内网访问TaurusDB。 1. 准备弹性云主机或可通过公网访问TaurusDB。 1. 通过弹性云主机连接TaurusDB数据库实例,需要创建一台弹性云主机。创建并登录弹性云主机,请参见《弹性云主机用户指南》中“创建弹性云主机”和“登录弹性云主机”。 2. 通过公网地址连接TaurusDB数据库实例,需具备以下条件。 1. 先对TaurusDB数据库实例绑定公网地址。 2. 保证本地设备可以访问TaurusDB数据库实例绑定的公网地址。 2. 在准备的弹性云主机或可访问TaurusDB数据库的设备上,安装MySQL客户端。 如何获取相应安装包及完成安装,请参见如何安装MySQL客户端。 说明 该弹性云主机或可访问TaurusDB数据库的设备需要安装和TaurusDB数据库服务端相同版本或更高版本的数据库客户端,MySQL数据库或客户端会自带mysqldump和mysql工具。 导出数据 要将源数据库迁移到TaurusDB数据库,需要先对其进行导出。 注意 相应导出工具需要与数据库引擎版本匹配。 数据库迁移为离线迁移,您需要停止使用源数据库的应用程序。 步骤 1 登录已准备的弹性云主机,或可访问TaurusDB数据库的设备。 步骤 2 使用mysqldump将元数据导出至SQL文件。 注意 MySQL数据库是TaurusDB数据库服务管理所必须的数据库,导出元数据时,禁止指定alldatabase参数,否则会造成数据库故障。 mysqldump databases singletransaction orderbyprimary hexblob nodata routines events setgtidpurgedOFF u p h P sed e 's/DEFINER[ ] [ ] [^ ] / /' e 's/DEFINER[ ]. FUNCTION/FUNCTION/' e 's/DEFINER[ ] . PROCEDURE/PROCEDURE/' e 's/DEFINER[ ] . TRIGGER/TRIGGER/' e 's/DEFINER[ ] .EVENT/EVENT/' > DBNAME为要迁移的数据库名称。 DBUSER为数据库用户。 DBADDRESS为数据库地址。 DBPORT为数据库端口。 BACKUPFILE为导出生成的文件名称。 根据命令提示输入数据库密码。 示例如下: mysqldump databases gaussdb singletransaction orderbyprimary hexblob nodata routines events setgtidpurgedOFF u root p h 192.xx.xx.xx P 3306 sed e 's/DEFINER[ ][ ][^]//' e 's/DEFINER[ ].FUNCTION/FUNCTION/' e 's/DEFINER[ ].PROCEDURE/PROCEDURE/' e 's/DEFINER[ ].TRIGGER/TRIGGER/' e 's/DEFINER[ ].EVENT/EVENT/' > dumpdefs.sql Enter password: 命令执行完会生成“dumpdefs.sql”文件。 步骤 3 使用mysqldump将数据导出至SQL文件。 注意 MySQL数据库是TaurusDB数据库服务管理所必须的数据库,导出元数据时,禁止指定alldatabase参数,否则会造成数据库故障。 mysqldump databases singletransaction hexblob setgtidpurgedOFF nocreateinfo skiptriggers u p h P r 以上命令的参数说明如步骤2所示。 根据命令提示输入数据库密码。 示例如下: mysqldump databases gaussdb singletransaction hexblob setgtidpurgedOFF nocreateinfo skiptriggers u root p h 192.xx.xx.xx P 3306 r dumpdata.sql 命令执行完会生成“dumpdata.sql”文件。