0608MySQL备份与恢复之percona-xtrabackup软件的使用【基础】
转自http://blog.csdn.net/justdb/article/details/17054579
一 使用percona-xtrabackup的原因
在前面,我们讲到MySQL冷备、热备、mysqldump、热拷贝、保证数据的一致性。因为mysql冷备、mysqldump、mysql热拷贝均不能实现增量备份,在实际环境中增量备份是使用较多的,percona-xtrabackup就是为实现增量备份而生,因此我们需要使用percona-xtrabackup。
本文讲解percona-xtrabackup软件的使用,下一篇文章讲解percona-xtrabackup实现增量备份及恢复。
二 什么是percona-xtrabackup
Percona XtraBackup is an open-source hot backup utility for MySQL -based servers that doesn’t lock your database during the backup.
It can back up data from InnoDB, XtraDB,and MyISAM tableson MySQL 5.1 [1], 5.5 and5.6 servers, as well as Percona Server with XtraDB.For a high-level overview of many of its advanced features, including a featurecomparison, please see AboutPercona Xtrabackup.
Whether it is a 24x7 highly loaded server or alow-transaction-volume environment, Percona XtraBackup isdesigned to make backups a seamless procedure without disrupting theperformance of the server in a production environment.Commercial support contracts areavailable.
Percona XtraBackup is a combination of the xtrabackup C program,and the innobackupex Perl script. The xtrabackupprogramcopies and manipulates InnoDB and XtraDB datafiles, and the Perl script enables enhanced functionality,such as interacting with a running MySQL server and backing up MyISAM tables.
三 软件及文档获取
软件获取
http://www.percona.com/software/percona-xtrabackup/downloads
http://download.csdn.net/detail/wentasy/6638171
文档获取
http://www.percona.com/doc/percona-xtrabackup/2.1/
http://download.csdn.net/detail/wentasy/6638029
四 软件使用讲解
注:本文采用的percona-xtrabackup版本为2.0.2,操作系统版本为RHEL 6.1 Server,MySQL版本为5.1
第一步,准备文件并拷贝文件
[root@larrywen ule-mysql]# ll percona-xtrabackup-2.0.2-461.rhel6.x86_64.rpm
-rwxr-xr-x. 1 root root 3786628 Sep 10 13:45 percona-xtrabackup-2.0.2-461.rhel6.x86_64.rpm [root@larrywen ule-mysql]# scp percona-xtrabackup-2.0.2-461.rhel6.x86_64.rpm 192.168.1.11:/opt
第二步,该软件需要依赖MySQL客户端,所以使用yum安装。注意,此处安装的只是MySQL的客户端,和本身使用源码安装的MySQL不冲突
[root@serv01 opt]# yum install percona-xtrabackup-2.0.2-461.rhel6.x86_64.rpm -y
Installed:
percona-xtrabackup.x86_64 0:2.0.2-461.rhel6 Dependency Installed:
mysql.x86_64 0:5.1.52-1.el6_0.1
第三步,初始化备份
[root@serv01 databackup]# innobackupex --user=root --password=123456 /databackup/
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona Inc 2009-2012. All Rights Reserved. ……
innobackupex: Backup created in directory '/databackup/2013-09-10_21-49-44'
innobackupex: MySQL binlog position: filename 'mysql-bin.000001', position 7312
130910 21:50:03 innobackupex: completed OK!
第四步,这样的备份文件无法使用,我们需要做统一检查
[root@serv01 databackup]# ll
total 4
drwxr-xr-x. 9 root root 4096 Sep 10 21:50 2013-09-10_21-49-44 #做统一检查
[root@serv01 databackup]# innobackupex --apply-log /databackup/2013-09-10_21-49-44/ InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona Inc 2009-2012. All Rights Reserved.
……
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
130910 21:51:52 InnoDB: Starting shutdown...
130910 21:51:56 InnoDB: Shutdown completed; log sequence number 2098188
130910 21:51:56 innobackupex: completed OK!
第五步,模拟数据丢失
[root@serv01 databackup]# rm -rf /usr/local/mysql/data/*
[root@serv01 databackup]# ll /usr/local/mysql/data/
total 0
第六步,恢复数据
[root@serv01 databackup]# innobackupex --copy-back /databackup/2013-09-10_21-49-44/ InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona Inc 2009-2012. All Rights Reserved.
……
innobackupex: Starting to copy InnoDB system tablespace
innobackupex: in '/databackup/2013-09-10_21-49-44'
innobackupex: back to original InnoDB data directory '/usr/local/mysql/data'
innobackupex: Copying file '/databackup/2013-09-10_21-49-44/ibdata1' innobackupex: Starting to copy InnoDB log files
innobackupex: in '/databackup/2013-09-10_21-49-44'
innobackupex: back to original InnoDB log directory '/usr/local/mysql/data'
innobackupex: Finished copying back files. 130910 22:02:29 innobackupex: completed OK!
第七步,重启mysql服务,发现报错,pkill掉,然后启动一切正常
[root@serv01 databackup]# /etc/init.d/mysqld restart
ERROR! MySQL server PID file could not be found!
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/serv01.host.com.pid). #查看恢复的数据目录,拥有者和所属组不是mysql用户,我们更改拥有者和所属组
[root@serv01 databackup]# ll /usr/local/mysql/data/
total 18468
drwxr-xr-x. 2 root root 4096 Sep 10 22:02 game
drwxr-xr-x. 2 root root 4096 Sep 10 22:02 hello
-rw-r-----. 1 root root 18874368 Sep 10 21:51 ibdata1
drwxr-xr-x. 2 root root 4096 Sep 10 22:02 larrydb
drwxr-xr-x. 2 root root 4096 Sep 10 22:02 mnt
drwxr-xr-x. 2 root root 4096 Sep 10 22:02 mysql
-rw-rw----. 1 mysql mysql 0 Sep 10 22:02 mysql-bin.index
drwxr-xr-x. 2 root root 4096 Sep 10 22:02 performance_schema
-rw-r-----. 1 mysql root 771 Sep 10 22:02 serv01.host.com.err
drwxr-xr-x. 2 root root 4096 Sep 10 22:02 test
-rw-r--r--. 1 root root 24 Sep 10 22:02 xtrabackup_binlog_pos_innodb [root@serv01 databackup]# chown mysql.mysql /usr/local/mysql/data/ -R #再次启动,仍然失败,我们杀掉进程,再次启动mysql,正常
[root@serv01 databackup]# /etc/init.d/mysqld restart
ERROR! MySQL server PID file could not be found!
Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/serv01.host.com.pid). [root@serv01 databackup]# ps -ef | grep mysql
root 2386 1 0 18:36 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/serv01.host.com.pid
mysql 2664 2386 0 18:36 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/serv01.host.com.err --pid-file=/usr/local/mysql/data/serv01.host.com.pid --socket=/tmp/mysql.sock --port=3306
root 3022 1490 0 19:39 pts/0 00:00:00 mysql -uroot -px xxxx
root 5021 3040 0 22:05 pts/2 00:00:00 grep mysql
[root@serv01 databackup]# pkill -9 mysql
[root@serv01 databackup]# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS! [root@serv01 databackup]# mysql -uroot -p123456
Server version: 5.5.29-log Source distribution
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| game |
| hello |
| larrydb |
| mnt |
| mysql |
| performance_schema |
| test |
+--------------------+
8 rows in set (0.00 sec)
五 参考资料
http://www.percona.com/doc/percona-xtrabackup/2.1/
0608MySQL备份与恢复之percona-xtrabackup软件的使用【基础】的更多相关文章
- MySQL 大数据备份方案之Percona XtraBackup
Xtrabackup介绍 1.Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbacku ...
- mysql数据库-备份与还原-Percona XtraBackup 2.4备份工具使用
目录 xtrabackup 特点 备份生成的相关文件 xtrabackup 安装 xtrabackup 用法 1 备份 2 预备份 3 还原 4 其他 还原注意事项 xtrabackup实现完全备份及 ...
- Percona xtrabackup
关于percona xtrabackup percona xtrabackup是世界上唯一开源的.免费的MySQL热备份软件,可以为InnoDB存储引擎和XtraDB存储引擎进行不间断的备份, ...
- Percona Xtrabackup备份mysql(转)
add by zhj:另外,参考了Xtrabackup之innobackupex备份恢复详解,我用的是Xtrabackup2.2.6版本, 可以成功备份和恢复指定的数据库. 原文:http://www ...
- Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)
原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对In ...
- 小型网站MYSQL问题二:Percona Xtrabackup实现数据库备份和恢复
1.安装软件仓库(不要问我为什么不用源码安装,好吧,其实我懒.) 1 2 3 4 5 6 7 8 wget https://www.percona.com/downloads/percona-rele ...
- Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)
Percona Xtrabackup备份mysql大数据库(完整备份与增量备份) 文章目录 [隐藏] Xtrabackup简介 Xtrabackup安装 Xtrabackup工具介绍 inno ...
- Percona XtraBackup 备份原理说明【转】
本文来自:http://mysql.taobao.org/monthly/2016/03/07/ 前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MyS ...
- MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]
MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...
随机推荐
- 杂项:Web API
ylbtech-杂项:Web API 今天的web计算平台包含了广泛的功能,其中的大部分均可以通过API(应用程序编程接口)访问. 从简单的社会书签服务del.icio.us,到复杂得多的amazon ...
- 713C
费用流 并没有想出来构图方法 我们设立源汇,其实我们关心的是相邻两个值的差值,如果差值小于0说明需要长高,那么向汇点连边差值,说明需要修改,如果差大于零,那么由源点连边差值,说明可以提供修改空间,再由 ...
- Oracle_备份整库
@echo off color 0b & cls echo echo 设置备份文件存放文件夹... echo set "tbuf=C:\OracleBackup" if n ...
- var的变量提升的底层原理是什么?
原理:JS引擎的工作方式是①先解析代码,获取所有被声明的变量:②然后在运行.也就是专业来说是分为预处理和执行两个阶段. 变量提升的定义:所有变量的声明语句都会被提升到代码头部,这就是变量提升. 例如: ...
- BZOJ 4800 折半暴搜
思路: 把它拆成两半 分别搜一发 两部分分别排好序 用two-pointers扫一遍 就可以了. (读入也要用long long) //By SiriusRen #include <cstdi ...
- Linux学习笔记--文件夹结构
暂时先上一张图学习吧,先大致了解好,再进行深入的学习.
- WebApi中对请求参数和响应内容进行URL编码解码
项目经测试,发现从IE提交的数据,汉字会变成乱码,实验了网上很多网友说的给ajax加上contentType:"application/x-www-form-urlencoded; char ...
- BootStrap 资源包的下载和使用
将附件中的包解压,放置webroot中,并在jsp页面中引用它们,即可以使用 bootstrap.rar (78.9 KB) 下载次数: 0
- 使用cnblogs发布第一篇文章,HelloWorld
HelloWorld! 瞅瞅源码的样式,嗯,语法高亮还是可以的,辨识度还是挺高的. <!DOCTYPE html> <html> <head> <meta c ...
- checked、disabled在原生、jquery、vue下不同写法
以下是原生和jquery <!DOCTYPE html> <html> <head> <meta http-equiv="Content ...