Mysql1.5(binlog增量备份与恢复,innobackupex)

目录:一,增量备份与恢复

二,mysql主从同步

一增量备份与增量恢复:

1启用Mysql服务的binlog日志文件,实现对数据的实时增量备份

(1)binlog日志介绍

(2)启用binlog日志

(3)手动生成新的binlog日志文件

(4)删除已有的binlog日志文件

(5)使用binlog日志恢复数据

(1)binlog日志介绍:

mysql数据库服务日志文件的一种,记录用户连接

数据库服务器之后,执行的除查询之外的sql命令.

(2)启用binlog日志:

1,vim  /etc/my.cnf  (配置主配置文件)

[mysqld]

server_id=51 //定义主机编号
log_bin     //启动binlog日志
binlog_format="mixed"   //定义日志记录格式
记录格式:statement:记录每条修改数据的sql命令

row :不记录sql语句安全上下文,仅保存哪条记录被修改
                mixed:以上两者的混合,记录sql命令并且记录安全上下文,和被修改的记录
2, systemctl restart mysqld  (重起服务)

日志文件默认的存储位置:

cd /var/lib/mysql/

主机名-bin.index  日志索引文件(记录当前已有的binlog日志文件名)

可以用cat查看它

主机名-bin.编号 记录sql命令的日志文件(里面存放的是二进制的执行码)

查看方式:

mysqlbinlog  [选项]   mysql51-bin.000001

mysqlbinlog mysql51-bin.000001  | grep -i insert

选项有:

--start-datetime="yyyy-mm-dd hh:mm:ss"  //开始日期时间

--stop-datetime="yyyy-mm-dd hh:mm:ss" //结束日期时间

--start-position=数字   --stop-position=数字

定义日志文件名字存储位置:

1,mkdir   /logdir   ; chown  mysql  /logidr

2,vim  /etc/my.cnf

[mysqld]
server_id=51
log_bin="/logdir/hcy"
binlog_format="mixed"

3,systemctl restart mysqld

注:配置好后原先的日志文件就无效了,新生成的命令都是存在/logdir/下面.

(3)手动生成新的binlog日志文件

为什么要手动生成新的binlog的日志文件?

系统默认的日志文件只有大于500M才会生成新的日志文件,且无法

对单独库单独表去记录日志文件.

1,在登陆状态下:

执行mysql->flush logs;

2在操作界面下:

执行mysql  -uroot  -p密码   -e ‘flush logs‘

或者:mysqldump  -uroot -p密码  --fulsh-logs  库名 > xxx.sql

3,重起mysqld服务也会新生成日志文件(生产环境下不会用这种)

(4)删除已有的binlog日志文件

使用系统命令删除rm(索引文件不会同步更新)

使用sql命令删除:

mysql->reset  master;删除所有的日志文件重新初始化日志文件

mysql->purge  master  logs to "日志名";删除指定编号之前的日志文件

(5)使用binlog日志恢复数据  的命令格式

mysqlbinlog  【选项】 日志文件名   | mysql  -uroot  -p密码

指定偏移量的选项:

--start-position=数字   --stop-position=数字

指定时间的选项:

--start-datetime="yyyy-mm-dd hh:mm:ss"  //开始日期时间

--stop-datetime="yyyy-mm-dd hh:mm:ss" //结束日期时间

2,使用第3方软件提供命令innobackupex

1,找资源安装软件包:

percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm

rpm -Uvh 查看依赖包,且安装依赖包,才能安装主包。

perl-DBD-mysql      perl-Digest-MD5

libev-4.15-1.el6.rf.x86_64.rpm

rpm -qa | grep percona // 列出包名

rpm -ql percona-xtrabackup-24   //列出软件包提供的文件

/usr/bin/innobackupex (集成xtrabackup支持innodb 和 xtradb以及myisam)

/usr/bin/xtrabackup (只能备份innodb,和xtradb)

2,使用innobackupex命令做备份要求?

(1)确保数据库中的所有库,存储引擎是innodb。

(2)要确保主目录下只有初始配置3个库

(3)第一次要进行完全备份,备份3个主库

以上操作为必须项,主要为软件搭建环境。

3,innobackupex命令的语法格式

innobackupex   <选项>

--user用户   --password 密码  --databases  数据库名列表

--incremental 目录名   --incremental-basedir  目录名

innobackupex  --user root --password  123456  --databases="

mysql  performance_schema  sys  gamedb" 备份目录名  --no-timestamp(完全备份)

4,增量备份

innobackupex  --user root --password  123456  --databases="

mysql  performance_schema  sys  gamedb" 备份目录名  --incremental  目录名

--incremental-basedir=上一次备份数据存储的目录名  (增量备份)

注意事项:指定的备份的目录必须为空。

5,完全恢复

innobackupex --user root --password 123456 --databases="

mysql performance_schema sys gamedb" --apply-log --redo-only  完全备份目录

增量恢复:

innobackupex --user root --password 123456 --databases="

mysql performance_schema sys gamedb"   --apply-log  --redo-only   存储完全备份数据的目录

--incremental-basedir=目录名

拷贝文件:

innobackupex --user root --password 123456 --databases="

mysql performance_schema sys gamedb" --copy-back 存储完全备份数据的目录

