0

0

MySQL备份与恢复之percona-xtrabackup软件的使用_MySQL

php中文网

php中文网

发布时间:2016-06-01 13:27:00

|

1147人浏览过

|

来源于php中文网

原创

bitsCN.com

一 使用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

 

文档获取

家电小商城网站源码1.0
家电小商城网站源码1.0

家电公司网站源码是一个以米拓为核心进行开发的家电商城网站模板,程序采用metinfo5.3.9 UTF8进行编码,软件包含完整栏目与数据。安装方法:解压上传到空间,访问域名进行安装,安装好后,到后台-安全与效率-数据备份还原,恢复好数据后到设置-基本信息和外观-电脑把网站名称什么的改为自己的即可。默认后台账号:admin 密码:132456注意:如本地测试中127.0.0.1无法正常使用,请换成l

下载

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 -yInstalled:  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 Oyand 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 7312130910 21:50:03  innobackupex: completed OK!

 

第四步,这样的备份文件无法使用,我们需要做统一检查

[root@serv01 databackup]# lltotal 4drwxr-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 Oyand Percona Inc 2009-2012.  All Rights Reserved.……xtrabackup: starting shutdown with innodb_fast_shutdown = 1130910 21:51:52  InnoDB: Starting shutdown...130910 21:51:56  InnoDB: Shutdown completed; log sequence number 2098188130910 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 Oyand Percona Inc 2009-2012.  All Rights Reserved.……innobackupex: Starting to copy InnoDB system tablespaceinnobackupex: 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 filesinnobackupex: 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 18468drwxr-xr-x. 2 root  root      4096 Sep 10 22:02 gamedrwxr-xr-x. 2 root  root      4096 Sep 10 22:02 hello-rw-r-----. 1 root  root  18874368 Sep 10 21:51 ibdata1drwxr-xr-x. 2 root  root      4096 Sep 10 22:02 larrydbdrwxr-xr-x. 2 root  root      4096 Sep 10 22:02 mntdrwxr-xr-x. 2 root  root      4096 Sep 10 22:02 mysql-rw-rw----. 1 mysql mysql        0 Sep 10 22:02 mysql-bin.indexdrwxr-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.errdrwxr-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 mysqlroot      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.pidmysql     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=3306root      3022  1490  0 19:39 pts/0    00:00:00 mysql -uroot -px xxxxroot      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 startStarting MySQL.. SUCCESS! [root@serv01 databackup]# mysql -uroot -p123456 Server version: 5.5.29-log Source distributionmysql> 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/



  我的邮箱:wgbno27@163.com  新浪微博:@jutdb           微信公众平台:JustOracle(微信号:justoracle)  数据库技术交流群:336882565(加群时验证 From CSDN XXX)  All is well  2013年12月1日  By Larry Wen

bitsCN.com

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
AO3官网入口与中文阅读设置 AO3网页版使用与访问
AO3官网入口与中文阅读设置 AO3网页版使用与访问

本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。

11

2026.02.02

主流快递单号查询入口 实时物流进度一站式追踪专题
主流快递单号查询入口 实时物流进度一站式追踪专题

本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。

6

2026.02.02

Golang WebAssembly(WASM)开发入门
Golang WebAssembly(WASM)开发入门

本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。

1

2026.02.02

PHP Swoole 高性能服务开发
PHP Swoole 高性能服务开发

本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。

2

2026.02.02

Java JNI 与本地代码交互实战
Java JNI 与本地代码交互实战

本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。

1

2026.02.02

go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

53

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

25

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

31

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 820人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号