mysql数据库热备份_mysql数据库热备份
使用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数据库热备份相关推荐
- mysql binlog 备份_Mysql数据库的增量备份与还原
一.备份的目的 做灾难恢复:对损坏的数据进行恢复和还原. 二.备份需要考虑的问题 可以接受丢失多少数据: 恢复数据的时间要多久: 恢复数据时是否持续提供服务: 恢复的对象,是一个库,多个表,单个表,还 ...
- 数据库 mysql详解_MySQL数据库详解
一.数据库概述 1.数据库与文件系统文件系统对比. 数据冗余和不一致性 数据访问 数据格式相对独立 数据完整性和原子性 数据的并发访问 数据的安全性问题 2.数据库概念 1.DBMS:数据库管理系统 ...
- mysql数据库监控程序_mysql数据库监控利器lepus天兔工具安装和部署
需要的核心包如下: 以下软件包只需要部署在监控机即可.被监控机无需部署. 1.MySQL 5.0及以上(必须,用来存储监控系统采集的数据) 2.Apache 2.2及以上 (必须,WEB服务器运行服务 ...
- mysql数据库语法_MySQL数据库基本语法
SQL WHAT(SQL是什么?) Structured Query Language:结构化查询语⾔ WHY(为何要使用SQL?) 难道仅仅使用SQL Server Management Studi ...
- Mysql常用词汇_mysql 数据库常用单词
说明:以下单词可能有多种含义,此文档只针对编程做解释.单词不多,熟能生巧,每日认真读读写写,效果不错.如有错误,请谅解并指出,谢谢大家! 黄金超 2017-4-7 连接MySQL数据库: mysql ...
- mysql删除原则_MySQL数据库的增删选查
数据库是专门存储数据对象的容器,这里的数据对象包括表.视图.触发器.存储过程等,其中表是最基本的数据对象. 创建数据库 在 MySQL 数据库中存储数据对象之前,先要创建好数据库. 语法: creat ...
- mysql select表达式_MySQL数据库SELECT查询表达式解析
数据的管理在很大一部分是在进行查找工作,而SELECT占据了很大的一部分 SELECT select_expr [,select_expr...] [ FROM table_reference WHE ...
- mysql数据库导出_MySQL数据库导入导出详解[转发]
1. 概述 MySQL数据库的导入,有两种方法: 1) 先导出数据库SQL脚本,再导入: 2) 直接拷贝数据库目录和文件. 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况 ...
- mysql断网_mysql数据库断网链接
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 熟悉mysql基本数据库操作系统_MySQL数据库的基本操作
1.数据库和数据库对象 数据库分为系统数据库和用户数据库. 数据库对象是指存储.管理和使用数据库的不同结构形式,主要包括表.视图.存储过程.函数.触发器和事务. 1.系统数据库 系统数据库是值安装完M ...
最新文章
- Django学习笔记之Django ORM Aggregation聚合详解
- 1.3 计划需求控制
- JAVA_OA管理系统(三)番外篇:Myeclipse导入Spring源码包
- 25 个超棒的 WordPress 主题(2012)
- mongoose 批量修改字段_记一次脚本批量修改数据库字符集所埋下的一个坑及解决思路...
- 【趣话编程】如果张东升是个程序员
- UOJ#449. 【集训队作业2018】喂鸽子 min-max容斥,FFT
- 2011年数据库大会纪行
- Winform-图片上传
- Facade(外观模式)
- Express 极速掌握
- MyEclipse 2014下搭建Android开发环境
- 【C】输出乘法口诀表
- USA 2008 Presidential Debate
- 转载——如果让我完善几年前的一个项目,我会做哪些改进?
- 苹果屏幕镜像如何使用,苹果系统又该如何实现镜像投屏?
- C# .net+DevExpress自定义控件(UserControl)之分页控件
- clustalw序列比对_你还在用ClustalW做多序列比对?OUT了
- 解决 Ubuntu 安装显卡驱动后,屏幕变黄的原因
- 二代旅游网站CMS缓存列表
热门文章
- win10台式机插入耳机检测不出来
- 趣聊51之串口通信(实现篇)
- java倒序输出英文句子_java逆序英文句子中的单词顺序
- VINS-Mono之后端非线性优化 (目标函数中视觉残差和IMU残差,及其对状态量的雅克比矩阵、协方差递推方程的推导)
- Web 2.3.2 OpenVAS使用初探 / GVM使用入门教程(超详细)
- html语言怎么在虚线中加字,html – 用CSS添加虚线spacer / infill
- 帧间预测--AMVP模式理论部分
- JSF集成Spring
- openEuler基础(二十)用户创建、密码管理、用户锁定
- 微博爬虫数据分析可视化程序设计报告