小型数据库完全+增量备份

1.创建模拟所有数据库

mysql>create database test;

2.创建模拟所有的表

mysql>CREATE  TABLE  student (id INT(10) NOT NULL UNIQUE PRIMARY KEY, name  VARCHAR(20)  NOT NULL ,

sex VARCHAR(4), birth YEAR, department VARCHAR(20), address VARCHAR(50));

3.向表中插入数据

mysql>INSERT INTO student VALUES( 901,‘张老大‘, ‘男‘,1985,‘计算机系‘, ‘北京市海淀区‘);

INSERT INTO student VALUES( 902,‘张老二‘, ‘男‘,1986,‘中文系‘, ‘北京市昌平区‘);

INSERT INTO student VALUES( 903,‘张三‘, ‘女‘,1990,‘中文系‘, ‘湖南省永州市‘);

INSERT INTO student VALUES( 904,‘李四‘, ‘男‘,1990,‘英语系‘, ‘辽宁省阜新市‘);

INSERT INTO student VALUES( 905,‘王五‘, ‘女‘,1991,‘英语系‘, ‘福建省厦门市‘);

INSERT INTO student VALUES( 906,‘王六‘, ‘男‘,1988,‘计算机系‘, ‘湖南省衡阳市‘);

4.查询student表的所有记录

mysql> SELECT * FROM student;

+-----+--------+------+-------+------------+--------------+

| id  | name   | sex  | birth | department | address      |

+-----+--------+------+-------+------------+--------------+

| 901 | 张老大 | 男   |  1985 | 计算机系   | 北京市海淀区 |

| 902 | 张老二 | 男   |  1986 | 中文系     | 北京市昌平区 |

| 903 | 张三   | 女   |  1990 | 中文系     | 湖南省永州市 |

| 904 | 李四   | 男   |  1990 | 英语系     | 辽宁省阜新市 |

| 905 | 王五   | 女   |  1991 | 英语系     | 福建省厦门市 |

| 906 | 王六   | 男   |  1988 | 计算机系   | 湖南省衡阳市 |

+-----+--------+------+-------+------------+--------------+

5.备份所有库

[[email protected] ~]# mysqldump -uroot -p --master-data=2 --flush-logs --all-databases --lock-all-tables > /root/alldatabses.sql

6.查看完全备份的内容

[[email protected] ~]# less alldatabases.sql

7.删除之前的二进制日志(可选,删除之前建议备份)

mysql>PURGE BINARY LOGS TO ‘mysqld-bin.00000x‘

8.查看当前二进制日志

mysql>show binary logs;

9.修改student表中数据(模拟第一天)

mysql>use student;

mysql>delete from student where sex = ‘男‘;

10.滚动日志

mysql>flush logs;

11.做增量备份

[[email protected] ~]# cd /var/lib/mysql/

[[email protected] mysql]# mysqlbinlog mysqld-bin.0000x > /root/mon-incremental.sql

此时的mysqld-bin.0000x为最新的二进制日志前一个二进制日志,因为做了滚动日志

12.修改student表中数据(模拟第二天)

mysql>use student;

mysql>insert into student (Name) values (‘godben‘);

13.模拟数据库完全丢失(因为正常情况下二进制日志与数据不在同一块磁盘,所以先将二进制日志复制的其他地方)

[[email protected] mysql]# cp mysqld-bin.00001x /root    (最新的二进制)

[[email protected] mysql]# rm -fr ./*

14.开始还原完全备份,还原后为第4步的结果

[[email protected] ~]# mysql -uroot -p < alldatabases.sql

15.导入第一次的增量备份,导入后为第9步结果

[[email protected] ~]# mysql -uroot -p < mon-incremental.sql

16.导入最后的二进制日志,还原到数据库丢失的时刻,导入后为第12步结果

[[email protected] ~]# mysqlbinlog mysqld-bin.0000x | mysql -uroot -p

时间: 2024-12-14 13:28:52

小型数据库完全+增量备份的相关文章

某系统数据库的增量备份策略恢复测试过程

