mysql增量和完全备份
innobackupex2.1.9版本
1 yum安装:

官网地址:https://www.percona.com/doc/percona-xtrabackup/LATEST/installation/yum_repo.html
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
yum list | grep percona
yum remove percona-xtrabackup
yum install percona-xtrabackup-24 -y
xtrabackup -version

2使用编译好的通用包

自行选择版本:https://www.percona.com/downloads/XtraBackup/LATEST/binary/redhat/6/x86_64/
本次使用版本: https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.8/binary/tarball/percona-xtrabackup-2.4.8-Linux-x86_64.tar.gz
tar xf percona-xtrabackup-2.4.8-Linux-x86_64.tar.gz -C /usr/local/
mv /usr/local/percona-xtrabackup-2.4.8-Linux-x86_64/ /usr/local/xtrabackup
echo "export PATH=$PATH:/usr/local/xtrabackup/bin" >> /etc/profile
source /etc/profile
yum install numactl -y #安装依赖

xtrabackup 选项

xtrabackup 工具有许多参数,具体可去官网查询(xtrabackup 参数选项 | innobackupex 参数选项),这里简单介绍 innobackupex 一些常用的参数。

) innobackupex 参数选项

--defaults-file=[MY.CNF]
//指定配置文件:只能从给定的文件中读取默认选项。 且必须作为命令行上的第一个选项;必须是一个真实的文件,它不能是一个符号链接。 --databases=#
//指定备份的数据库和表,格式为:--database="db1[.tb1] db2[.tb2]" 多个库之间以空格隔开,如果此选项不被指定,将会备份所有的数据库。 --include=REGEXP
//用正则表达式的方式指定要备份的数据库和表,格式为 --include=‘^mydb[.]mytb’ ,对每个库中的每个表逐一匹配,因此会创建所有的库,不过是空的目录。--include 传递给 xtrabackup --tables。 --tables-file=FILE
//此选项的参数需要是一个文件名,此文件中每行包含一个要备份的表的完整名称,格式为databasename.tablename。该选项传递给 xtrabackup --tables-file,与--tables选项不同,只有要备份的表的库才会被创建。 注意:部分备份(--include、--tables-file、--database)需要开启 innodb_file_per_table 。 --compact
//创建紧凑型备份,忽略所有辅助索引页,只备份data page;通过--apply-log中重建索引--rebuild-indexs。 --compress
//此选项指示xtrabackup压缩备份的InnoDB数据文件,会生成 *.qp 文件。 --decompress
//解压缩qp文件,为了解压缩,必须安装 qpress 工具。 Percona XtraBackup不会自动删除压缩文件,为了清理备份目录,用户应手动删除 * .qp文件:find /data/backup -name "*.qp" | xargs rm。 --no-timestamp
//指定了这个选项备份将会直接存储在 BACKUP-DIR 目录,不再创建时间戳文件夹。 --apply-log
//应用 BACKUP-DIR 中的 xtrabackup_logfile 事务日志文件。一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处于不一致状态。“准备”的主要作用正是通过回滚未提交的事务及同步已经提交的事务至数据文件使得数据文件处于一致性状态。 --use-memory=#
//此选项接受一个字符参数(1M/1MB,1G/1GB,默认100M),仅与--apply-log一起使用,该选项指定prepare时用于崩溃恢复(crash-recovery)的内存。 --copy-back
//拷贝先前备份所有文件到它们的原始路径。但原路径下不能有任何文件或目录,除非指定 --force-non-empty-directories 选项。 --force-non-empty-directories
//恢复时指定此选项,可使 --copy-back 和 --move-back 复制文件到非空目录,即原data目录下可以有其他文件,但是不能有与恢复文件中同名的文件,否则恢复失败。 --rsync
//此选项可优化本地文件(非InnoDB)的传输。rsync工具一次性拷贝所有非InnoDB文件,而不是为每个文件单独创建cp,在备份恢复很多数据库和表时非常高效。此选项不能和 --stream 一起使用。 --incremental
//这个选项告诉 xtrabackup 创建一个增量备份,而不是完全备份。它传递到 xtrabackup 子进程。当指定这个选项,可以设置 --incremental-lsn 或 --incremental-basedir。如果这2个选项都没有被指定,--incremental-basedir 传递给 xtrabackup 默认值,默认值为:基础备份目录的第一个时间戳备份目录。 --incremental-basedir=DIRECTORY
//该选项接受一个字符串参数,该参数指定作为增量备份的基本数据集的完整备份目录。它与 --incremental 一起使用。 --incremental-dir=DIRECTORY
//该选项接受一个字符串参数,该参数指定了增量备份将与完整备份相结合的目录,以便进行新的完整备份。它与 --incremental 选项一起使用。 --redo-only
//在“准备基本完整备份” 和 “合并所有的增量备份(除了最后一个增备)”时使用此选项。它直接传递给xtrabackup的 xtrabackup --apply-log-only 选项,使xtrabackup跳过"undo"阶段,只做"redo"操作。如果后面还有增量备份应用到这个全备,这是必要的。有关详细信息,请参阅xtrabackup文档。 --parallel=NUMBER-OF-THREADS
//此选项接受一个整数参数,指定xtrabackup子进程应用于同时备份文件的线程数。请注意,此选项仅适用于文件级别,也就是说,如果您有多个.ibd文件,则它们将被并行复制; 如果您的表一起存储在一个表空间文件中,它将不起作用。 ) xtrabackup 参数选项 --apply-log-only
//这个选项使在准备备份(prepare)时,只执行重做(redo)阶段,这对于增量备份非常重要。

