mysql数据的备份及恢复脚本
2017-10-19 14:48
537 查看
mysqldump
for MyISAM
mysqldump --user=root --all-databases --flush-privileges --lock-all-tables \
--master-data=1 --flush-logs --triggers --routines --events \
--hex-blob > $BACKUP_DIR/full_dump_$BACKUP_TIMESTAMP.sql
for InnoDB
mysqldump --user=root --all-databases --flush-privileges --single-transaction \
--master-data=1 --flush-logs --triggers --routines --events \
--hex-blob > $BACKUP_DIR/full_dump_$BACKUP_TIMESTAMP.sql
binlog备份
mysqlbinlog --read-from-remote-server --host=192.168.83.37 --port=3306 \
--user=repl_user --password testpassword --raw --stop-never --result-file=/backup/00001-bin.000001
1.利用专门的slave来备份(rsync)
2.在业务低峰利用xtrabackup在slave上做备份
利用HDFS或自己做一个存储管理系统来备份这些存储。
1.全量备份
#!/bin/bash
innobackupex --user=root --password=testpassword --defaults-file=/var/lib/mysql/my.cnf /mysql_backup/xtrabackup/base
2.(写入数据)基于1做增量备份
#!/bin/bash
filename=$1
if [ -z $filename ];then
exit 0
fi
innobackupex --user=root --password=testpassword --defaults-file=/var/lib/mysql/my.cnf --incremental --incremental-basedir=/mysql_backup/xtrabackup/base/$filename /mysql_backup/xtrabackup/delta
3.恢复全量
#!/bin/bash
filename=$1
if [ -z $filename ];then
exit 0
fi
innobackupex --user=root --password=testpassword --defaults-file=/var/lib/mysql/my.cnf --apply-log --redo-only /mysql_backup/xtrabackup/$filename
4.恢复增量
#!/bin/bash
innobackupex --user=root --password=testpassword --defaults-file=/var/lib/mysql/my.cnf --apply-log --redo-only /mysql_backup/xtrabackup/base/xxxxx --incremental-dir=/mysql_backup/xtrabackup/delta/xxxxx
5.复制恢复
#!/bin/bash
innobackupex --user=root --password=testpassword --defaults-file=/var/lib/mysql/my.cnf --copy-back /mysql_backup/xtrabackup/base/xxxxx
for MyISAM
mysqldump --user=root --all-databases --flush-privileges --lock-all-tables \
--master-data=1 --flush-logs --triggers --routines --events \
--hex-blob > $BACKUP_DIR/full_dump_$BACKUP_TIMESTAMP.sql
for InnoDB
mysqldump --user=root --all-databases --flush-privileges --single-transaction \
--master-data=1 --flush-logs --triggers --routines --events \
--hex-blob > $BACKUP_DIR/full_dump_$BACKUP_TIMESTAMP.sql
binlog备份
mysqlbinlog --read-from-remote-server --host=192.168.83.37 --port=3306 \
--user=repl_user --password testpassword --raw --stop-never --result-file=/backup/00001-bin.000001
1.利用专门的slave来备份(rsync)
2.在业务低峰利用xtrabackup在slave上做备份
利用HDFS或自己做一个存储管理系统来备份这些存储。
1.全量备份
#!/bin/bash
innobackupex --user=root --password=testpassword --defaults-file=/var/lib/mysql/my.cnf /mysql_backup/xtrabackup/base
2.(写入数据)基于1做增量备份
#!/bin/bash
filename=$1
if [ -z $filename ];then
exit 0
fi
innobackupex --user=root --password=testpassword --defaults-file=/var/lib/mysql/my.cnf --incremental --incremental-basedir=/mysql_backup/xtrabackup/base/$filename /mysql_backup/xtrabackup/delta
3.恢复全量
#!/bin/bash
filename=$1
if [ -z $filename ];then
exit 0
fi
innobackupex --user=root --password=testpassword --defaults-file=/var/lib/mysql/my.cnf --apply-log --redo-only /mysql_backup/xtrabackup/$filename
4.恢复增量
#!/bin/bash
innobackupex --user=root --password=testpassword --defaults-file=/var/lib/mysql/my.cnf --apply-log --redo-only /mysql_backup/xtrabackup/base/xxxxx --incremental-dir=/mysql_backup/xtrabackup/delta/xxxxx
5.复制恢复
#!/bin/bash
innobackupex --user=root --password=testpassword --defaults-file=/var/lib/mysql/my.cnf --copy-back /mysql_backup/xtrabackup/base/xxxxx
相关文章推荐
- mysql定期备份数据并压缩上传到ftp服务器的bat文件脚本,恢复建议使用SQLyog enterprise
- Mysql 数据备份与恢复,用户创建,授权
- mysql的数据备份及恢复
- linux下实现VPS web和mysql数据的备份脚本
- mysql:数据备份和恢复
- 服务器数据备份(shell 定时脚本备份mysql)
- 数据库备份和恢复--数据的导入导出 (mysql)
- mysql数据的备份与恢复
- mysql 数据的备份和恢复
- mysql 备份与恢复shell脚本
- MySQL备份 及其 恢复数据
- MySQL数据备份与恢复
- mysql 数据的备份与恢复
- 结合mysqlbinlog与mysqldump进行MySQL数据备份与恢复(适用于较小的数据量)
- MySQL 数据恢复 全备份恢复以及增量恢复 (以手残删库为例)
- 重装MySQL后如何恢复没有备份的早先数据
- MySQL/MariaDB的数据备份与恢复
- MySQL备份恢复数据的一般步骤
- MySQL数据文件直接通过拷贝备份与恢复
- mysql数据备份和恢复