MySQL 备份

mysqlpump

命令参考链接

http://www.ywnds.com/?p=7272
官方文档

https://dev.mysql.com/doc/refman/5.7/en/mysqlpump.html

备份脚本 1.0

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/sh
date=`date "+%Y%m%d%H%M%S"`
backup_path=/root/mysql_backup
mysqlbackup=/bin/mysqlpump
# --databases(-B) 数据库名,多个以“,”间隔;
# --set-charset:备份文件里写SET NAMES default_character_set 到输出,此参默认开启。
# --single-transaction:该参数在事务隔离级别设置成Repeatable Read,并在dump之前发送start transaction 语句给服务端。
# --watch-progress:定期显示进度的完成,包括总数表、行和其他对象。该参数默认开启
# --default-parallelism 指定并行线程数,默认是2,如果设置成0,表示不使用并行备份。
# --exclude-tables=database.table 排除指定表,每次指定一张表,如果需要排除多张表,则使用多次即可

${mysqlbackup} -uroot -p密码 --single-transaction --compress-output=ZLIB --watch-progress -databases db_name > ${backup_path}/db_name.${date}.sql.zlib

服务器centos脚本

1
2
3
4
5
#!/bin/sh
date=`date "+%Y%m%d%H%M%S"`
backup_path=/root/mysql_backup
mysqlbackup=/usr/bin/mysqlpump
${mysqlbackup} -uroot -p密码 --single-transaction --compress-output=ZLIB --watch-progress -B db_name > ${backup_path}/db_name.${date}.sql.zlib

恢复数据库

Centos7

解压文件

1
zlib_decompress file.zlip mysql.sql