mysql超大数据库备份

Xtrabackup工具是一个对InnoDB做数据的备份工具,支持全亮备份和增量备份。不支持MyISAM数据库的备份

但是Xtrabackup有一个工具innobackupex,它可以支持MyISAM,但是备份的时候是需要加锁

flush tables with read lock)读锁,(unlock tables)解读锁。

  1. 使用innobackupex 备份

    首先需要在my.cnf里面的[mysqld]指定datadir

    innodb_log_file_size = 5M

如:datadir=/usr/local/mysql

2.整个数据库备份

innobackupex --defaults-file=/etc/my.cnf --user=root /home/backup

3.对单个数据库备份

innobackupex --defaults-file=/etc/my.cnf --user=root --database=backup_test /home/backup

4.备份并压缩

innobackupex --defaults-file=/etc/my.cnf --user=root --stream=tar |gzip > /home/backup/`date +%F-%T`.tar.gz

5.整个数据还原

1)停掉mysql

/etc/init.d/mysqld stop

2)备份数据目录

mv /usr/local/mysql /usr/local/mysql.bak

3)重新创建目录

mkdir -p /usr/local/mysql

4)改变文件所属

chown mysql:mysql /usr/local/mysql

5)备份数据,2步

innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /home/backup/2015-11-29_16-50-36

innobackupex --defaults-file=/etc/my.cnf --copy-back /home/backup/2015-11-29_16-50-36

6.增量备份

增量备份是在上一次的全量备份基础上进行的一次操作。

innobackupex --defaults-file=/etc/my.cnf --user=root --incremental-basedir=/home/backup/2015-11-29_16-50-36 --incremental /home/backup

7.查看备份记录的文件

cat xtrabackup_checkpoints

backup_type = full-prepared

from_lsn = 0

last_lsn = 22223450

compact = 0

8.增量备份还原

innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log --redo-only /home/backup/2015-11-29_16-50-36  

innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log --redo-only /home/backup/2015-11-29_16-55-49 --incremental-dir=/home/backp/2015-11-29_14-30-37

innobackupex --defaults-file=/my.cnf --user=root --apply-log /data/backup/2015-11-29_16-50-36


然后第五步走一边。

参考文献 http://blog.51yip.com/mysql/1650.html

http://www.cnblogs.com/gomysql/p/3650645.html

时间: 2024-10-07 23:51:38

mysql超大数据库备份的相关文章

分享:mysql异地数据库备份实例代码

分享:mysql异地数据库备份实例代码 mysql现在应用在操作系统中包括有linux系统与windows系统,下面是多备份分享常用的两种系统中实现mysql异地数据库备份,有需要了解的朋友可参考. windows的任务计划定时执行该文件. 文件内容如下: cd F:/MySQLBackup f: mysqldump -h ip -uusername -ppassworddbname>F:/MySQLBackup/PersonBackupMonday.sql username:数据库用户 pas

MySQL/MariaDB数据库备份与恢复之mysqlpump入门操作

创建测试用表:MariaDB [music]>  create table summary(id int,info char(128));Query OK, 0 rows affected (0.05 sec) MariaDB [music]> show tables;+-----------------+| Tables_in_music |+-----------------+| summary         || test            |+-----------------+

使用phpmyadmin进行超大数据库备份或者还原

使用phpmyadmin进行备份还原数据库的时候,通常使用的是在线上传功能,这功能的最大bug就是如果你网络状态不是很好,很可能不小心就中断了导入或者导出的操作. 找到phpmyadmin的安装目录 config.inc.php文件里找到: $cfg['UploadDir'] = 'upload'; $cfg['SaveDir'] = 'save'; 这两个参数可能没有,也可能默认是空的,填写上两个文件夹的名字,upload和save. 然后在到这个地方新建两个文件夹,名字为upload和sav

【转】10 个MySQL数据库备份教程推荐

10 个MySQL数据库备份教程推荐 MySQL是动态网站开发中最著名的开源数据库系统.如果你在网站中使用了MySQL,那么你应该定期备份你的数据以防止它丢失. 本文将介绍自动或手动备份MySQL数据库的10个教程,看看有没有最适合你的方法. 1.Backing Up Using MySQLDump(利用MySQLDump备份MySQL数据库) 可以使用MySQL自带的mysqldump工具来备份数据.在mysqldump中提供了许多的示例,包括如何将数据库备份到一个文件.另一个服务器,甚至gz

最简便的MySql数据库备份方法

http://www.kankanews.com/ICkengine/archives/194.shtml 使用MYSQL进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的备份方法,而且又快又好. 一.数据备份捷径 因为这个方法没有得到官方正式文档的验证,我们暂称为试验吧. 目的:备份hostA主机中一个mysql数据库TestA,并恢复到到hostB机中 在hostA中安装mysql数据库并建立TestA数据库 hos

浅谈MySQL数据库备份的几种方法

mysql常见的备份方式有:mysqldump.mysqlhotcopy.BACKUP TABLE .SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件.MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使用.Innodb 所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文件.备份 binlog,或者用 

MySQL数据库备份详解

原文:MySQL数据库备份详解 对于任何数据库来说,备份都是非常重要的 数据库复制不能取代备份的作用 比如我们由于误操作,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据可能也已经被删除了, 我们不能使用从数据库上的数据来恢复主数据库上的数据,只能通过备份进行误删除数据的恢复 一. 备份的分类 1.按备份的结果来分: 逻辑备份 其备份结果为SQL语句,适合于所有存储引擎,恢复时需要较多时间,逻辑备份时,对于MyISAM存储引擎是需要进行锁表操作的,通过使用的mysq

mysql数据库备份脚本

自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #20170329 #Define PATH定义变量 BAKDIR=/data/backup/mysql/`date +%Y-%m-%d` MYSQLDB=webapp MYSQLPW=backup MYSQLUSR=backup #must use root user run scripts 必须使用root用户运行,$UID为系统变量 if

mysql数据库备份

前一段时间因为误操作删除了一张表的几条数据,弄得很尴尬,正好这周有空就折腾了下数据备份的知识,现把mysql的数据备份相关实践和心得总结如下: 一.使用mysqldump命令备份数据库: 备份整个数据库(包括表结构和数据),用法如下 mysqldump -h10.38.14.143 -uroot -prootroot  weixin > weixin.sql 其中 weixin 是数据库名,可以一次备份多个数据库 (用空格隔开),默认保存在当前目录下 这个wexin.sql文件里面主要由四部分组