上半年,公司服务器虚拟化项目已经上线,所以近期的主要工作重心以P2V(物理机到虚拟机)的迁移为主,作为业务系统核心的后台数据库的迁移更是这项工作的重中之重. 本次数据库的迁移工作主要包含两部分的内容:一是跨平台(windows2003到OEL6)的数据库版本升级(Oracle 9.2.0.6到Oracle 11.2.0.4):二是数据迁移.由于这些变迁,伴随着发生了许多操作方式(习惯)的变化,最显著的一点就是备份方式的变更了.之前的备份方式是采用exp逻辑导出的方式,就目前业务运行的情形来看,此

MySQL 全量及增量备份,基于xtrabackup 2.3.5

昨天一个pgp加密盘坏了,东西全丢了...,我的笔记啊!我咋怎么2呢.. 备份个脚本吧,方便以后手机查看,话说我都快忘记帐号密码了 备注:脚步恢复时只能恢复到备份前的状态,如果需要恢复到当前状态,还需配合binlog,睡觉就这样 #!/bin/sh #################################################### # AUTHOR : JusonSummer # # VERSION : V1.0.0 # # DATE : 2016-08-13 # # CO

数据泵增量备份

本帖最后由 java3344520 于 2012-11-8 12:51 编辑 大家看看这个参数inctype你是否使用过?我做了以下测试,欢迎拍砖! Oracle数据库逻辑增量备份之exp/imp一.实现需求 由于一个库在云平台上,虽然做了RMAN备份,但是RMAN备份在云本地磁盘上,同时库备份数据量比较大,无法转移到其他的空间上.由于该库应用的性质比较特殊,大数据量部分要求保存180天后即可删除,因此除了做RMAN之外,我希望将核心数据做下额外的备份,expdp可以满足,目前是这么做的,但是e

Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)

原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份 同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 : 1.无需停止数据库进行InnoDB热备 2.增量备份MySQL 3.流

负责数据库的备份,实现周一 之 周六增量备份,周日全量备份

1.mysql全量备份.增量备份.开启mysql的logbin日志功能.在/etc/my.cnf文件中加入以下代码: [mysqld] log-bin ="/home/mysql/logbin.log" binlog-format = ROW log-bin-index ="/home/mysql/logindex" binlog_cache_size=32m max_binlog_cache_size=512m max_binlog_size=512m 重启mys

MySQL数据库备份:完全备份+增量备份

MySQL数据库备份:完全备份+增量备份 ************************************************************************************** 计划任务: crontab -e  -u root 00 6  * * 1  /shell/mysqlbak.sh &> /dev/null 00 23  * * 2-7  /shell/mysqladd.sh &> /dev/null **************

Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)

Percona Xtrabackup备份mysql大数据库(完整备份与增量备份) 文章目录 [隐藏] Xtrabackup简介 Xtrabackup安装 Xtrabackup工具介绍 innobackupex使用方法 完整备份及还原 增量备份及还原 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁).XtraBackup支持所有的Percona

mysql数据库自动化完整备份和增量备份

mysql数据库自动化完整备份和增量备份     增量备份,为了增强mysql数据库的安全性和完整性,需要对数据进行备份.这里我们采用的策略是每周五下午5:30进行一次完整备份:每天的6:00.12:10.17:00进行增量备份. 1.完整备份脚本如下:(备份之后并打包存储) 2.增量备份脚本如下:(将生成的二进制文件内容读取出来并导入一个新的sql文件中) 增量备份的前提时,要在mysql的配置文件里打开二进制功能: log-bin=mysql 3.将这两个加进计划任务里 4.执行结果: 数据

【mysql】使用xtrabackup在线增量备份及恢复l数据库

一.介绍 1.Xtrabackup有这么几个文件 innobackupex innobackupex 是xtrabackup的一个符号链接 . innobackupex still supports all features and syntax as 2.2 version did, but is now deprecated and will be removed in next major release. xtrabackup 一个由C编译而来的二进制文件,可以整备MySQL datab