欢迎访问宙启技术站
智能推送

简记MySQL的逻辑备份(mydumper+mysqldump)

发布时间:2023-05-17 05:28:44

MySQL是一款开源的关系型数据库管理系统。MySQL的备份有两种方式,一种是逻辑备份,另一种是物理备份。本文将重点介绍MySQL的逻辑备份工具——mydumper和mysqldump。

1.mydumper

mydumper是一款高效的数据库备份工具,它比mysqldump更快、更安全、更易于使用。mydumper可以同时备份多个表,支持多线程备份,不会加锁,也不会锁表,可在备份期间进行在线操作。mydumper通过将数据分片,同时多线程备份,极大提高备份效率。mydumper还支持备份还原进度的显示,能记录每个表备份的时间和进度,并在还原时快速定位。

mydumper使用方法:

1)安装mydumper

安装mydumper前需要安装依赖包zlib-devel、tcmalloc、pcre-devel(sudo yum install zlib-devel tcmalloc pcre-devel),并确保MySQL的开发包和lib库已经安装好。

2)创建备份目录

在备份服务器上创建一个目录,例如/data/backup/

3)备份MySQL数据库

假设需要备份的数据库为test,执行以下命令:

sudo mydumper -u root -p password -h localhost -P 3306 -o /data/backup -B test 

其中,-u指定数据库用户名,-p指定密码,-h指定主机名,-P指定端口号,-o指定备份的目录,-B指定备份的数据库名称。

备份完成后,在备份目录下会生成一个test文件夹,里面包含了备份文件。

4)恢复MySQL数据库

假设需要恢复的备份文件为/data/backup/test,执行以下命令:

sudo myloader -d /data/backup/test 

其中,-d指定备份文件的目录。

备份还原完成后,相应的MySQL数据库就已经恢复了。

2.mysqldump

mysqlump是MySQL自带的备份工具之一,它适用于小型数据库的备份。mysqldump通过生成SQL语句备份数据库,由于备份数据完全是文本格式的,因此备份数据量比二进制数据格式要大得多。mysqldump备份时会锁住表,可能会影响数据库的正常操作。备份时间较长时,可以使用mysqldump的gzip命令选项将备份文件压缩,减少文件大小。

mysqldump使用方法:

1)备份MySQL数据库

假设需要备份的数据库为test,执行以下命令:

sudo mysqldump -u root -p password test > /data/backup/test.sql

其中,>符号将备份结果输出到一个test.sql文件中。

2)恢复MySQL数据库

假设需要恢复的备份文件为/data/backup/test.sql,执行以下命令:

sudo mysql -u root -p test < /data/backup/test.sql

其中,<符号指定了备份文件的输入源。

备份还原完成后,相应的MySQL数据库就已经恢复了。

总结:

逻辑备份工具mydumper和mysqldump都可以备份MySQL数据库,但mydumper备份速度更快,支持多线程备份,而mysqldump只适合小型数据库的备份。备份完成后,可以通过myloader和mysql命令恢复MySQL数据库。