澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站Mysql的备份和恢复,Mysql三

1.数据库的备份

大器晚成、备份的指标

  备份=拷贝加管理,防止数据的错失同期记录客户的操作记录。个中最实用的备份是对IT架构进行备份。

做祸殃恢复生机:对损坏的数码进行复原和回复
要求变动:因要求变动而必要把多少复苏到改造在此以前
测验:测验新效用是不是可用

原则:

二、备份要求思虑的标题

(1卡塔尔数据库要有效期备份,备份的周期应当依附使用数据系统可承当的过来时间,何况准时备份的时日应该在系统负荷最低的时候进行。对于主要的数据,要保管在最为气象下的损失都得以健康恢复生机。

能够容忍错过多久的多少;
借尸还魂数据要在多久内完;
复原的时候是或不是必要不停提供劳务;
过来的靶子,是成套库,七个表,依然单个库,单个表。

(2卡塔尔准时备份后,相仿须要定期做苏醒测试,理解备份的正确性可信性,确认保障备份的有意义的、可还原的。

三、备份的品类

(3卡塔尔国依照系统必要来规定是否使用增量备份,增量备份只供给备份每一日的增量数据,备份花费的时刻少,对系统负载的下压力也小。瑕玷是过来的时候供给加载以前全数的备份数据。恢复时间较长。

1、依照是还是不是需求数据库离线

(4卡塔尔确定保证mysql展开了log-bin选项,mysql在做完全过来或然依照时间点苏醒的时候都亟需binlog。

冷备(cold backup卡塔 尔(英语:State of Qatar):要求关mysql服务,读写要求均不允许状态下进展;
温备(warm backup卡塔 尔(阿拉伯语:قطر‎: 服务在线,但仅支持读央浼,不容许写要求;
热备(hot backup卡塔尔:备份的同期,业务不受影响。

(5卡塔尔国能够构思外省备份。

注:

 

1、那种类型的备份,决意于业务的急需,并非备份工具
2、MyISAM不援救热备,InnoDB扶助热备,可是急需特意的工具

2.逻辑备份和回复

2、依据要备份的多少集合的限定
一起备份:full backup,备份全体字符集。
增量备份: incremental backup 上次完全备份或增量备份以来改动了的多寡,不能够独立行使,要依附完全备份,备份的功效决意于数量的改进频率。
差别备份:differential backup 上次完全备份以来纠正了的多少。
提出的上升计谋:
全盘 增量 二进制日志
一心 差距 二进制日志

(1卡塔尔逻辑备份:也得以形成文件级备份,是将数据库中的数据备份为贰个文本文件,而备份大小决定于文件大小。何况该文件文件是能够移植到别的机器上的,以至是莫衷一是硬件结构的机器。

3、依照备份数据或文件

  • 使用mysqldump命令生成insert语句备份

    语法:mysqldump [arguments] >file_name.sql

物理备份:直接备份数据文件

运用扶助如下:

优点:

[root@cai ~]# mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump –help
例:备份所有数据库,语句如下:
[root@cai dumpback]# mysqldump -uroot -p123456 --all-databases >/tmp/dumpback/alldb.sql
备份某些数据库,语法如下:
[root@cai dumpback]# mysqldump -uroot -p123456 --databases aa >/tmp/dumpback/data_aa.sql
备份某数据库中的表,语句如下:
[root@cai dumpback]# mysqldump -uroot -p123456 aa cairui >/tmp/dumpback/aa_cairui.sql
查看备份内容,语句如下:
[root@cai dumpback]# more aa_cairui.sql

备份和死灰复然操作都比较轻易,能够跨mysql的版本,
复原速度快,归属文件系统品级的

何以保险数据备份的大器晚成致性?有以下二种艺术:

建议:

①同生机勃勃任何时候收取全部数据

不要假使备份肯定可用,要测量试验
mysql>check tables;检查实验表是不是可用
逻辑备份: 备份表中的数据和代码

对此职业支持的存款和储蓄引擎,如innodb或许bdb等,能够经过调节将全方位备份进程在同一事物中,使用 -single-transaction test>test_backup.sql选项

优点:

例:[root@cai dumpback]# mysqldump -uroot -p123456 --single-transaction aa >/tmp/dumpback/aa_backup.sql

还原轻巧、
备份的结果为ASCII文件,可以编写
与仓库储存引擎毫无干系
可以通过互连网备份和恢复

②数据库中的数据处于平稳状态

缺点:

通过锁表参数未产生

备份或恢复生机都亟待mysql服务器进度出席
备份结果攻克更加多的上空,
浮点数也许会放任精度
出山小草之后,缩影须要重建

LOCK-TABLES 每一次锁定三个数据库的表,此参数默以为true

四:备份的靶子

LOCK-ALL-TABLES 一遍锁定全数的表,适用于dump的表分别处于各种分裂的数据库中的情状。

1、 数据;
2、配置文件;
3、代码:存款和储蓄进度、存款和储蓄函数、触发器
4、os相关的安排文件
5、复制相关的布置
6、二进制日志

 

五、备份和回复的贯彻

l 生成特定格式的纯文本文件备份

1、利用select into outfile实现数据的备份与还原
1.1把须求备份的数据备份出来

①通过select … to outfile from … 命令

复制代码 代码如下:
mysql> use hellodb; //打开hellodb库
mysql> select * from students; 查看students的属性
mysql> select * from students where Age > 30 into outfile ‘/tmp/stud.txt' ; //将年龄大于四十的校友的音信备份出来

参数如下:

注意:

fields escaped by [‘name’]:在sql语句中必要转义的字符

备份的目录路线必得让眼下运作mysql服务器的客商mysql具有访谈权限

田野同志s terminated by:设定每三个字段之间的相间符

备份落成之后需求把备份的文件从tmp目录复制走,要不就遗失备份的指标了

fields [optionally] enclosed by ‘name’:包装,有optionally数字类型不被打包,不然全包装。

归来tmp目录下查看刚才备份的文书

lines terminated by ‘name’:行分隔符,即每记录甘休时增加的字符。

[[email protected] ~]# cd /tmp

例:mysql> select * into outfile '/tmp/tb1.txt'
    -> fields terminated by ','
    -> optionally enclosed by '"'
    -> lines terminated by 'n'
-> from cai limit 50;

[[email protected] tmp]# cat stud.txt

②透过mysqldump工具命令导出文本。

3Xie Yanke53M216

用此措施能够生成一个文件数据和四个一呼百应的数据库结构创制脚本,首要参数:

4Ding Dian32M44

-T,--tab=name

6Shi Qing46M5N

例:导出sqoop库的tb1表(http://blog.itpub.net/31386161/viewspace-2130313/错误管理方法)

13Tian Boguang33M2N

[root@cai ~]# mysqldump -uroot -p123456 -T /tmp sqoop tb1 --fields-enclosed-by=" --fields-terminated-by=,

25Sun Dasheng100MNN

(2卡塔尔逻辑备份的苏醒

[[email protected]澳门新浦京娱乐场网站Mysql的备份和恢复,Mysql三种备份详解。 tmp]#

[root@cai dumpback]# mysql -uroot -p123456 -D cai </tmp/dumpback/aa_cairui.sql

你会意识是个文件文件。所以不可能一贯导入数据库了。须求动用load data infile 苏醒

将aa底下的cairui表复苏到cai database下

归来mysql服务器端,删除年龄超越30的客户,模拟数据被磨损

②纯文本文件的过来

mysql> delete from students where Age > 30;

使用mysqllimport工具复苏,此工具得以用来复苏生成txt和sql两文本,所以保险txt文件对应的数据库的表存在。

mysql> load data infile '/tmp/stud.txt' into table students;

首先恢复表结构,语句如下:
[root@cai tmp]# mysql -uroot -p123456 -D aa </tmp/tb1.sql
恢复数据,语句如下:
[root@cai tmp]# mysqlimport -uroot -p123456 aa --fields-enclosed-by=" --fields-terminated-by=, /tmp/tb1.txt

2、利用mysqldump工具对数码进行备份和回复

 

mysqldump 常用来做温备,所以大家率先需求对想备份的数据施加读锁,

3.大意备份和还原

2.1 施加读锁的方法:

大要备份比逻辑备份速度要快,分为以下三种:

1.一贯在备份的时候加多选项

a。冷备份:这种方法是最间接的备份情势,正是第意气风发停掉数据库服务,然后cp数据文件,恢复生机时停下mysql,先举办操作系统等级恢复生机文件,然后重启mysql服务,使用mysqlbinlog工具恢复生机自备份以来的全体binlog。这种方法就算轻松,而且对具有引擎匡助,但是有一个相当大的坏处正是亟需关闭数据库服务。在当前的绝大相当多音信种类都以不允许长时间时间停机的。

--lock-all-tables 是对要备份的数据库的装有表施加读锁

b。热备份:对于不一样的蕴藏引擎方法也不一样

--lock-table 仅对单张表施加读锁,纵然是备份整个数据库,它也是在我们备份某张表的时候才对该表施加读锁,由此适用于备份单张表

 

2、在劳务器端书写命令,

4.各类备份与还原措施的活龙活现落到实处

mysql> flush tables with read lock; 施加锁,表示把位于内部存款和储蓄器上的表统统都同步到磁盘上去,然后施加读锁

(1卡塔尔利用select into outfile落成数据备份与还原

mysql> flush tables with read lock;释放读锁

①把供给备份的数据备份出来

但这对于InnoDB存款和储蓄引擎来说,固然你也可以诉求道读锁,不过不表示它的有着数据都早就联手到磁盘上,由此公开对InnoDB的时候,我们要选取mysql> show engine innodb status; 看看InnoDB全体的数据都已一起到磁盘上去了,才开展备份操作。

mysql> select * from students;
 ------ ------ ------ 
| id   | name | age  |
 ------ ------ ------ 
|    1 | li   |   36 |
|    2 | wang |   26 |
|    3 | cai  |   12 |

mysql> select * from students where age>30 into outfile '/tmp/students.txt';//将年龄大于30的同学的信息备份出来

2.2备份的战术:

察觉students。txt是文件文件,不能够一贯导入数据库,须求运用load data infile复苏到mysql服务器端,删除年龄超越30的客户,模拟数据被毁坏。

全盘备份 增量备份 二进制日志

mysql> delete from students where age>30;
mysql> load data infile '/tmp/students.txt' into table students;

演示备份的进程;

(2卡塔尔备份计谋:完全备份 增量备份 二进制日志

2.3 先给数据库做完全备份:

①先给数据库做完全备份

复制代码 代码如下:
[[email protected] ~]# mysqldump -uroot --single-transaction --master-data=2 --databases hellodb > /backup/hellodb_`date %F`.sql

http://www.cnblogs.com/kerrycode/p/4565669.html(错误消除办法卡塔 尔(英语:State of Qatar)

--single-transaction: 基于此选项能完结热备InnoDB表;因而,无需同临时间利用--lock-all-tables;
--master-data=2 记录备份那一整天的二进制日志的岗位,况且注释掉,1是不注释的
--databases hellodb 钦点备份的数据库

[root@cai tmp]# mysqldump -uroot -p123456 --single-transaction --master-data=2 --databases hellodb >/backup/hellodb_'data %F'.sql

然后再次来到mysql服务器端,

②赶回mysql服务器端更新数据

2.4再次来到mysql服务器端更新数据

mysql> use hellodb;
Database changed
mysql> create table tb1(id int);
Query OK, 0 rows affected (0.02 sec)

mysql> insert into tb1 values(1),(2),(3);
Query OK, 3 rows affected (0.02 sec)
Records: 3  Duplicates: 0  Warnings: 0

复制代码 代码如下:
mysql> create table tb1(id int); 创建表
mysql> insert into tb1 values (1),(2),(3); 插入数据,这里只做示范,随便插入了多少个数据

③先查看完全备份文件里面著录的职分

2.5先查看完全备份文件里边记录的岗位:

[root@cai backup]# cat hellodb_data %F.sql | less
-- CHANGE MASTER TO MASTER_LOG_FILE='cai-bin.000001', MASTER_LOG_POS=107;(记录了二进制日志的位置)

 

④回来劳动器端

复制代码 代码如下:[[email protected] backup]# cat hellodb_2013-09-08.sql | less
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000013', MASTER_LOG_POS=15684; 记录了二进制日志的地点

mysql> show master status;显示此时的二进制日志的位置,从备份文件里边记录的位置到我们此时的位置即为增量的部分。
 ---------------- ---------- -------------- ------------------ 
| File           | Position | Binlog_Do_DB | Binlog_Ignore_DB |
 ---------------- ---------- -------------- ------------------ 
| cai-bin.000001 |      394 |              |                  |
 ---------------- ---------- -------------- ------------------ 
1 row in set (0.00 sec)

2.6 在回到劳动器端:

⑤做增量备份

复制代码 代码如下:
mysql> show master status; 展现那时的二进制日志的岗位
从备份文件里边记录的地点到我们这儿的岗位,即为增量的黄金时代对
------------------ ---------- -------------- ------------------
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
------------------ ---------- -------------- ------------------
| mysql-bin.000004 | 15982 | | |
------------------ ---------- -------------- ------------------

[root@cai backup]# mysqlbinlog --start-position=107 --stop-position=394 /application/mysql/data/cai-bin.000001 >/backup/hellodb_'data $F_%H'.sql

2.7做增量备份

⑥再回去服务器

复制代码 代码如下:
[[email protected] backup]# mysqlbinlog --start-position=15694 --stop-position=15982
/mydata/data/mysql-bin.000013 > /backup/hellodb_`date $F_%H`.sql

mysql> insert into tb1 values(4),(5);
mysql> drop database hellodb;

2.8再回去服务器

⑦导出此次二进制日志

复制代码 代码如下:
mysql> insert into tb1 values (4),(5); 在插入一些数值
mysql> drop database hellodb; 删除hellodb库

[root@cai backup]# mysqlbinlog --start-position=394 /application/mysql/data/cai-bin.000001 查看删除操作时二进制日志的位置
[root@cai backup]# mysqlbinlog --start-position=394 --stop-position=587 /application/mysql/data/cai-bin.000001 >/tmp/hellodb.sql(导出二进制日志)

2.9导出此番得二进制日志:

⑧先让mysql离线

 

mysql>set sql_log_bin=0;关闭二进制日志
mysql>flush logs;滚动下日志

复制代码 代码如下:
[[email protected] backup]# mysqlbinlog --start-position=15982 /mydata/data/mysql-bin.000013 查看删除操作时二进制日志的地点
[[email protected] backup]# mysqlbinlog --start-position=15982 --stop-position=16176 /mydata/data/mysql-bin.000013 > /tmp/hellodb.sql //导出二进制日志

⑨模拟数据库破坏

2.10先让mysql离线

mysql>drop database hellodb;

回到劳动器端:

⑩从头重温旧业数据

复制代码 代码如下:
mysql> set sql_log_bin=0; 关闭二进制日志
mysql> flush logs; 滚动下日志

#mysql </backup/hellodb_2013-09-08.sql导入完全备份文件
#mysql </backup/hellodb_2013-09-08_05.sql导入增量备份文件
#mysql <hellodb.sql//导入二进制文件

2.11仿照数据库损坏

(1的确生产情况中,应该导出的是任何mysql服务器中的数据,实际不是单个数据库,由此应该使用-all-databases。

复制代码 代码如下:mysql> drop database hellodb;

(2在导出二进制日志的时候,能够直接复制文件就能够,但是要留心的是,备份以前滚动下日志。

2.12始发苏醒数据:

(3利用LVM快速照相达成大概热备的数据备份与回复。

复制代码 代码如下:
[[email protected] ]# mysql < /backup/hellodb_二零一一-09-08.sql //导入完全备份文件
[[email protected] ]# mysql < /backup/hellodb_2013-09-08_05.sql //导入增量备份文件
[[email protected] ]# mysql< hellodb.sql //导入二进制文件

 

证实实现,展现结果为我们预料的那样

最首要:使用xtrabackup做备份恢复生机

1.优势

(1卡塔尔火速可信赖的进展完全备份

(2卡塔尔国在备份的长河中不影响职业

(3卡塔尔国支持数据流、网络传输、压缩,所以它能够有效地节约磁盘财富和互连网带宽。

(4卡塔尔国能够自动备份核算数据的可用性。

a。安装rabackup

[root@cai tools]# tar zxf percona-xtrabackup-2.4.2-Linux-x86_64.tar.gz 
[root@cai tools]# mv percona-xtrabackup-2.4.2-Linux-x86_64 /application/percona-xtrabackup2.4.2
[root@cai tools]# ln -s /application/percona-xtrabackup2.4.2/ /application/xtrabackup
[root@cai tools]#  echo "export PATH=$PATH:/application/xtrabackup/bin" >> /etc/profile
[root@cai tools]# . /etc/profile

b。全量备份

mysql> create user 'backup'@'%' identified by '123456';创建备份用户
mysql> grant all on *.* to 'backup'@'%';授权
mysql> flush privileges;使生效
mysql> select * from cairui;
 ------ ------ 
| id   | name |
 ------ ------ 
|    1 | li   |
|    2 | wang |
测试的表为cairui 在cai底下

[root@cai backup]# innobackupex --user=root --password=123456 /data/backup/(备份到backup下)170511 16:46:14 completed OK澳门新浦京娱乐场网站,!表示成功

 

澳门新浦京娱乐场网站 1

xtrabackup_checkpoints:备份类型、备份状态和LSN(日志体系号卡塔 尔(英语:State of Qatar)范围消息。

xtrabackup_binlog_info:mysql服务器当前正值接纳的二进制文件及备份那风流罗曼蒂克阵子收尾的二进制日志事件的职责。

xtrabackup_logfile:非文本文件,xtrabackup本人的日志文件。

backup-my.cnf:备份时数据文件中有关mysql的布局。

mysql> delete from bb where age >30;
xtrabackup的增量备份代码如下:
[root@cai backup]# innobackupex --user=root --password=123456 --incremental /data/backup/--incremental-basedir=/data/backup/2017-05-11_16-57-24

 

注:

1、真正在生养条件中,大家应该导出的是朝气蓬勃体mysql服务器中的数据,并非单个库,因而应当选取--all-databases
2、在导出二进制日志的时候,能够一向复制文件就可以,不过要小心的是,备份以前滚动下日志。
3、利用lvm快速照相实现差不离热备的数据备份与回复

3.1策略:

全然备份 二进制日志;

3.2准备:

注:事务日志必需跟数据文件在同四个LV上;

3.3创建lvm Lvm的开创这里就相当的少说了,想驾驭话点击

3.4 改过mysql主配置文件贮存目录内的文本的权力与属主属组,并开头化mysql

复制代码 代码如下:
[[email protected] ~]# mkdir /mydata/data //成立数据目录
[[email protected] ~]# chown mysql:mysql /mydata/data //改属组属主
[[email protected] ~]#
[[email protected] ~]# cd /usr/local/mysql/ //必需站在这里目录下
[[email protected] mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data //初始化mysql

3.5改换配置文件:

复制代码 代码如下:
vim /etc/my.cof
datadir=/mydata/data 增多数码目录
sync_binlog = 1 张开此功能

3.6 运行服务

复制代码 代码如下:
[[email protected] mysql]# service mysqld start
mysql> set session sql_log_bin=0; 关闭二进制日志
mysql> source /backup/all_db_贰零壹壹-09-08.sql 读取备份文件

3.7回到mysql服务器:

复制代码 代码如下:
mysql> FLUSH TABLES WITH READ LOCK; 须求读锁
注:不要脱离,另起八个极端:
mysql> SHOW MASTELX570 STATUS; 查看二进制文件的地点
------------------ ---------- -------------- ------------------
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
------------------ ---------- -------------- ------------------
| mysql-bin.000004 | 107 | | |
------------------ ---------- -------------- ------------------
1 row in set (0.00 sec)
mysql> FLUSH LOGS; 建议滚动下日志。那样备份日志的时候就能够很便利了

3.8导出二进制文件,创立个目录单独寄放

复制代码 代码如下:
[[email protected] ~]# mkdir /backup/limian
[[email protected] ~]# mysql -e 'show master status;' > /backup/limian/binlog.txt
[[email protected] ~]#

3.9为多少所在的卷创造快速照相:

复制代码 代码如下:[[email protected] ~]# lvcreate -L 100M -s -p r -n mysql_snap /dev/myvg/mydata

归来劳动器端,释放读锁

复制代码 代码如下:
mysql> UNLOCK TABLES;
[[email protected] ~]# mount /dev/myvg/mysql_snap /mnt/data
[[email protected] data]# cp * /backup/limian/
[[email protected] data]#lvremove /dev/myvg/mylv_snap

3.10更新数据库的数码,并剔除数据目录先的数据文件,模拟数据库损坏

复制代码 代码如下:
mysql> create table limiantb (id int,name CHAR(10));
mysql> insert into limiantb values (1,'tom');
[[email protected] data]# mysqlbinlog --start-position=187 mysql-bin.000003 > /backup/limian/binlog.sql
[[email protected] backup]# cd /mydata/data/
[[email protected] data]# rm -rf *
[[email protected] ~]# cp -a /backup/limian/* /mydata/data/
[[email protected] data]# chown mysql:mysql *

3.11测试

起步服务

复制代码 代码如下:
[[email protected] data]# service mysqld start
[[email protected] data]# mysql 登录测验
mysql> SHOW DATABASES;
mysql> SET sql_log_bin=0
mysql> source/backup/limian/binlog.sql; #二进制恢复生机
mysql> SHOW TABLES; #翻看恢复结果
mysql> SET sql_log_bin=1; #展开二进制日志

注:此方法完成了相符于热备的点子备份数据文件,何况数据文件放在lvm中能够根据数量的朗朗上口灵活变动lvm的大大小小,备份的秘诀也很简短。

4、基于Xtrabackup做备份复苏

官方站点:www.percona.com

优势:

1、飞速可相信的拓展完全备份
2、在备份的经过中不会影响到事情
3、扶植数据流、互联网传输、压缩,所以它能够使得的节约磁盘资源和互联网带宽。
4、能够活动备份校验数据的可用性。

安装Xtrabackup

复制代码 代码如下:
[[email protected] ~]# rpm -ivh percona-xtrabackup-2.1.4-656.rhel6.i686.rpm

其最新版的软件可从 获得

在意:在备份数据库的时候,大家相应具备权限,但须要潜心的是应该给备份数据库时的客户最小的权位,以保险安全性,

4.1前提:

应当鲜明采纳的是单表三个表空间,不然不援救单表的备份与回复。
在安顿文件之中的mysqld段加上

innodb_file_per_table = 1

4.2备份战术
统统备份 增量备份 二进制日志
4.3计划个目录用于存放备份数据

复制代码 代码如下:
[[email protected] ~]# makdir /innobackup

4.4做完全备份:

复制代码 代码如下:
[[email protected] ~]# innobackupex --user=root --password=mypass /innobackup/

注:

1、只要在最终一行呈现 innobackupex: completed OK!,就表明您的备份是不错的。
2、别的要细心的是历次备份之后,会自动在数据目录下开创叁个以当下时刻点命名的目录用于寄存备份的数额,这咱们去拜见都有何

[[email protected] 2013-09-12_11-03-04]# ls
backup-my.cnf ibdata1 performance_schema xtrabackup_binary xtrabackup_checkpoints
hellodb mysql test xtrabackup_binlog_info xtrabackup_logfile
[[email protected] 2013-09-12_11-03-04]#
xtrabackup_checkpoints :备份类型、备份状态和LSN(日志种类号)范围音讯;
xtrabackup_binlog_info :mysql服务器当前正值接纳的二进制日志文件及至备份那风华正茂阵子收尾二进制日志事件的职责。
xtrabackup_logfile :非文本文件,xtrabackup本身的日志文件
xtrabackup_binlog_pos_innodb :二进制日志文件及用于InnoDB或XtraDB表的二进制日志文件的当下position。
backup-my.cnf :备份时数据文件中关于mysqld的陈设

4.5重返mysql服务器端对数据开展更新操作

复制代码 代码如下:
mysql> use hellodb;
mysql> delete from students where StuID>=24;

4.6增量备份

复制代码 代码如下:
innobackupex --user=root --password=mypass --incremental /innobackup/--incremental-basedir=/innobackup/2013-09-12_11-03-04/
--incremental 钦赐备份类型
--incremental-basedir= 钦赐这一次增量备份是根据哪叁遍备份的,这里是一丝一毫备份文件,这样可以把增量备份的数据统意气风发到完全备份中去

4.7次之次增量

先去修正数据

复制代码 代码如下:
mysql> insert into students (Name,Age,Gender,ClassID,TeacherID) values ('tom',33,'M',2,4);
innobackupex --user=root --password=mypass --incremental /innobackup/ --incremental-basedir=/innobackup/2013-09-12_11-37-01/
此处只供给把最后的目录改为第3回增量备份的多少目录就能够

4.8最终一回对数据变动不过没做增量备份

复制代码 代码如下:mysql> delete from coc where id=14;

4.9把二进制日志文件备份出来,(因为最终叁次校正,没做增量备份,要正视二进制日志做时间点复苏)

复制代码 代码如下:[[email protected] data]# cp mysql-bin.000003 /tmp/

4.10仿照数据库崩溃

复制代码 代码如下:
[[email protected] data]# service mysqld stop
[[email protected] data]# rm -rf *

过来前思考

4.11对完全备份做多少同步

复制代码 代码如下:[[email protected] ~]# innobackupex --apply-log --redo-only /innobackup/2013-09-12_11-03-04/

4.12对第一回增量做多少同步

复制代码 代码如下:
innobackupex --apply-log --redo-only /innobackup/2013-09-12_11-03-04/ --incremental-basedir=/innobackup/2013-09-12_11-37-01/

4.13对第二遍增量做多少同步

复制代码 代码如下:
innobackupex --apply-log --redo-only /innobackup/2013-09-12_11-03-04/ --incremental-basedir=/innobackup/2013-09-12_11-45-53/
--apply-log 的意义在于把备份时没commit的工作撤除,已经commit的但还在作业日志中的应用到数据库

注:

对此xtrabackup来讲,它是凭借事务日志和数据文件备份的,备份的数目中只怕会满含尚未提交的业务或已经付出但从不一样步至数据库文件中的事务,还应有对其做预管理,把已交由的事体同步到数据文件,未提交的事体要回滚。由此其备份的数据库,不能够及时拿来平复。

预管理的经过:

率先对完全备份文件只把已交给的作业同步至数据文件,要小心的是有增量的时候,不可能对职业做多少回滚,不然你的增量备份就不曾效应了。

接下来把第叁回的增量备份合併到完全备份文件内,

由此及彼,把后一遍的增量都统大器晚成到前一回联合之后的文件中,那样的话,我们只要拿着完全备份 二进制日志,就能够做时间点复苏。

4.14数据苏醒

复制代码 代码如下:
[[email protected] ~]# service mysqld stop
[[email protected] data]# rm -rf * 模拟数据库崩溃
[[email protected] ~]# innobackupex --copy-back /innobackup/2013-09-12_11-03-04/
--copy-back数据库苏醒,后边跟上备份目录的职位

4.15检测:

复制代码 代码如下:
[[email protected] ~]# cd /mydata/data/
[[email protected] data]# chown mysql:mysql *
[[email protected] data]#service mysqld start
详尽出处参照他事他说加以考察:

做灾荒恢复生机:对毁坏的数量进行复苏和还原 供给变动:因要求变动而要求把多少苏醒到改良早前测量检验:测量检验新效能是还是不是可...

本文由澳门新浦京娱乐场网站发布于数据库,转载请注明出处:澳门新浦京娱乐场网站Mysql的备份和恢复,Mysql三