一、innobackupex备份工具

基本选项

--compress:该选项表示压缩innodb数据文件的备份。
--compress-threads:该选项表示并行压缩worker线程的数量。--encrypt:该选项表示通过ENCRYPTION_ALGORITHM的算法加密innodb数据文件的备份,目前支持的算法有ASE128,AES192,AES256。
--encrypt-threads:该选项表示并行加密的worker线程数量。--encrypt-key:该选项使用合适长度加密key,因为会记录到命令行,所以不推荐使用。
--encryption-key-file:该选项表示文件必须是一个简单二进制或者文本文件,加密key可通过以下命令行命令生成:openssl rand -base64 。--user:该选项表示备份账号。
--password:该选项表示备份的密码。
--port:该选项表示备份数据库的端口。
--host:该选项表示备份数据库的地址。
--databases:该选项接受的参数为数据名,如果要指定多个数据库,彼此间需要以空格隔开;如:"xtra_test dba_test",同时,在指定某数据库时,也可以只指定其中的某张表。如:"mydatabase.mytable"。该选项对innodb引擎表无效,还是会备份所有innodb表。此外,此选项也可以接受一个文件为参数,文件中每一行为一个要备份的对象。
--tables-file:该选项表示指定含有表列表的文件,格式为database.table,该选项直接传给--tables-file。
--socket:该选项表示mysql.sock所在位置,以便备份进程登录mysql。
--no-timestamp:该选项可以表示不要创建一个时间戳目录来存储备份,指定到自己想要的备份文件夹。--slave-info:该选项表示对slave进行备份的时候使用,打印出master的名字和binlog pos,同样将这些信息以change master的命令写入xtrabackup_slave_info文件。可以通过基于这份备份启动一个从库。
--safe-slave-backup:该选项表示为保证一致性复制状态,这个选项停止SQL线程并且等到show status中的slave_open_temp_tables为0的时候开始备份,如果没有打开临时表,bakcup会立刻开始,否则SQL线程启动或者关闭知道没有打开的临时表。如果slave_open_temp_tables在--safe-slave-backup-timeount(默认300秒)秒之后不为0,从库sql线程会在备份完成的时候重启。
--rsync:该选项表示通过rsync工具优化本地传输,当指定这个选项,innobackupex使用rsync拷贝非Innodb文件而替换cp,当有很多DB和表的时候会快很多,不能--stream一起使用。--stream:该选项表示流式备份的格式,backup完成之后以指定格式到STDOUT,目前只支持tar和xbstream。
--defaults-file:该选项指定了从哪个文件读取MySQL配置,必须放在命令行第一个选项的位置。
--defaults-extra-file:该选项指定了在标准defaults-file之前从哪个额外的文件读取MySQL配置,必须在命令行的第一个选项的位置。一般用于存备份用户的用户名和密码的配置文件。
----defaults-group:该选项表示从配置文件读取的组,innobakcupex多个实例部署时使用。
--no-lock:该选项表示关闭FTWRL的表锁,只有在所有表都是Innodb表并且不关心backup的binlog pos点,如果有任何DDL语句正在执行或者非InnoDB正在更新时(包括mysql库下的表),都不应该使用这个选项,后果是导致备份数据不一致,如果考虑备份因为获得锁失败,可以考虑--safe-slave-backup立刻停止复制线程。
--tmpdir:该选项表示指定--stream的时候,指定临时文件存在哪里,在streaming和拷贝到远程server之前,事务日志首先存在临时文件里。在 使用参数stream=tar备份的时候,你的xtrabackup_logfile可能会临时放在/tmp目录下,如果你备份的时候并发写入较大的话 xtrabackup_logfile可能会很大(5G+),很可能会撑满你的/tmp目录,可以通过参数--tmpdir指定目录来解决这个问题。--incremental:该选项表示创建一个增量备份,需要指定--incremental-basedir。
--incremental-basedir:该选项表示接受了一个字符串参数指定含有full backup的目录为增量备份的base目录,与--incremental同时使用。
--incremental-dir:该选项表示增量备份的目录。--incremental-lsn:该选项表示指定增量备份的LSN,与--incremental选项一起使用。
--socket:该选项表示mysql.sock所在位置,以便备份进程登录mysql
 

常用选项:

