MySQL数据迁移工具
数据迁移是mysql数据库运维管理的一个重要工作之一,mysql数据库常用的迁移工具如下。
数据迁移是mysql数据库运维管理的一个重要工作之一,mysql数据库常用的迁移工具如下。
一、mysqldump
mysqldump是mysql自带的逻辑备份工具,不需要额外安装,使用较为简单。
使用命令:mysqldump -u username -P port -p database_name > backup.sql
所需权限:最少具有备份的对象的select、lock tables权限和process权限,否则会报错
常用参数:
--databases database1 database2 database3 指定备份多个数据库
--all-databases 备份所有的数据库,包括系统数据库
--no-data 或-d 仅备份数据库结构,不备份数据库数据
--single-transaction 开启事务备份,保证备份一致性
--ignore-table=database_name.table_to_exclude 备份数据库时排除指定的表
mysqldump -u username -p database_name table1 table2 table3 > backup.sql 指定多个表备份
mysqldump -u username -p database_name | gzip > backup.sql.gz 备份并压缩
优点:操作简单,无须额外安装;转储为通用sql文件,可以跨平台进行数据迁移
不足:使用单线程进行备份,遇到大数据量数据库时备份速度较慢
使用场景:适合数据量较小时的迁移
二、mydumper/myloader
mydumper是在GitHub上开源的mysql逻辑备份工具(文档地址:mydumper/README.md at master · mydumper/mydumper · GitHub https://mydumper.github.io/mydumper/docs/html/mydumper_usage.html),可以理解为对MySQL自带的mysqldump工具的增强版本,这一点我们从官方文档也可以看出来,mydumper的特点是支持多线程并行备份、更易管理输出、维护使用多线程备份快照的一致性、支持使用PCRE语法排除和包含库和表。
与mysqldump相比,mydumper在许多功能上都有增强,二者对比如下:
特性 | mydumper/myloader |
mysqldump |
---|---|---|
备份方式 | 物理备份 | 逻辑备份 |
并行备份 | 支持多线程并行备份,并保证并行快照的一致性 | 不支持并行备份 |
过滤性 | 支持PCRE语法,可以指定备份多个库中的指定表 | 不支持复杂的过滤性 |
事务支持 | 默认开启事务支持 | 需要手动添加 --single-transaction 参数才会开启事务 |
使用场景 | 适合备份大数据量、对时间窗口有要求的数据库 | 适合备份数据量小的数据库 |
压缩方式 | 内部支持通过 --compress 启用备份压缩 |
本身不支持压缩 |
mydumper和myloader使用命令如下
三、Percona XtraBackup
Percona XtraBackup是开源的mysql物理备份工具,需要额外安装。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)