- 功能总览
- 产品介绍
- 快速入门
- 用户指南
-
常见问题
-
产品咨询
- TaurusDB标准版和企业版有什么区别
- TaurusDB标准版和RDS for MySQL有什么区别
- 使用TaurusDB标准版要注意些什么
- TaurusDB标准版实例是否会受其他用户实例的影响
- 为何使用了TaurusDB标准版后网站登录较慢
- 主实例和只读实例之间可以设置数据同步方式吗
- 主备同步存在多长时间的延迟
- 多台弹性云服务器是否可以使用同一个TaurusDB标准版实例
- 为什么无法找到TaurusDB标准版实例
- 购买TaurusDB标准版实例后可以对磁盘进行加密吗
- TaurusDB标准版购买磁盘加密后,备份文件会加密吗
- TaurusDB标准版实例支持哪些加密函数
- TaurusDB标准版开启GTID后有哪些限制
- 不同TaurusDB标准版实例的CPU和内存是否共享
- TaurusDB标准版实例内能运行多少个数据库
- TaurusDB标准版是否支持TokuDB
- TaurusDB标准版是否有单表尺寸限制
- 为什么不能购买只读实例
- 为什么新购买实例比规格变更实例价格便宜
- 资源冻结/释放/停止/删除/退订
- 资源及磁盘管理
-
数据库连接
- TaurusDB标准版实例连接失败怎么办
- TaurusDB标准版数据库连接数满的排查思路
- TaurusDB标准版数据库实例支持的最大数据连接数是多少
- 内网方式下ECS无法连接TaurusDB标准版实例的原因
- 客户端问题导致连接TaurusDB标准版实例失败
- 服务端问题导致连接失败
- 应用程序是否需要支持自动重连TaurusDB标准版数据库
- 测试网络连通性失败怎么办
- TaurusDB标准版跨地域内网能访问吗
- 为什么TaurusDB标准版实例重置密码后新密码没有生效
- 如何设置TaurusDB标准版8.0字符集的编码格式
- 可以访问TaurusDB标准版备节点吗
- 如何查看TaurusDB标准版数据库的连接情况
- 数据库迁移
- 数据库权限
- 数据库存储
- 数据库基本使用
- 备份与恢复
- 数据库监控
- 扩容及规格变更
- 数据库参数修改
- 网络安全
- 版本升级
-
产品咨询
- 文档下载
- 通用参考
链接复制成功!
使用mysqldump迁移TaurusDB标准版数据
迁移准备
TaurusDB标准版服务支持开启公网访问功能,通过弹性公网IP进行访问。您也可通过弹性云服务器的内网访问TaurusDB标准版。
- 准备弹性云服务器或可通过公网访问TaurusDB标准版。
- 通过弹性云服务器连接TaurusDB标准版实例,需要创建一台弹性云服务器。
- 通过公网地址连接TaurusDB标准版实例,需具备以下条件。
- 先对TaurusDB标准版实例绑定公网地址,如何绑定公网地址,请参见绑定弹性公网IP。
- 保证本地设备可以访问TaurusDB标准版实例绑定的公网地址。
- 在准备的弹性云服务器或可访问TaurusDB标准版的设备上,安装MySQL客户端。
说明:
该弹性云服务器或可访问TaurusDB标准版的设备需要安装和TaurusDB标准版数据库服务端相同版本的数据库客户端,MySQL数据库或客户端会自带mysqldump和mysql工具。
数据迁移到TaurusDB标准版后可能要面对更改IP的问题,为减少客户业务更改,降低迁移难度,支持更改内网IP,具体请参见查看和修改TaurusDB标准版实例内网地址。
TaurusDB标准版的系统库mysql和sys不支持导入到TaurusDB标准版实例。
导出数据
要将源数据库迁移到TaurusDB标准版,需要先对其进行导出。
- 相应导出工具需要与数据库引擎版本匹配。
- 数据库迁移为离线迁移,您需要停止使用源数据库的应用程序。
- 登录源数据库。
- 使用mysqldump将表结构导出至SQL文件。
须知:
mysql数据库是TaurusDB标准版服务管理所必须的数据库,导出表结构时,禁止指定--all-database参数,否则会造成数据库故障。
mysqldump--databases<DB_NAME>--single-transaction --order-by-primary --hex-blob --no-data --routines --events --set-gtid-purged=OFF-u <DB_USER>-p -h<DB_ADDRESS>-P <DB_PORT>|sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' -e 's/DEFINER[ ]*=.*FUNCTION/FUNCTION/' -e 's/DEFINER[ ]*=.*PROCEDURE/PROCEDURE/' -e 's/DEFINER[ ]*=.*TRIGGER/TRIGGER/' -e 's/DEFINER[ ]*=.*EVENT/EVENT/' ><BACKUP_FILE>
- DB_NAME为要迁移的数据库名称。
- DB_USER为数据库用户。
- DB_ADDRESS为数据库地址。
- DB_PORT为数据库端口。
- BACKUP_FILE为导出生成的文件名称。
根据命令提示输入数据库密码。
示例如下:
mysqldump --databases rdsdb --single-transaction --order-by-primary --hex-blob --no-data --routines --events --set-gtid-purged=OFF -u root -p -h 192.168.151.18 -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/' > dump-defs.sql
Enter password:
命令执行完会生成“dump-defs.sql”文件,如下:
[rds@localhost ~]$ ll dump-defs.sql -rw-r-----. 1 rds rds 2714 Sep 21 08:23 dump-defs.sql
- 使用mysqldump将数据导出至SQL文件。
须知:
mysql数据库是TaurusDB标准版管理所必须的数据库,导出数据时,禁止指定--all-database参数,否则会造成数据库故障。
mysqldump --databases<DB_NAME>--single-transaction --hex-blob --set-gtid-purged=OFF --no-create-info --skip-triggers-u<DB_USER>-p-h<DB_ADDRESS>-P<DB_PORT>-r<BACKUP_FILE>
以上命令的参数说明如2所示。
根据命令提示输入数据库密码。
示例如下:
mysqldump --databases rdsdb --single-transaction --hex-blob --set-gtid-purged=OFF --no-create-info --skip-triggers -u root -p -h 192.168.151.18 -P 3306 -r dump-data.sql
命令执行完会生成“dump-data.sql”文件,如下:
[rds@localhost ~]$ ll dump-data.sql -rw-r-----. 1 rds rds 2714 Sep 21 08:23 dump-data.sql
导入数据
通过弹性云服务器或可访问TaurusDB标准版的设备,用相应客户端连接TaurusDB标准版实例,将导出的SQL文件导入到TaurusDB标准版。
如果源数据库中包含触发器、存储过程、函数或事件调用,则需确保导入前设置目标数据库参数log_bin_trust_function_creators=ON。
- 登录已准备的弹性云服务器,或可访问TaurusDB标准版的设备。
- 客户端连接TaurusDB标准版实例。
- 导入表结构到TaurusDB标准版。
# mysql -f -h<RDS_ADDRESS>-P<DB_PORT>-uroot-p < <BACKUP_DIR>/dump-defs.sql
- RDS_ADDRESS为TaurusDB标准版实例的IP地址。
- DB_PORT为当前数据库实例的端口。
- BACKUP_DIR为“dump-defs.sql”所在目录。
示例如下:
# mysql -f -h 172.*.*.* -P 3306 -u root -p < dump-defs.sql
Enter password:
说明:
如果是将单表导出的数据(即导出的SQL是某一张表的SQL语句,不包含数据库)再进行导入,建议指定待导入的数据库(mydb),否则可能会报错“No database selected”。示例:
# mysql -f -h 172.*.*.* -P 3306 -u root -p mydb < dump-defs.sql
Enter password:
- 导入数据到TaurusDB标准版。
# mysql -f -h<RDS_ADDRESS>-P<DB_PORT>-uroot-p< <BACKUP_DIR>/dump-data.sql
- RDS_ADDRESS为TaurusDB标准版实例的IP地址。
- DB_PORT为当前数据库实例的端口。
- BACKUP_DIR为“dump-data.sql”所在目录。
示例如下:
# mysql -f -h 172.*.*.* -P 3306 -u root -p < dump-data.sql
Enter password:
说明:
如果是将单表导出的数据(即导出的SQL是某一张表的SQL语句,不包含数据库)再进行导入,建议指定待导入的数据库(mydb),否则可能会报错“No database selected”。示例:
# mysql -f -h 172.*.*.* -P 3306 -u root -p mydb < dump-defs.sql
Enter password:
- 查看迁移结果。
mysql> show databases;
示例中,名为rdsdb的数据库已经被导入了:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | rdsdb | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.00 sec)