--redo-only合并日志,改选项在prepare base full backup,往其中merge增量备份(不包括最后一个)时使用
--apply-log 准备还原(回滚日志),通过回滚未提交的事物及同步已经提交的事物至数据文件使数据文件处于一致性状态。
--copy-back 恢复数据
--incremental 目录名
--incremental-basedir =增量备份指定上一次备份的目录
--incremental-dir=目录名
--export 到处表信息   import导入表空间
--databases=“库名“ //可指定多个之间用空格分开,不指定默认是全部

解压解密:

--decompress:该选项表示解压--compress选项压缩的文件。
--parallel:该选项表示允许多个文件同时解压。为了解压,qpress工具必须有安装并且访问这个文件的权限。这个进程将在同一个位置移除原来的压缩/加密文件。
--decrypt:该选项表示解密通过--encrypt选项加密的.xbcrypt文件。

还原:

--copy-back:做数据恢复时将备份数据文件拷贝到MySQL服务器的datadir。

普通全量备份、全量恢复:

普通全量备份

##备份所有库,备份目录会生成以日期命名的文件夹

[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=root /root/mysql
[root@localhost ~]# ls /root/mysql
--29_18--

 ##还原
、先prepare,利用--apply-log,作用:通过回滚未提交的事物及同步已经提交的事物至数据文件处于一致状态
[root@localhost ~]# innobackupex --apply-log /root/mysql/--29_18--/

、copy,需要存放数据的目录为空
[root@localhost ~]# innobackupex --datadir=/--29_18--/ (需指定恢复的目录)

、修改数据目录的权限
[root@localhost ~]# chown -R mysql:mysql /var/lib/mysql

##备份所有库,指定备份目录
[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/tmp/mysql.sock  --no-timestamp   /root/mysql
[root@localhost ~]# ls /root/mysql
--29_18-- ibdata1 performance_schema xtrabackup_checkpoints xtrabackup_logfile
backup-my.cnf mysql test xtrabackup_info

##还原同上

备份指定库、指定表,多个库用空格分开

##备份指定库,多个库用空格分开
[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/tmp/mysql.sock --no-timestamp --database="wsy test" /root/mysql
[root@localhost mysql]# ls
backup-my.cnf ibdata1 mysql test xtrabackup_checkpoints xtrabackup_info xtrabackup_logfile

##还原

、先prepare,利用--apply-log,作用:通过回滚未提交的事物及同步已经提交的事物至数据文件处于一致状态
[root@localhost ~]# innobackupex --apply-log /root/mysql/

、copy,因为是部分备份,不能直接用--copy-back,只能手动来复制需要的库,也要复制ibdata(数据字典)

cp -r test/ /var/lib/mysql/
cp -r wsy/ /var/lib/mysql/

、修改权限

###备份指定表
   备份不同库下不同表
[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --no-timestamp --databases="wsy.student  test.student" /root/mysql 

   备份一个库下面的表,支持正则,例:--include=‘^database[.]table’
[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --no-timestamp --include='test.student' /root/mysql

##还原
[root@localhost ~]# innobackupex --apply-log --export  /root/mysql

生成如下文件:
[root@localhost mysql]# ll test/
total
-rw-r--r--  root root  Apr  : student.cfg
-rw-r--r--  root root  Apr  : student.exp
-rw-r-----  root root  Apr  : student.frm
-rw-r-----  root root  Apr  : student.ibd

普通增量备份、恢复:

##全量备份,以单个库为例,也可备份全库
[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --no-timestamp --database="test"  /root/mysql

##增量备份1
[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --no-timestamp --database="test" --incremental /root/mysql1 --incremental-basedir=/root/mysql

##增量备份2
[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --no-timestamp --database="test" --incremental /root/mysql2 --incremental-basedir=/root/mysql1

##还原
、先prepare全备
[root@localhost mysql]# innobackupex --incremental --apply-log --redo-only /root/mysql

、prepare第一次增量
[root@localhost mysql]# innobackupex --incremental --apply-log --redo-only /root/mysql --incremental-dir=/root/mysql1

、prepare第二次增量
[root@localhost mysql]# innobackupex --incremental --apply-log --redo-only /root/mysql --incremental-dir=/root/mysql2
  通过上面的增量恢复,就可以看到全量备份的目录里记录的有最新的lsn。

、最后在prepare全量备份
[root@localhost mysql]# innobackupex  --apply-log --redo-only /root/mysql

、copy,修改权限
部分备份可复制所需要的文件,在修改权限即可。

打包压缩备份:

注:--compress不能和--stream=tar一起使用

##压缩备份

##压缩备份
[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=root  --parallel=3 --compress --compress-threads= --no-timestamp  /root/mysql
[root@localhost mysql]# ll
total
-rw-r-----  root root  Apr  : backup-my.cnf.qp
-rw-r--r--  root root  Apr  : ibdata1
-rw-r-----  root root  Apr  : ibdata1.qp
drwx------  root root  Apr  : mysql
drwx------  root root  Apr  : performance_schema
drwx------  root root  Apr  : test
drwx------  root root  Apr  : wsy
-rw-r-----  root root  Apr  : xtrabackup_checkpoints
-rw-r-----  root root  Apr  : xtrabackup_info.qp
-rw-r-----  root root  Apr  : xtrabackup_logfile.qp

##在prepare之前,需要先解压,需安装qpress
[root@localhost ~]# innobackupex --decompress /root/mysql/

##在prepare
[root@localhost ~]# innobackupex --apply-log  /root/mysql

##copy,修改权限

##打包备份

##打包备份
[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --stream=tar --no-timestamp /root/mysql >/root/mysql/alldb.tar

##解压
[root@localhost mysql]# tar -xf alldb.tar

##还原,copy、修改权限

加密备份:

说明:加密的几个参数,--encrypt、--encrypt-threads、--encrypt-key、--encryption-key-file。其中--encrypt-key、--encryption-key-file不能一起使用。encryption-key需要把加密的密码写到命令行。

##加密备份

##生成加密key:
[root@localhost ~]# openssl rand -base64   > /keyfile

##加密备份
[root@localhost ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --parallel= --compress --compress-threads= --no-timestamp --encrypt=AES256 --encrypt-key-file=/keyfile --encrypt-threads=  /root/mysql

##解密(尚未尝试成功)
[root@localhost mysql]# for i in `find . -iname "*\.xbcrypt"`; do xbcrypt -d --encrypt-key-file=/home/zhoujy/keyfile --encrypt-algo=AES256 < $i > $(dirname $i)/$(basename $i .xbcrypt) && rm $i; done

##解压
[root@localhost ~]# innobackupex --decompress /root/mysql/

##prepare
[root@localhost ~]# innobackupex --apply-log  /root/mysql

##还原
[root@localhost ~]# innobackupex --copy-back  /root/mysql

二、xtrabackup备份工具

XtraBackup是现今为止唯一一款为InnoDB 和XtraDB提供热备的开源工具,这个工具有以下的有点:

(1)备份快速高效而且可靠

(2)备份过程可以做到事物处理不间断

(3)节省磁盘空间和网络带宽

(4)自动备份验证

(5)恢复速度快而高效

extrabackup参数说明:
--user:该选项表示备份账号
--password:该选项表示备份的密码
--port:该选项表示备份数据库的端口
--host:该选项表示备份数据库的地址
--tables=name:正则表达式匹配database.tablename。备份匹配的表
--incremental:该选项表示创建一个增量备份,需要指--incremental-basedir
--no-timestamp:该选项可以表示不要创建一个时间戳目录来存储备份,指定到自己想要的备份文件夹
--backup:创建备份并且放入--target-dir目录中
--target-dir=DIRECTORY:指定backup的目的地,如果目录不存在,xtrabakcup会创建。如果目录存在且为空则成功。不会覆盖已存在的文件。
--parallel=#:指定备份时拷贝多个数据文件并发的进程数,默认值为1
--stream=name:将所有备份文件以指定格式流向标准输出,目前支持的格式有xbstream和tar
--datadir=DIRECTORY:backup的源目录,mysql实例的数据目录。从my.cnf中读取,或者命令行指定 --incremental-basedir 该选项表示接受了一个字符串参数指定含有full backup的目录为增量备份的base目录,与--incremental同时使用 --incremental-dir 该选项表示增量备份的目录,用于数据恢复时使用 --databases 数据库名 --apply-log-only:prepare备份的时候只执行redo阶段,用于增量备份
--defaults-extra-file :该选项指定了在标准defaults-file之前从哪个额外的文件读取MySQL配置,必须在命令行的第一个选项的位置。一般用于存备份用户的用户名和密码的配置文件。
--defaults-file=[MY.CNF]:唯一从给定文件读取默认选项,必须是个真实文件,必须在命令行第一个选项位置指定,可从配置文件读取mysql的datadir目录。
--compress:压缩所有输出数据,包括事务日志文件和元数据文件,通过指定的压缩算法,目前唯一支持的算法是quicklz.结果文件是qpress归档格式,每个xtrabackup创建的*.qp文件都可以通过qpress程序提取或者解压缩
--compress-threads=#:xtrabackup进行并行数据压缩时的worker线程的数量,该选项默认值是1。并行压缩('compress-threads')可以和并行文件拷贝('parallel')一起使用
 例如:--parallel=4 --compress --compress-threads=2'会创建4个IO线程读取数据并通过管道传送给2个压缩线程。
--stream=name:将所有备份文件以指定格式流向标准输出,目前支持的格式有xbstream和tar。
##compress不支持tar格式的压缩,不能连用
--xbstream:支持同时压缩和流式化。需要客服传统归档tar,cpio和其他不允许动态streaming生成的文件的限制,例如动态压缩文件,xbstream超越其他传统流式/归档格式的的优点是,并发stream多个文件并且更紧凑的数据存储(所以可以和--parallel选项选项一起使用xbstream格式进行streaming)

--encrypt:该选项表示通过ENCRYPTION_ALGORITHM的算法加密innodb数据文件的备份,目前支持的算法有ASE128,AES192,AES256

--encrypt-threads:该选项表示并行加密的worker线程数量。

--encryption-key-file:该选项表示文件必须是一个简单二进制或者文本文件,加密key可通过以下命令行命令生成:openssl rand -base64 24。
## 在备份中,备份账号和密码存放在/etc/mysql/xtrabackup.cnf中,用--defaults-extra-file选项指定,格式为:
[client]
user=root
password=root

##生成加密key:

[root@master ~]#openssl rand -base64  
[root@master ~]#echo -n "5V05Dm+aFiRxZ6+sjfplK0K2YlbOplZn" > keyfile
普通全量备份、全量恢复

###全量备份
:指定--defaults-file
[root@master ~]#xtrabackup --defaults-file=/etc/my.cnf --user=root --password=root --backup --target-dir=/root/mysql
:用--datadir取代--defaults-file
[root@master ~]#xtrabackup  --user=root --password=root  --datadir=/data/mysql  --parallel= --backup --target-dir=/root/mysql

###全量恢复
)(关闭mysql)先prepare
[root@master ~]#xtrabackup  --prepare  --target-dir=/root/mysql

)在拷贝到数据库目录
[root@master ~]#cp -r /root/mysql/*   /data/mysql

3)修改权限
[root@master ~]#chown -R mysql:mysql  /data/mysql

--datadir :backup的源目录,mysql实例的数据目录。从my.cnf中读取,或者命令行指定。
--host:该选项表示备份数据库的地址。
--no-timestamp:该选项可以表示不要创建一个时间戳目录来存储备份,指定到自己想要的备份文件夹。
--backup:创建备份并且放入--target-dir目录中。
--parallel:指定备份时拷贝多个数据文件并发的进程数,默认值为1。
--compress:该选项表示压缩innodb数据文件的备份。
--compress-threads:该选项表示并行压缩worker线程的数量。
--stream:该选项表示流式备份的格式,backup完成之后以指定格式到STDOUT,目前只支持tar和xbstream。
--encrypt:该选项表示通过ENCRYPTION_ALGORITHM的算法加密innodb数据文件的备份,目前支持的算法有ASE128,AES192,AES256。
--encrypt-threads:该选项表示并行加密的worker线程数量。
--encryption-key-file:该选项表示文件必须是一个简单二进制或者文本文件,加密key可通过以下命令行命令生成:openssl rand -base64 24。

普通增量备份及还原:
###全量备份
[root@master ~]# xtrabackup  --user=root --password=root --datadir=/ --database="xtra_test"   --backup --target-dir=/root/mysqlbak
###增量备份
[root@master ~]#xtrabackup --user=root --password=root --datadir=/ --databases="xtra_test" --target-dir=/root/mysqlbak2 --incremental-basedir=/root/mysqlbak
###还原
、先prepare全备
xtrabackup --prepare --apply-log-only --target-dir=/root/mysqlbak

、再prepare增量备份
xtrabackup --prepare --apply-log-only --target-dir=/root/mysqlbak --incremental-dir=/root/mysqlbak2

、最后prepare 全备
xtrabackup --prepare --target-dir=/root/mysqlbak
、最后copy、改权限。

 打包压缩备份

    注意:--compress不能和--stream=tar一起使用

##压缩备份
##压缩备份
[root@master ~]#xtrabackup --user=root --password=root --datadir=/ --compress --compress-threads=  --target-dir=/root/mysql  
#解压,在perpare之前需要安装qpress网址:http://www.quicklz.com/
[root@master ~]#for f in `find ./ -iname "*\.qp"`; do qpress -dT2 $f $(dirname $f) && rm -f $f; done
#prepare全备
[root@master ~]#xtrabackup --prepare --target-dir=/root/mysql
#copy,改权限

##打包压缩备份
##打包压缩备份,compress不支持tar
[root@master ~]#xtrabackup --user=root --password=root --datadir=/ --compress --compress-threads=  --stream=xbstream --target-dir=/root/mysql >/root/mysql/alldb.xbstream
#解包
[root@master ~]#xbstream -x < alldb.xbstream

#解压
[root@master ~]#for f in `find ./ -iname "*\.qp"`; do qpress -dT2 $f $(dirname $f) && rm -f $f; done 

#prepare全备
[root@master ~]#xtrabackup --prepare --target-dir=/root/mysql

#copy,改权限
##第三方压缩备份
##第三方压缩备份:
 [root@master~]#xtrabackup --user=root --password=root --datadir=/ --stream=tar --target-dir=/root/mysql | gzip /root/mysql/alldb.tar.gz

#解压:
[root@master~]#tar izxvf alldb.tar.gz

#prepare
[root@master~]#xtrabackup --prepare --target-dir=/home/zhoujy/xtrabackup

#copy,改权限

##加密备份

#压缩加密全量备份所有数据库
:生成加密key:
[root@master~]#openssl rand -base64
把Key写到文件:
[root@master~]#echo -n "Ue2Wp6dIDWszpI76HQ1u57exyjAdHpRO" > keyfile 
:压缩加密全量备份
[root@master~]#xtrabackup --user=root --password=root --datadir=/ --parallel=5 --encrypt=AES256 --encrypt-key-file=/root/keyfile ----encrypt-threads=  --target-dir=/root/mysql/

#还原
:解密
[root@master~]#for i in `find . -iname "*\.xbcrypt"`; do xbcrypt -d --encrypt-key-file=/root/keyfile --encrypt-algo=AES256 < $i > $(dirname $i)/$(basename $i .xbcrypt) && rm $i; done

:解压
[root@master~]#for f in `find ./ -iname "*\.qp"`; do qpress -dT2 $f  $(dirname $f) && rm -f $f; done 

:prepare
[root@master~]#xtrabackup --prepare --target-dir=/root/mysql/

:copy,改权限
[root@master~]#rsync -avrP /root/mysql/* /var/lib/mysql/
[root@master~]#chown -R mysql.mysql /var/lib/mysql

注:若备份数据量过大时,需备份命令放到后台执行,防止终端断开,命令终止备份失败,也可备份命令放到脚本中,放入后台运行!!!!。

##备份脚本

#!/bin/bash
user='root'
password='root'
#database=prism1
my_config='/etc/my.cnf'
log='/root/mysql.log'
Time=`date +'%Y%m%d %H%M'`
backup_dir='/root/mysql'
echo "Start to backup at $Time" >> $log
if [ ! -d "$backup_dir" ];then
    mkdir -p $backup_dir
fi
#innobackupex --defaults-file=$my_config --user=$user --password=$passwd --socket=/tmp/mysql.sock --stream=tar $backup_dir >$backup_dir/$log | gzip >$backup_dir/$str
xtrabackup  --defaults-file=/etc/my.cnf  --user=$user --password=$password  --backup --parallel= --compress --compress-threads=  --stream=xbstream  --target-dir=${backup_dir}   >> $log  > ${backup_dir}/alldb.xbstream
 ];then
    echo "Backup is finish! at $Time" >> $log
    exit
else
    echo "Backup is Fail! at $Time" >> $log
    exit
fi

[root@localhost ~]# sh mysqlbackup.sh &

 

Mysql备份之Innobakcupex&Xtrabackup的更多相关文章

  1. MySQL备份,使用xtrabackup备份全实例数据时,会造成锁等待吗?那么如果使用mysqldump进行备份呢?

    一.xtrabackup和mysqldump会造成锁等待吗? xtrabackup会,它在备份时会产生短暂的全局读锁FTWL(flush table with read lock),用于拷贝frm/M ...

  2. Mysql 备份恢复与xtrabackup备份

  3. XtraBackup物理备份 阿里云的Mysql备份方案

    XtraBackup物理备份 Percona XtraBackup是世界上唯一的开源,免费的MySQL热备份软件,为InnoDB和XtraDB 数据库执行非阻塞备份.使用Percona XtraBac ...

  4. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

  5. mysql备份工具 :mysqldump mydumper Xtrabackup 原理

    备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...

  6. MySQL备份利器-xtrabackup的介绍和原理(附脑图)

    标签(linux): mysql-xtrabackup 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 xtrabackup是Percona公司针对mysql数据 ...

  7. MariaDB/MySQL备份和恢复(三):xtrabackup用法和原理详述

    本文目录: 1.安装xtrabackup 2.备份锁 3.xtrabackup备份原理说明 3.1 备份过程(backup阶段) 3.2 准备过程(preparing阶段) 3.3 恢复过程(copy ...

  8. xtrabackup备份(MySQL备份)与恢复

    xtrabackup备份(MySQL备份)与恢复 1. innobackupex参数选项 --no-timestamp: 不创建一个时间戳 --defaults-file=[MY.CNF] //指定配 ...

  9. 使用第三方工具Xtrabackup进行MySQL备份

    使用Xtrabackup进行MySQL备份: 一.安装 1.简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtr ...

随机推荐

  1. win10系统的快捷键

    1.win10特有的快捷键:任务视图和虚拟桌面相关 (1)Win + Tab:查看任务视图 (2)Win + Ctrl + D:在任务视图中新建虚拟桌面 (3)Win + Ctrl + F4:关闭当前 ...

  2. mybatis框架入门程序:演示通过mybatis实现数据库的删除操作

    1.mybatis的基本配置工作可以在我的这篇博客中查看:https://www.cnblogs.com/wyhluckdog/p/10149480.html 2.删除用户的映射文件: <!-- ...

  3. Java Thread系列(四)线程通信

    Java Thread系列(四)线程通信 一.传统通信 public static void main(String[] args) { //volatile实现两个线程间数据可见性 private ...

  4. 尝试编写的rabbitmq+spring 框架

    spring有自己的一套框架与消息队列结合使用http://projects.spring.io/spring-amqp/,这个接下来会好好的研究一下. 在领导的帮助下,终于勉强写完了这个消息队列的框 ...

  5. Caffe 议事(一):从零开始搭建 ResNet 之 残差网络结构介绍和数据准备

    声明:Caffe 系列文章是我们实验室 黄佳斌 大神所写的内部学习文档,已经获得他的授权允许. 本参考资料是在 Ubuntu14.04 版本下进行,并且默认 Caffe 所需的环境已经配置好,下面教大 ...

  6. K8S中RC与Deployment的区别

    原文:http://fx114.net/qa-81-152379.aspx replication controller与deployment的区别 replication controller Re ...

  7. Shell 常用命令总结

      Shell常用命令总结 1  ls命令:列出文件 ls -la 列出当前目录下的所有文件和文件夹 ls a* 列出当前目录下所有以a字母开头的文件 ls -l *.txt 列出当前目录下所有后缀名 ...

  8. CSS —— line-height详解

    本文导读:“行高“指一行文子的高度,具体来说是指两行文子间基线间的距离.在CSS,line-height被用来控制行与行之间的垂直距离.line-height 属性会影响行框的布局.在应用到一个块级元 ...

  9. C++11新标准学习

    <深入理解C++11:C++11新特性解析与应用> <华章科技:深入理解C++11:C++11新特性解析与应用>一共8章:第1章从设计思维和应用范畴两个维度对C++11新标准中 ...

  10. handsontable-integrations

    jquery:可以通过$选择元素 bootstrap:使用bootstrap,有些样式需要重置 backbone:整合