使用Percona XtraBackup

先安装依赖包

yum install -y perl-DBD-MySQL perl-DBI perl-Time-HiRes libaio*

最后面的参数是备份的目录;

#使用默认的 /etc/my.cnf 配置文件

innobackupex --user=xxx --password=xxx  /home/data/bak_mysql/

由于我们使用的是单机多实例,所以配置文件里面修改了[mysqld]项,xtrabackup无法正确识别datadir,所以复制了一份,使用原来单数据库的格式,将默认的数据库datadir改为我们的主数据库datadir

#自定义配置文件

innobackupex --user=xxx --password=xxx --defaults-file=/home/data/xtrabackup.my.cnf /home/data/bak_mysql/

innobackupex备份速度非常快,完成后会显示:innobackupex: completed OK!

--apply-log操作

innobackupex --user=yourDBuser --password=xxx--apply-log /path/to/backupdir/$TIMESTAMP/

这一步会将ibdata1与ib_logfile0,ib_logfile1的log sequence number对应起来,否则可能会出现表空间和事务日志不一致的情况,

InnoDB: Error: page xxx log sequence number xxx InnoDB: is in the future! Current system log sequence number xxx.

虽然数据库有重建innodb日志的功能,但是,还是避免的好...

下面可以直接用这个备份来做一个Mysql_multi的单机多实例,并且,不需要关闭原来的mysql;

将备份的目录$DATETIME目录改名为mysql2,

mv /home/data/bak_mysql/xxx /home/data/mysql2

chown -R mysql.mysql /home/data/mysql2

cp /etc/my.cnf /home/data/my.cnf

vim /home/data/my.cnf

#修改my.cnf,改为 多实例,参考mysqld_multi --example输出的例子;

启动新增的实例;

mysqld_multi --defaults-file=/home/data/my.cnf start 2

附上一些代码:

#!/bin/bash

DB_CONFIG=/data2/data/xtrabackup.my.cnf

DB_USER=xxx

DB_PASS_FILE='/etc/db/'$DB_USER

BACKUP_HOME=/data2/data

# get database passwordfunctiongetDbPass()

{

RET=`cat$DB_PASS_FILE`echo$RET

}

DB_PASS=$(getDbPass)

cd $BACKUP_HOME

# partial backupfunctionpartial_backup(){

innobackupex--defaults-file=$DB_CONFIG \--user=$DB_USER --password=$DB_PASS \--databases=/xxx/dump.tables \

$BACKUP_HOME

YEAR=`date +"%Y"`

timestamp=`ls |grep 2014 |head -n 1` #得到时间戳名字

innobackupex--user=$DB_USER -password=$DB_PASS --apply-log --export $BACKUP_HOME/$timestamp/

chown -R mysql.mysql $BACKUP_HOME/$timestamp/}

#full backup , can be used as a slave , or base backupfunctionfull_backup(){

innobackupex--defaults-file=$DB_CONFIG \--user=$DB_USER --password=$DB_PASS \

$BACKUP_HOME

timestamp=`ls |grep 2014 |head -n 1` #得到时间戳名字

innobackupex--defaults-file=$DB_CONFIG --user=$DB_USER --password=$DB_PASS --apply-log $BACKUP_HOME/$timestamp/

chown -R mysql.mysql $BACKUP_HOME/$timestamp/}

#incremental backup , can be used as a slave , or base backupfunctionincremental_backup(){

timestamp=`ls |grep 2014 |head -n 1` #得到时间戳名字

INCREMENTAL_BASE_DIR=/data2/data/mysql3/BACKUP_DIR=/data2/data/backups/innobackupex--user=$DB_USER --password=$DB_PASS \--incremental $BACKUP_DIR \--incremental-basedir=$INCREMENTAL_BASE_DIR

#同样可以使用LSN来进行增量备份

#innobackupex--incremental $BACKUP_DIR --incremental-lsn=XXX

}

full_backup