原理问题:如果哪天把数据库的主目录干掉了,可以使用恢复日志,先恢复完全备份目录

在迭代式的恢复增量目录数据,不能越级恢复。恢复完全备份后执行命令 --copy-back命令。              最后在chown -R  mysql:mysql   mysql(目录)

备份配置文件说明:

cat xtrabackup_checkpoints (记录sql命令操作序列号)

backup_type = full-backuped  //备份类型(完全备份)

from_lsn = 0   //日志序列号

to_lsn = 4624642  //日志序列号

last_lsn = 4624651 //日志序列号
compact = 0
recover_binlog_info = 0

xtrabackup_logfile(存放记录sql命令与xtrabackup_checkpoints的序列号对应关系)

库目录:(存放sql命令执行后所产生的数据)

原文地址:https://www.cnblogs.com/yunsshcy/p/8683446.html

时间: 2024-10-10 05:57:13

Mysql1.5(binlog增量备份与恢复,innobackupex)的相关文章

percona-xtrabackup完全及增量备份与恢复

一.简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具.其主要特点是备份过程快速.可靠,不会打断正在执行的事务,能够基于压缩等功能节约磁盘空间和流量,自动实现备份检测及其还原速度快. 二.安装及备份.恢复实现        安装:其最新版的软件可从 http://www.percona.com/software/percona-xtrabackup/ 获得.本文基于centos6.

MySQL增量备份与恢复实例【转】

小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份.增量备份的原理就是使用了mysql的binlog日志.本次操作的MySQL版本为5.5.40 for Linux (x86_64). 增量备份要确保打开了二进制日志,参考mysql的日志系统: mysql> show variables like '%log_bin%'; 首先对pak数据库做一个完整备份: $ mysqldump -h localhost -u

MySQL增量备份与恢复

MySQL增量备份与恢复 技能目标 理解MySQL增量备份的概念 理解MySQL增量备份与恢复的方法 1:增量备份的概念 完全备份每次把所有文件全部备份一边占用空间较大,增量备份就解决了这一问题它可以在你完全备份后如果做了修改或者需要备份的文件不大就用增量备份去解决这一问题 2:增量备份的特点 (1)二进制文件保存了所有更新或者可能更新数据库操作 (2)二进制文件在启动MySQL服务后开始记录 (3)只需要执行刷新就能创建新日志 增量备份实战演练 下面是生产环境中的案例,对它进行增量备份操作 1

mysql 利用binlog增量备份,还原实例

mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 一,什么是增量备份 增量备份,就是将新增加的数据进行备份.假如你一个数据库,有10G的数据,每天会增加10M的数据,数据库每天都要备份一次,这么多数据是不是都要备份呢?还是只要备份增加的数据呢,很显然,我只要备份增加的数据.这样减少服务器的负担. 二,启用binlog vi my.cnf log-bin=/var/lib/mysql/mysql-bin.log,如果是这样的话log-bin

innobackup增量备份与恢复

一.全备: innobackupex --user=root --password=123  /backup/all 全备之后,去数据库操作,创建新的对象或插入数据 二.完整备份目录上做第一次增量备份: innobackupex --user=root --password=123  --incremental --incremental-basedir=/backup/all/2016-01-08_02-10-52/ /backup/inc 在/backup/inc生成一个增量备份文件2016

MySQL完全备份、增量备份与恢复

在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果.所以数据库需要备份.这里以新版mysql5.7为例. 一.数据库备份分类: 从物理与逻辑的角度,备份可分为物理备份和逻辑备份. (1)物理备份:对数据库操作系统的物理文件(如数据文件.日志文件等)的备份.又可以分为冷备份和热备份. 冷备份:关闭数据库时进行的备份操作 热备份:在数据库运行状态中进行备份操作,这种备份方法依赖于数据库的日志文件. (2)逻辑备份:对数据库逻辑组件(如表等数据库对象)的备份. 从数据库的备份策

MySQL增量备份与恢复--实验

1.创建全备 innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/home/mysql/3306/data/mysql.sock --no-timestamp /home/mysql/backup 已有数据 2.增加数据 insert into leo values (7,"wanger"); insert into leo values (8,"xiaofang&quo

innobackupex增量备份与恢复

下载:Xtrabackup https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.8/binary/redhat/7/x86_64/Percona-XtraBackup-2.4.8-r97330f7-el7-x86_64-bundle.tar 解压,yum安装 tar -xvf Percona-XtraBackup-2.4.8-r97330f7-el7-x86_64-bundle.tar yum install p

mysqldump+binlog的备份与恢复

数据备份类型 按业务划分:可分为完全备份,增量备份,差异备份. 完全备份:就是对整个数据库的数据和数据结构进行备份,好处是很直观,容易被人理解.不足之处:由于每天都对系统进行完全备份,因此在备份数据中大量是重复的,这些重复数据占用空间,增加成本,备份量大,所需时间长. 增量备份:就是每次备份的数据只是相当于上一次备份后增加和修改过的数据.优点:没有重复的数据,节省空间,缩短备份时间.缺点:发生灾难时,恢复数据麻烦.另外这种备份的可靠性也差,在这种备份下,各备份数据间的关系就像链子一样,一环套一环