--------全量备份---------
数据备份放到/data/backup/下面,innobackupex会自动创建一个文件夹+当前系统时间戳
先备份下,然后测试一下,再备份。
全量备份:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456
--socket=/usr/local/mysql/mysqld.sock /data/backup/full --host=192.168.133.140

当出现complete OK!则成功备份。

测试:
grant all slave on *.* to 'backup'@'%' identified by '123456';
再次备份:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456  --socket=/data/mysql/mysqld.sock /data/backup/full --host=192.168.133.140

一下这个删除不要了。
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --host=127.0.0.1 --parallel=2 --throttle=200  /backup/mysql/data 2>/data/backup/bak.log 1>/data/backup/`data +%Y-%m-%d_%H-%M%S`

--user=root 备份操作用户名
--password=123456 数据库密码
--host=192.168.133.140 数据库的ip,本地的可以不加(适用于远程备份)。
提前在mysql中授权连接的权限,最好备份前测试用户名,密码,host能否正常连接mysql
--parallel=2 --throttle=200 并行个数,根据主机配置选择合适的,默认是1,多个加速备份速度
/data/backup 备份存放的目录
2>/data/backup/bak.log 备份日志,将日志备份过程中的输出信息重定向到bak.log

备份完成后会在备份目录下创建一个以当前时间日期为名字的目录,存放备份文件
ll /data/backup/时间
backup-my.cnf --备份命令用到的配置选项信息
ibdata1 --备份的表空间文件
xtarbackup_binary --备份中用到的xtrabackup的可执行文件
xtarbackup_binlog_info --mysql服务器当前正在使用的二进制日志文件及至备份这一刻为止的二进制日志事件的位置。
xtrabackup_checkpoints --备份类型(如完全或者增量),备份状态(如是否为prepare状态)
LSN(日志序列号)范围信息
xtarbackup_logfile --备份的重做日志文件