mysql数据库热备份_mysql数据库热备份相关推荐

  1. mysql binlog 备份_Mysql数据库的增量备份与还原

    一.备份的目的 做灾难恢复:对损坏的数据进行恢复和还原. 二.备份需要考虑的问题 可以接受丢失多少数据: 恢复数据的时间要多久: 恢复数据时是否持续提供服务: 恢复的对象,是一个库,多个表,单个表,还 ...

  2. 数据库 mysql详解_MySQL数据库详解

    一.数据库概述 1.数据库与文件系统文件系统对比. 数据冗余和不一致性 数据访问 数据格式相对独立 数据完整性和原子性 数据的并发访问 数据的安全性问题 2.数据库概念 1.DBMS:数据库管理系统 ...

  3. mysql数据库监控程序_mysql数据库监控利器lepus天兔工具安装和部署

    需要的核心包如下: 以下软件包只需要部署在监控机即可.被监控机无需部署. 1.MySQL 5.0及以上(必须,用来存储监控系统采集的数据) 2.Apache 2.2及以上 (必须,WEB服务器运行服务 ...

  4. mysql数据库语法_MySQL数据库基本语法

    SQL WHAT(SQL是什么?) Structured Query Language:结构化查询语⾔ WHY(为何要使用SQL?) 难道仅仅使用SQL Server Management Studi ...

  5. Mysql常用词汇_mysql 数据库常用单词

    说明:以下单词可能有多种含义,此文档只针对编程做解释.单词不多,熟能生巧,每日认真读读写写,效果不错.如有错误,请谅解并指出,谢谢大家! 黄金超 2017-4-7 连接MySQL数据库: mysql ...

  6. mysql删除原则_MySQL数据库的增删选查

    数据库是专门存储数据对象的容器,这里的数据对象包括表.视图.触发器.存储过程等,其中表是最基本的数据对象. 创建数据库 在 MySQL 数据库中存储数据对象之前,先要创建好数据库. 语法: creat ...

  7. mysql select表达式_MySQL数据库SELECT查询表达式解析

    数据的管理在很大一部分是在进行查找工作,而SELECT占据了很大的一部分 SELECT select_expr [,select_expr...] [ FROM table_reference WHE ...

  8. mysql数据库导出_MySQL数据库导入导出详解[转发]

    1. 概述 MySQL数据库的导入,有两种方法: 1) 先导出数据库SQL脚本,再导入: 2) 直接拷贝数据库目录和文件. 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况 ...

  9. mysql断网_mysql数据库断网链接

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  10. 熟悉mysql基本数据库操作系统_MySQL数据库的基本操作

    1.数据库和数据库对象 数据库分为系统数据库和用户数据库. 数据库对象是指存储.管理和使用数据库的不同结构形式,主要包括表.视图.存储过程.函数.触发器和事务. 1.系统数据库 系统数据库是值安装完M ...

最新文章

  1. Django学习笔记之Django ORM Aggregation聚合详解
  2. 1.3 计划需求控制
  3. JAVA_OA管理系统(三)番外篇:Myeclipse导入Spring源码包
  4. 25 个超棒的 WordPress 主题(2012)
  5. mongoose 批量修改字段_记一次脚本批量修改数据库字符集所埋下的一个坑及解决思路...
  6. 【趣话编程】如果张东升是个程序员
  7. UOJ#449. 【集训队作业2018】喂鸽子 min-max容斥,FFT
  8. 2011年数据库大会纪行
  9. Winform-图片上传
  10. Facade(外观模式)
  11. Express 极速掌握
  12. MyEclipse 2014下搭建Android开发环境
  13. 【C】输出乘法口诀表
  14. USA 2008 Presidential Debate
  15. 转载——如果让我完善几年前的一个项目,我会做哪些改进?
  16. 苹果屏幕镜像如何使用,苹果系统又该如何实现镜像投屏?
  17. C# .net+DevExpress自定义控件(UserControl)之分页控件
  18. clustalw序列比对_你还在用ClustalW做多序列比对?OUT了
  19. 解决 Ubuntu 安装显卡驱动后,屏幕变黄的原因
  20. 二代旅游网站CMS缓存列表

热门文章

  1. win10台式机插入耳机检测不出来
  2. 趣聊51之串口通信(实现篇)
  3. java倒序输出英文句子_java逆序英文句子中的单词顺序
  4. VINS-Mono之后端非线性优化 (目标函数中视觉残差和IMU残差,及其对状态量的雅克比矩阵、协方差递推方程的推导)
  5. Web 2.3.2 OpenVAS使用初探 / GVM使用入门教程(超详细)
  6. html语言怎么在虚线中加字,html – 用CSS添加虚线spacer / infill
  7. 帧间预测--AMVP模式理论部分
  8. JSF集成Spring
  9. openEuler基础(二十)用户创建、密码管理、用户锁定
  10. 微博爬虫数据分析可视化程序设计报告