>drop database test; (线上不使用)
恢复全备
恢复备份到mysql的数据文件目录,
先关mysql数据库
重命名或者删除原数据库目录
创建新的数据库目录
将备份的数据库目录复制到新的数据文件目录下
赋值,修改权限,启动数据库
service mysqld stop
mv /data/mysql/ /xxx (这个只是将数据库的目录复制)
或者直接删除: rm -rf /data/mysql/*

mkdir /data/mysql

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456
--use-memory=4G --apply-log /data/backup/full/2017-12-24_07-33-51/
加快速度用 --apply-log 目录准备就绪

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456
--copy-back /data/backup/full/2017-12-24_07-33-51/
copy-back将备份文件拷贝到原来的数据目录下
innobackupex增量备份仅针对于InnoDB,对于MyISAM仍是全备

修改数据目录权限,启动mysql,
chown -R mysql.mysql /data/mysql/
service mysqld start

yum安装的没有报错信息,如果是编译安装的(这个报错信息如下,但是没有碰到过)
可能报错:
sh: xtrabackup: command not found
innobackupex: Error: no 'mysqld' group in MySQL options
at /home/mysql/admin/bin/percona-xtrabackup-2.1.9/innobackupex line 4350

解决:将xtrabackup_56复制成xtrabackup即可
[root@slave1 percona-xtrabackup-2.1.9]# ls
innobackupex xbstream xtrabackup_56
[root@slave1 percona-xtrabackup-2.1.9]# cp xtrabackup_56 xtrabackup
[root@slave1 percona-xtrabackup-2.1.9]# ls
innobackupex xbstream xtrabackup xtrabackup_56

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

以下是做完全备份和还原的例子:

. 完全备份
创建用于备份恢复的用户 pxb 并赋予权限
mysql> create user pxb@'localhost' identified by '';
mysql> grant reload,process,lock tables,create,drop,insert,select,replication client on *.* to pxb@localhost;
2创建存放目录
[root@centos6 mysql]# mkdir -pv /data/mysql
进行数据库全备
innobackupex --defaults-file=/etc/my.cnf --user=pxb --password=123456 --socket=/data/mysql/mysql.sock /data/backup/full/

.......

.......
:: [] ...done
:: [] Writing xtrabackup_info
:: [] ...done
xtrabackup: Transaction log of lsn () to () was copied.
:: completed OK!
备份成功。可以看到整个备份过程:连接数据库,开始拷贝redo log,拷贝innodb表文件,锁表、拷贝非innodb表文件,停止拷贝redo log,解锁
查看生成的文件。/data/backup/full/2018-05-28_23-15-31/该文件是全量备份生成的文件。
ll 2018-05-28_23-15-31
total 131124
-rw-r-----. 1 root root      424 May 28 23:15 backup-my.cnf
-rw-r-----. 1 root root      307 May 28 23:15 ib_buffer_pool
-rw-r-----. 1 root root 12582912 May 28 23:44 ibdata1
-rw-r-----. 1 root root 33554432 May 28 23:44 ib_logfile0
-rw-r-----. 1 root root 33554432 May 28 23:40 ib_logfile1
-rw-r-----. 1 root root 33554432 May 28 23:40 ib_logfile2
-rw-r-----. 1 root root 12582912 May 28 23:44 ibtmp1
drwxr-x---. 2 root root     4096 May 28 23:40 mysql
drwxr-x---. 2 root root     8192 May 28 23:40 performance_schema
drwxr-x---. 2 root root     8192 May 28 23:40 sys
drwxr-x---. 2 root root       75 May 28 23:40 test
-rw-r-----. 1 root root       22 May 28 23:40 xtrabackup_binlog_info
-rw-r--r--. 1 root root       22 May 28 23:44 xtrabackup_binlog_pos_innodb
-rw-r-----. 1 root root      113 May 28 23:44 xtrabackup_checkpoints
-rw-r-----. 1 root root      632 May 28 23:40 xtrabackup_info
-rw-r-----. 1 root root  8388608 May 28 23:38 xtrabackup_logfile
其中,mysql/, performance_schema/, sys/ ,test/ ,test1/ 下存放的是数据库文件。
backup-my.cnf,备份命令用到的配置选项信息;
cat backup-my.cnf
# This MySQL options file was generated by innobackupex. # The MySQL server
[mysqld]
innodb_checksum_algorithm=innodb
innodb_log_checksum_algorithm=strict_crc32
innodb_data_file_path=ibdata1:12M:autoextend
innodb_log_files_in_group=
innodb_log_file_size=
innodb_fast_checksum=false
innodb_page_size=
innodb_log_block_size=
innodb_undo_directory=./
innodb_undo_tablespaces=
server_id= redo_log_version=
ib_buffer_pool, buffer pool 中的热数据,当设置 innodb_buffer_pool_dump_at_shutdown= ,在关闭 MySQL 时,会把内存中的热数据保存在磁盘里 ib_buffer_pool 文件中,位于数据目录下。 ibdata1,备份的共享表空间文件; xtrabackup_binlog_info,mysql服务器当前正在使用的二进制日志文件及至备份这一刻为止二进制日志事件的位置;
cat xtrabackup_binlog_info
mysql-bin.
xtrabackup_checkpoints,备份类型(如完全或增量)、备份状态(如是否已经为prepared状态)和LSN(日志序列号)范围信息;
[root@centos6 --24_02--]# cat xtrabackup_checkpoints
backup_type = full-backuped
from_lsn =
to_lsn =
last_lsn =
compact =
recover_binlog_info =
xtrabackup_info,记录备份的基本信息,uuid、备份命令、备份时间、binlog、LSN、以及其他加密压缩等信息
cat xtrabackup_info
uuid = 216881a3--11e7-bc84-080027b387ba
name =
tool_name = innobackupex
tool_command = --defaults-file=/etc/my.cnf --user=pxb --password=... --socket=/data/mysql/mysql.sock /data/backup/full
tool_version = 2.4.
ibbackup_version = 2.4.
server_version = 5.7.-log
start_time = -- ::
end_time = -- ::
lock_time =
binlog_pos = filename 'mysql-bin.000002', position ''
innodb_from_lsn =
innodb_to_lsn =
partial = N
incremental = N
format = file
compact = N
compressed = N
encrypted = N
xtrabackup_logfile,备份的重做日志文件 . 全备恢复
关闭数据库并删除数据文件
etc/init.d/mysqld stop
cd /data/mysql
mv mysql/ mysql_bak/
mkdir /data/mysql
准备(prepare)一个完全备份: --apply-log ( /data/backup/full/2018-05-28_23-15-31/为备份目录,执行之后 xtrabackup_checkpoints 文件中的 backup_type = full-prepared )
innobackupex --apply-log /data/backup/full/2018-05-28_23-15-31/
执行恢复操作:
innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /data/backup/full/2018-05-28_23-15-31/
更改 data/ 目录权限并启动mysql
chown -R mysql.mysql data/
/etc/init.d/mysqld start
可以看到数据库和表均已恢复:
show databases;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

增量备份:
先进行一次全量备份
第一次增量备份是基于全备的,
之后的是基于上一次的增量备份,

全备份放在/data/backup/full,
增量备份在/data/backup/incremental,
增量备份后在该目录下生成 2017-12-24_10-22-30文件夹

全量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456
--socket=/data/mysql/mysqld.sock /data/backup/full
在t1插入数据
inster into t1 values(null);
增量备份:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456
--socket=/usr/local/mysql/mysqld.sock --incremental /data/backup/incremental/
--incremental-basedir=/data/backup/full/2017-12-24_10-22-30/ --parallel=2
如果关于sock报错,去掉就OK了。
2017-12-24_10-22-30该文件是增量备份文件夹
查看增量备份的大小和文件内容
cat xtrabackup_checkpoints
创建t2表,插入数据然后创建增量备份2
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456
--socket=/usr/local/mysql/mysqld.sock --incremental /data/backup/incremental/
--incremental-basedir=/data/backup/full/2017-12-24_10-22-30/ --parallel=2
2017-12-31_11-09-09是第二个增量备份文件夹

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
增量备份恢复:
--恢复完全备份
--恢复增量备份到完全备份
开始增量备份加--redo-only,最后一次去掉--redo-only
--对整体的完全备份进行恢复,回滚未提交的数据
--恢复完全备份
一定加--redo-only

恢复完全备份
innobackupex --apply-log --redo-only /data/backup/full/完全备份的文件夹日期
将增量备份1应用到完全备份
innobackupex --apply-log --redo-only /data/backup/full/完全备份的文件夹日期
--incremental-dir=/data/backup/incremental/增量备份1的文件夹
将增量备份2应用到完全备份
innobackupex --apply-log --redo-only /data/backup/full/完全备份的文件夹日期
--incremental-dir=/data/backup/incremental/增量备份2的文件夹日期
把所有合在一起的完全备份整体进行一次apply操作,回滚未提交的数据
innobackupex --apply-log /data/backup/full/2014-04-07_23-37-20/ ??????

把恢复完的备份复制到数据库目录文件中,赋权,然后启动mysql数据库,检测数据正确性
同上,省略

整理增量备份的内容:
innobackupex --apply-log --redo-only 完整备份路径
innobackupex --apply-log --redo-only 完整备份路径 --incremental-dir=增量备份1路径
innobackupex --apply-log --redo-only 完整备份路径 --incremental-dir=增量备份2路径
......
innobackupex --apply-log 完整备份路径 --incremental-dir=最后一个增量备份X的路径
这个增量备份是把增量备份下的目录的数据,整合到全变量目录下,然后进行全数据的还原。
现在已经把增量目录下是数据整合到全量备份目录下,然后进行全量还原
/etc/init.d/mysqld stop
rm -rf /data/mysql/data/*
innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --password=123456
--copy-back /backup/mysql/data/备份过程中用的完整备份路径的文件夹
chown -R mysql.mysql /data/mysql/data/*
/etc/init.d/mysql start

****
*****
最好将备份目录和增量目录放到同一目录路径下
/backup/mysql/data/full 存放全量备份目录
/backup/mysql/data/daily1 存放第一次增量备份目录
/backup/mysql/data/daily2 存放第二次增量目录

xtrabackup 增量备份恢复
我们以之前做的全备为基准,在其基础上做增量备份:
##新建一张表,并插入数据作为增量## mysql> create table tb2 (id int,name varchar());
Query OK, rows affected (0.06 sec) mysql> insert into tb2 values (,'aaa'),(,'bbb'),(,'ccc'),(,'zzz');
Query OK, rows affected (0.01 sec)
Records: Duplicates: Warnings: mysql> select * from tb2;
+------+------+
| id | name |
+------+------+
| | aaa |
| | bbb |
| | ccc |
| | zzz |
+------+------+
rows in set (0.00 sec)
增量备份1:( 以全备为基准:/data/pxb/--24_02--/ )注意看清楚这里的文件夹是以全量备份生成的文件夹为基础的。
innobackupex --defaults-file=/etc/my.cnf --user=pxb --password= --socket=/data/mysql/mysql.sock \
--incremental /data/backup/daily1 --incremental-basedir=/data/backup/full/2018-05-28_23-15-31/ --parallel=# cat xtrabackup_checkpoints
backup_type = incremental ##说明是增量备份
from_lsn =
to_lsn =
last_lsn =
compact =
recover_binlog_info = 0 再往 tb2 里插入数据:
mysql> insert into tb2 values (,'aaa'),(,'bbb'),(,'ccc'),(,'zzz');
Query OK, rows affected (0.12 sec)
Records: Duplicates: Warnings:
mysql> select * from tb2;
+------+------+
| id | name |
+------+------+
| | aaa |
| | bbb |
| | ccc |
| | zzz |
| | aaa |
| | bbb |
| | ccc |
| | zzz |
+------+------+
rows in set (0.00 sec)
增量备份2:( 以增量1为基准:/data/backup/daily1/2018-05-28_23-24-08/ )这里的文件夹以增量1的文件夹为基础。
innobackupex --defaults-file=/etc/my.cnf --user=pxb --password= --socket=/data/mysql/mysql.sock --incremental /data/backup/daily2/ --incremental-basedir=/data/backup/daily1/2018-05-28_23-24-08 --parallel=# cat xtrabackup_checkpoints
backup_type = incremental
from_lsn =
to_lsn =
last_lsn =
compact =
recover_binlog_info = 增量备份的恢复 增量备份的恢复需要有3个步骤:
恢复完全备份
恢复增量备份到完全备份(开始恢复的增量备份要添加--redo-only参数,到最后一次增量备份要去掉--redo-only)
对整体的完全备份进行恢复,回滚未提交的数据
##准备一个全备##
[root@centos6 pxb]# innobackupex --apply-log --redo-only /data/backup/full/2018-05-28_23-15-31/
##将增量1应用到完全备份##
innobackupex --apply-log --redo-only /data/backup/full/2018-05-28_23-15-31/ --incremental-dir=/data/backup/daily1/2018-05-28_23-24-08
##将增量2应用到完全备份,注意不加 --redo-only 参数了##
[root@centos6 pxb]# innobackupex --apply-log /data/backup/full/2018-05-28_23-15-31/ --incremental-dir=/data/backup/daily2/2018-05-28_23-27-08 ##把所有合在一起的完全备份整体进行一次apply操作,回滚未提交的数据##
[root@centos6 pxb]# innobackupex --apply-log /data/backup/full/2018-05-28_23-15-31/
xtrabackup: Log applied to lsn
xtrabackup: The intended lsn is 模拟测试:
mysql> drop table tb2;
Query OK, rows affected (0.05 sec) [root@centos6 mysql]# /etc/init.d/mysqld stop
[root@centos6 mysql]# mv data data_bak2
[root@centos6 mysql]# mkdir data
innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /data/backup/full/2018-05-28_23-15-31/
[root@centos6 mysql]# chown -R mysql:mysql data/
[root@centos6 mysql]# /etc/init.d/mysqld start ##数据已经恢复##
mysql> select * from tb2;
+------+------+
| id | name |
+------+------+
| | aaa |
| | bbb |
| | ccc |
| | zzz |
| | aaa |
| | bbb |
| | ccc |
| | zzz |
+------+------+
rows in set (0.01 sec)

xtrabackup实现全量备份和增量备份的更多相关文章

  1. Centos 6.9 安装xtrabackup-2.4.8 通用包,yum安装,全量备份,增量备份

    xtrabackup-2.4.8的安装及使用 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备 ...

  2. mysql全量备份与增量备份

    mysql全量备份与增量备份   1.全量备份 全量备份就是把数据库中所有的数据进行备份. 备份所有库: mysqldump -uroot -p456 -S /data/3306/mysql.sock ...

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

    原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对In ...

  4. 【运维实战】利用tar -g 实现简单全量备份和增量备份(带演示)

    备份产生 全量备份指完全备份,增量备份指针对上次至今的修改进行备份.linux提供tar -g可实现备份功能. 第一次运行 tar -g 备份存放目录/snapshot -czvf  备份存放目录/备 ...

  5. mysql的全量备份与增量备份

    mysql的全量备份与增量备份 全量备份:可以使用mysqldump直接备份整个库或者是备份其中某一个库或者一个库中的某个表. 备份所有数据库:[root@my ~]# mysqldump -uroo ...

  6. VMware 虚拟化编程(11) — VMware 虚拟机的全量备份与增量备份方案

    目录 目录 前文列表 全量备份数据的获取方式 增量备份数据的获取过程 前文列表 VMware 虚拟化编程(1) - VMDK/VDDK/VixDiskLib/VADP 概念简析 VMware 虚拟化编 ...

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

    Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份) Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对I ...

  8. MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]

    MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...

  9. MySQL系列详解五: xtrabackup实现完全备份及增量备份详解-技术流ken

    xtrabackup简介 xtrabackup是一个用来对mysql做备份的工具,它可以对innodb引擎的数据库做热备.xtrabackup备份和还原速度快,备份操作不会中断正在执行的事务,备份完成 ...

随机推荐

  1. 洛谷P2827 蚯蚓(单调队列)

    题意 初始时有$n$个蚯蚓,每个长度为$a[i]$ 有$m$个时间,每个时间点找出长度最大的蚯蚓,把它切成两段,分别为$a[i] * p$和$a[i] - a[i] * p$,除这两段外其他的长度都加 ...

  2. ls参数

    -a 全部文件 -A 与a差不多,但是不包括.和..开头的两个目录 -d 仅列出目录 -f 直接列出结果,不进行排序 -h 列出文件大小 -i 列出inode的位置,而非列出文件属性 -l 列出长数据 ...

  3. CodeForces 149D Coloring Brackets (区间DP)

    题意: 给一个合法的括号序列,仅含()这两种.现在要为每对括号中的其中一个括号上色,有两种可选:蓝or红.要求不能有两个同颜色的括号相邻,问有多少种染色的方法? 思路: 这题的模拟成分比较多吧?两种颜 ...

  4. ActiveMQ消息丢失怎么解决?

    在消息发送过程中消息丢失的话该怎么解决(包括网络原因): 解决思路: 可以把消息唯一ID,存到表里面,当消息接受端可以获取到这个ID,就给服务端一个回复IF,消息发送出去,没有回复,THEN一直循环发 ...

  5. LinuxShell(脚本如何编译问题)

    想学shell的同学请记住: 如果你写好脚本后不给脚本执行权限那也是不行的: 添加执行权限: chmod +x 脚本名.sh 在Linux shell中有一个脚本编译命令: bash -v 脚本名.s ...

  6. 运行spark自带的例子出错及解决

    以往都是用java运行spark的没问题,今天用scala在eclipse上运行spark的代码倒是出现了错误 ,记录 首先是当我把相关的包导入好后,Run,报错: Exception in thre ...

  7. iOS perform action after period of inactivity (no user interaction)

    代码看完后感觉非常优秀 http://stackoverflow.com/questions/8085188/ios-perform-action-after-period-of-inactivity ...

  8. 79 最长公共子串 (lintcode)

    f[i][j]表示的是以第i个结尾和第j个结尾 class Solution { public: /* * @param A: A string * @param B: A string * @ret ...

  9. 爬虫_python3_requests_2

    pip install requests 进行简单的操作 发送一个get请求 # 发送请求 import requests response = requests.get('http://httpbi ...

  10. python_112_网络编程 Socket编程

    实例1:客户端发小写英文,服务器端返回给客户端大写英文(仅支持一次接受发送) 服务器端: #服务器端(先于客户端运行) import socket server=socket.socket() ser ...