使用xtrabackup(innobackupex)实现MySQL的热备
mysql 的热备
http://www.178linux.com/10139
http://www.linuxidc.com/Linux/2014-04/99671.htm
http://634871.blog.51cto.com/624871/1351049
http://www.cnblogs.com/galengao/p/5755835.html
http://heylinux.com/archives/3777.html
遇到问题,解决链接
http://blog.csdn.net/sqlserverdiscovery/article/details/52856949
这里我们使用XtraBackup来实现MySQL的热备
XtraBackup取代innodbbackup的工具并且XtraBackup能够完全兼容innodb存储引擎,并对innodb存储引擎实现完全的物理层的热备。
但是缺憾就是对MyISAM表格只能做温备,而且不支持增量备份
XtraBackup更多高级特性通常只能在innodb存储引擎上实现,而且高级特性还都依赖于mysql数据库对innodb引擎实现了单独表空间,否则没办法实现单表或单库导出
所以这里我们先检查一下MySQL中的表是不是使用了每个表都单独的使用表空间,如果不是的话,将其修改成每表单独表空间
mysql> show global variables like '%innodb_file_p%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
1 row in set (0.00 sec)
如果这里是OFF的话,我们就要开启这个功能
将来一旦要用到xtrabackup或各种高级功能的话建议刚安装mysql的时候直接将默认配置去写进配置文件,中途再更改的话会非常麻烦
加入说我们现在是OFF状态的话,我们需要先停数据库
然后使用mysqldump 全备份
mysqldump -uroot --lock-all-tables --all-databases --master-data=2 --events> /bak/all.sql
编辑配置文件加入以下参数
vim /etc/my.cnf
添加如下
innodb_file_per_table= 1
而后删除数据文件并重新初始化
[root@test2 data]#pwd
/mydata/data
[root@test2 data]# rm -fr *
重新初始化:
[root@test mysql]# scripts/mysql_install_db --user=mysql--datadir=/mydata/data/ --basedir=/usr/local/mysql/
重启数据库
/etc/init.d/mysqld start
mysql> showglobal variables like '%innodb_file_per%';
然后就是恢复数据了
mysql> source /bak/all.sql
现在,绝大多数使用MySQL的场景中,都用到了Master-Slave这样的架构。相对于mysqldump而言,使用innobackupex备份有以下好处:
1. 以数据文件为备份对象,文件级别备份,速度快,尤其适合需要对所有数据进行备份的场景;
2. 热备份,不会对现有的数据库访问造成影响;
3. 记录binlog以及replication相关信息,在创建和恢复Slave时非常有用;
4. 支持对备份后的数据进行同步并行压缩,有效节省磁盘空间;
目前,在我们的线上环境中,数据库的大小,在没有压缩之前为500G左右,压缩之后的大小为90G左右。
而在风哥的环境中,数据库的大小已经超过了1T,以下是风哥的几点补充:
1.用innobackupex可以做到不停业务在线备份,前提是对innodb引擎,对myisam也会锁表;
2.在备份过程会导致IO很高,建议在一台slave上做备份(一般用一台slave只做备份用),不建议在主上备份;
3.innobackupex可以用增量与全量备份方式配合;
现在来说一下全备份
# 指定备份某一数据库
[root@client103 ~]#innobackupex --defaults-file=/data/usr/local/mysql56/my.cnf --user=root --password=kongzhong123 --port=3306 --socket=/data/dbdata/3306/mysql.sock /data/bak_dir/mysql/3306/full/ > /data/bak_dir/mysql/3306/innoback.log 2>&1
# 备份所有的数据库
[root@client103 backup]# innobackupex --defaults-file=/data/usr/local/mysql56/my.cnf --user=root --password=kongzhong123 --port=3306 --socket=/data/dbdata/3306/mysql.sock /data/bak_dir/mysql/3306/full/ > /data/bak_dir/mysql/3306/innoback.log 2>&1
# 注:还原时,需要清空数据目录,所以建议备份的话,执行全库备份
# 备份完成后,应用日志,是备份的数据保持一致[ /data/bak_dir/mysql/3306/full/为备份存放的位置]
innobackupex --apply-log --defaults-file=/data/usr/local/mysql56/my.cnf --user=root --password=kongzhong123 --port=3306 --socket=/data/dbdata/3306/mysql.sock /data/bak_dir/mysql/3306/full/2017-02-15_13-58-26
# 利用刚才的备份进行数据库还原
这里我们模仿数据丢失,然后我们关闭数据库,执行恢复操作
truncate table user_admin;
service mysql_3306 stop
cd /data/dbdata/3306
mv data data_bak
mkdir data
innobackupex --copy-back --defaults-file=/data/usr/local/mysql56/my.cnf --socket=/data/dbdata/3306/mysql.sock /data/bak_dir/mysql/3306/full/
我在做copy-back这一步总是报错,报错内容为:Original data directory '.' is not empty
网上查找资料说要指定数据文件的目录,所以这里我添加一个--datadir,指定一下路径
innobackupex --copy-back --defaults-file=/data/usr/local/mysql56/my.cnf --socket=/data/dbdata/3306/mysql.sock --datadir=/data/dbdata/3306/data /data/bak_dir/mysql/3306/full/2017-02-15_14-55-03/
chown mysql.mysql data -R
/etc/init.d/mysql start
我们再来看看数据都恢复了
但是要是在生产环境下的话,建议使用在从库上进行备份。但是我们还要注意主库上的二进制日志(可以给这个也做一下切割备份)
现在我来做一下主从,首先我来在从库上装一下MySQL
主从的安装文章参考:http://www.cnblogs.com/smail-bao/p/6405313.html
现在我们来在从库上操作一下备份
- 创建全备和增备的目录
- [root@bao-work-2 ~]# mkdir -p /data/bak_dir/mysql/3306/{full,incre}
- 现在分为常规的备份方式和压缩的备份方式
- 常规的备份方式为:
- innobackupex --defaults-file=/data/dbdata/3306/my.cnf --user=root --password=kongzhong123 --port=3306 --socket=/data/dbdata/3306/mysql.sock --slave-info --safe-slave-backup /data/bak_dir/mysql/3306/full/ > /data/bak_dir/mysql/3306/full/full.log 2>&1
- innobackupex --apply-log --defaults-file=/data/dbdata/3306/my.cnf --socket=/data/dbdata/3306/mysql.sock --datadir=/data/dbdata/3306/data /data/bak_dir/mysql/3306/full/2017-02-16_14-49-26
- /etc/init.d/mysql stop (要是不先执行这一步的话,等会再重启的时候会报错,关mysql都关不掉)
- mv data data_bak
- mkdir data
- innobackupex --copy-back --defaults-file=/data/dbdata/3306/my.cnf --socket=/data/dbdata/3306/mysql.sock --datadir=/data/dbdata/3306/data /data/bak_dir/mysql/3306/full/2017-02-16_14-49-26
- chown mysql.mysql data -R
- /etc/init.d/mysql_3306 start
- 启动成功
- 现在我们回到上面的问题
- 加入我们现在备份成功,遇到一个问题就是一个人把你的data目录给删除了
- 但是你通过 ps -ef | grep mysql 发现还是有进程
- 你现在要做的就是通过备份恢复数据
- mkdir data
- innobackupex --copy-back --defaults-file=/data/dbdata/3306/my.cnf --socket=/data/dbdata/3306/mysql.sock --datadir=/data/dbdata/3306/data /data/bak_dir/mysql/3306/full/2017-02-16_14-49-26
- chown mysql.mysql data -R
- [root@bao-work-2 3306]# /etc/init.d/mysql_3306 restart
- MySQL server PID file could not be found! [失败]
- Starting MySQL...The server quit without updating PID file [失败]/dbdata/3306/data/bao-work-2.pid).
- 我们发现重启的时候报错了
- 这个时候就需要我们手动的去kill 掉MySQL的进程了
- for i in $(ps -ef | grep mysql | grep -v 'grep' | awk '{print $2}');do kill -9 $i;done
- 然后我们去启动数据库
- /etc/init.d/mysql_3306 start
- 这样我们就看到MySQL数据回来了
- 但是还有一点要注意的是,我们要去恢复主从同步。
我们要看一下从库上面的备份文件下的xtrabackup_slave_info的文件内容
[root@bao-work-2 2017-02-16_14-49-26]# cat xtrabackup_info
uuid = 1bbe50b3-f414-11e6-b6ed-000c29831a2e
name =
tool_name = innobackupex
tool_command = --defaults-file=/data/dbdata/3306/my.cnf --user=root --password=... --port=3306 --socket=/data/dbdata/3306/mysql.sock --slave-info --safe-slave-backup /data/bak_dir/mysql/3306/full/
tool_version = 2.3.3
ibbackup_version = 2.3.3
server_version = 5.6.23-log
start_time = 2017-02-16 14:49:26
end_time = 2017-02-16 14:49:48
lock_time = 0
binlog_pos = filename 'mysql-bin.000006', position '120'
innodb_from_lsn = 0
innodb_to_lsn = 10005906
partial = N
incremental = N
format = file
compact = N
compressed = N
encrypted = N- 然后我们进入MySQL执行下面的操作
change master to
master_host='10.230.200.19',
master_port=3306,
master_user='repl',
master_password='kongzhong789',
master_log_file='mysql-bin.000006',
master_log_pos=120;- start slave;
show slave status\G;
接下来我们要看的就是从库MySQL的增量备份和恢复
指定MySQL备份方案
每天一次的完整备份+两次增量备份
在每次备份的时候都会产生日志,反正也不大可以保存下来
1.完整备份
- innobackupex --defaults-file=/data/dbdata/3306/my.cnf --user=root --password=kongzhong123 --port=3306 --socket=/data/dbdata/3306/mysql.sock --no-lock --slave-info --safe-slave-backup --compress --compress-threads=8 /data/bak_dir/mysql/3306/full/ > /data/bak_dir/mysql/3306/full.log 2>&1
2.第一次增量备份
- innobackupex --defaults-file=/data/dbdata/3306/my.cnf --user=root --password=kongzhong123 --port=3306 --socket=/data/dbdata/3306/mysql.sock --no-lock --slave-info --safe-slave-backup --compress --compress-threads=8 --incremental /data/bak_dir/mysql/3306/incre --incremental-basedir=/data/bak_dir/mysql/3306/full/2017-02-16_16-09-42 >/data/bak_dir/mysql/3306/incre1.log 2>&1
3.第二次增量备份
- innobackupex --defaults-file=/data/dbdata/3306/my.cnf --user=root --password=kongzhong123 --port=3306 --socket=/data/dbdata/3306/mysql.sock --no-lock --slave-info --safe-slave-backup --compress --compress-threads=8 --incremental /data/bak_dir/mysql/3306/incre --incremental-basedir=/data/bak_dir/mysql/3306/incre/2017-02-16_16-17-32 >/data/bak_dir/mysql/3306/incre2.log 2>&1
恢复
取回完整备份
- innobackupex --defaults-file=/data/dbdata/3306/my.cnf --socket=/data/dbdata/3306/mysql.sock --decompress --parallel=4 /data/bak_dir/mysql/3306/full/2017-02-16_16-09-42
报错:
- 在执行上面shell的时候遇到一个错误
- sh: qpress: command not found
- 解决办法
- cd /data/tools
- wget http://www.quicklz.com/qpress-11-linux-x64.tar
- tar xvf qpress-11-linux-x64.tar
- cp qpress /usr/bin
- 然后再执行上面的操作
取回完整备份
- innobackupex --defaults-file=/data/dbdata/3306/my.cnf --socket=/data/dbdata/3306/mysql.sock --decompress --parallel=4 /data/bak_dir/mysql/3306/full/2017-02-16_16-09-42
下面为执行后输出内容
- 170216 16:39:11 innobackupex: Starting the decrypt and decompress operation
- IMPORTANT: Please check that the decrypt and decompress run completes successfully.
- At the end of a successful decrypt and decompress run innobackupex
- prints "completed OK!".
- innobackupex version 2.3.3 based on MySQL server 5.6.24 Linux (x86_64) (revision id: 525ca7d)
- 170216 16:39:11 [02] decompressing ./xtrabackup_slave_info.qp
- 170216 16:39:11 [03] decompressing ./backup-my.cnf.qp
- 170216 16:39:11 [04] decompressing ./ibdata1.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_admin_role_priv.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_pre_auth_trade.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/uc_t_role_fun.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/uc_t_role.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_history_yield.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/act_t_activity.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/servers.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_console_menu.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_withdraw_deposit_order.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_xmas_count.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/crm_person_info.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_admin_role.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/help_relation.MYI.qp
- 170216 16:39:11 [01] decompressing ./mysql/slave_worker_info.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/servers.MYD.qp
- 170216 16:39:11 [02] decompressing ./mysql/help_relation.MYD.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_licai_project_info.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_third_interface_log.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/uc_t_role.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/cd_t_withdraw.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_city.MYD.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_withdraw_deposit_order.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/db.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/ndb_binlog_index.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_area.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/uc_t_department.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_city.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_oauth_info.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_province.MYD.qp
- 170216 16:39:11 [01] decompressing ./mysql/help_topic.MYI.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_my_hongbao_info.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_question.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_account_detail.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_awards_xmas.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_templet_field.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/tables_priv.MYD.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_admin.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_licai_project_info.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_grant_record.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/plugin.MYI.qp
- 170216 16:39:11 [02] decompressing ./mysql/uc_t_role_authority.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_company_user.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/user.MYI.qp
- 170216 16:39:11 [02] decompressing ./mysql/con_t_credit_pro.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/time_zone_name.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/uc_t_staff.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/act_t_lottery_coupon.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/crm_t_banks.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/time_zone_leap_second.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/uc_t_staff.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/procs_priv.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_borrower_info.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/cd_t_credit_info.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/servers.MYI.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_operation_log.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/act_t_awards_info.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/tables_priv.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_project_tag.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/crm_t_car_info.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_district.MYI.qp
- 170216 16:39:11 [03] decompressing ./mysql/innodb_index_stats.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/ndb_binlog_index.MYI.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_game.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_pre_auth_trade.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/tpp_t_repayment.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_text_content.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/event.MYD.qp
- 170216 16:39:11 [02] decompressing ./mysql/slave_worker_info.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_active.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/uc_t_staff_role.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_district.MYD.qp
- 170216 16:39:11 [02] decompressing ./mysql/slave_relay_log_info.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_question.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/crm_agent_company_info.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/help_topic.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_my_hongbao_info.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/uc_t_role_fun.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_admin_role_priv.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/columns_priv.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/cd_t_credit_info.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/help_relation.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/help_category.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_hongbao_batch_info.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/general_log.CSM.qp
- 170216 16:39:11 [01] decompressing ./mysql/uc_t_function.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_licai_order_info.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_ad_info.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/help_category.MYI.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_template.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_console_menu.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_sms_log.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_district.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/ft_t_credit_detail_info.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/user.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_reimburse_order.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/ft_t_tender_plan.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/time_zone_leap_second.MYD.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_news_info.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_dict.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/sys_t_log.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/tpp_t_transfer.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_licai_project_detail_info.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_award_num.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_user_info.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/proxies_priv.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/con_t_fortune_pro.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/procs_priv.MYI.qp
- 170216 16:39:11 [04] decompressing ./mysql/con_t_fortune_pro.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_project_category.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/time_zone_transition.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/proc.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_touzi_summary.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/slow_log.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_new_project_limit.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/slow_log.CSM.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_user_info.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_question_answer.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_hongbao_type.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/innodb_table_stats.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_active.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_total_user.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/time_zone.MYI.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_awards_xmas.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/crm_agent_person_info.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/ndb_binlog_index.MYD.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_operation_log.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/crm_t_attachment.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/crm_person_info.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/uc_t_staff_role.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_history_yield.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/crm_agent_company_info.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_touzi_summary.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_xmas_count.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_sms_log.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/time_zone_name.MYD.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_question_answer.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_xmas_record.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_menu.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_project_status_event.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_login_award.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/uc_t_role_authority.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_borrower_info.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/event.MYI.qp
- 170216 16:39:11 [04] decompressing ./mysql/func.MYI.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_oauth_info.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_news_info.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_award.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/proc.MYI.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_area.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_account_detail.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_licai_order_info.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/columns_priv.MYD.qp
- 170216 16:39:11 [02] decompressing ./mysql/help_keyword.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/db.MYI.qp
- 170216 16:39:11 [03] decompressing ./mysql/slave_master_info.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/slave_master_info.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/uc_t_login_info.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/slave_relay_log_info.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_new_project_limit.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_game.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/proxies_priv.MYD.qp
- 170216 16:39:11 [01] decompressing ./mysql/innodb_index_stats.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_licai_project_detail_info.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_project_tag.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_award_num.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_text_content.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/plugin.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_console_dictionary.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_menu.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_province.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/ft_t_credit_detail_info.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_admin.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/time_zone_transition.MYD.qp
- 170216 16:39:11 [02] decompressing ./mysql/help_category.MYD.qp
- 170216 16:39:11 [01] decompressing ./mysql/time_zone_leap_second.MYI.qp
- 170216 16:39:11 [03] decompressing ./mysql/sys_t_login_logger.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/crm_t_attachment.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_user_message_info.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/columns_priv.MYI.qp
- 170216 16:39:11 [03] decompressing ./mysql/sys_t_login_logger.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/ft_t_tender_plan_credit.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_xmas_record.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/proc.MYD.qp
- 170216 16:39:11 [01] decompressing ./mysql/cd_t_withdraw.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/tables_priv.MYI.qp
- 170216 16:39:11 [02] decompressing ./mysql/tpp_t_transfer.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/time_zone_transition.MYI.qp
- 170216 16:39:11 [01] decompressing ./mysql/time_zone_name.MYI.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_project_category.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/time_zone_transition_type.MYI.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_grant_record.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_xmas_user.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/act_t_lottery_coupon.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_province.MYI.qp
- 170216 16:39:11 [03] decompressing ./mysql/crm_t_company_info.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/crm_t_company_info.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_award.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/t_admin_role.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_city.MYI.qp
- 170216 16:39:11 [02] decompressing ./mysql/ft_t_tender_plan.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_hongbao_batch_info.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/time_zone.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/ft_t_tender_plan_credit.ibd.qp
- 170216 16:39:11 [01] decompressing ./mysql/uc_t_login_info.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/innodb_table_stats.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/proxies_priv.MYI.qp
- 170216 16:39:11 [04] decompressing ./mysql/crm_t_third_info.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_console_dictionary.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/sys_t_log.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/cd_t_payment.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/help_topic.MYD.qp
- 170216 16:39:11 [03] decompressing ./mysql/uc_t_function.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_template.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/t_reimburse_order.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/crm_t_third_info.ibd.qp
- 170216 16:39:11 [04] decompressing ./mysql/cd_t_payment.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/crm_agent_person_info.frm.qp
- 170216 16:39:11 [01] decompressing ./mysql/cd_t_audit_info.ibd.qp
- 170216 16:39:11 [03] decompressing ./mysql/act_t_lottery_count.frm.qp
- 170216 16:39:11 [02] decompressing ./mysql/tpp_t_repayment.frm.qp
- 170216 16:39:11 [04] decompressing ./mysql/procs_priv.MYD.qp
- 170216 16:39:11 [01] decompressing ./mysql/t_company_application.frm.qp
- 170216 16:39:11 [03] decompressing ./mysql/t_project_status_event.ibd.qp
- 170216 16:39:11 [02] decompressing ./mysql/time_zone_transition_type.MYD.qp
- 170216 16:39:12 [01] decompressing ./mysql/act_t_awards_info.frm.qp
- 170216 16:39:12 [04] decompressing ./mysql/func.MYD.qp
- 170216 16:39:12 [03] decompressing ./mysql/t_third_interface_log.ibd.qp
- 170216 16:39:12 [02] decompressing ./mysql/general_log.CSV.qp
- 170216 16:39:12 [03] decompressing ./mysql/t_templet_field.ibd.qp
- 170216 16:39:12 [01] decompressing ./mysql/t_dict.frm.qp
- 170216 16:39:12 [04] decompressing ./mysql/slow_log.CSV.qp
- 170216 16:39:12 [02] decompressing ./mysql/help_keyword.MYD.qp
- 170216 16:39:12 [01] decompressing ./mysql/user.MYD.qp
- 170216 16:39:12 [03] decompressing ./mysql/t_company_repayment_order.frm.qp
- 170216 16:39:12 [01] decompressing ./mysql/act_t_lottery_count.ibd.qp
- 170216 16:39:12 [04] decompressing ./mysql/cd_t_audit_info.frm.qp
- 170216 16:39:12 [02] decompressing ./mysql/t_login_award.frm.qp
- 170216 16:39:12 [03] decompressing ./mysql/t_company_application.ibd.qp
- 170216 16:39:12 [04] decompressing ./mysql/t_service.frm.qp
- 170216 16:39:12 [01] decompressing ./mysql/t_company_user.ibd.qp
- 170216 16:39:12 [02] decompressing ./mysql/t_newbie_guide.frm.qp
- 170216 16:39:12 [03] decompressing ./mysql/func.frm.qp
- 170216 16:39:12 [01] decompressing ./mysql/t_company_repayment_order.ibd.qp
- 170216 16:39:12 [04] decompressing ./mysql/t_ad_info.frm.qp
- 170216 16:39:12 [02] decompressing ./mysql/plugin.MYD.qp
- 170216 16:39:12 [03] decompressing ./mysql/t_newbie_guide.ibd.qp
- 170216 16:39:12 [01] decompressing ./mysql/crm_t_banks.ibd.qp
- 170216 16:39:12 [04] decompressing ./mysql/t_hongbao_type.ibd.qp
- 170216 16:39:12 [02] decompressing ./mysql/crm_t_car_info.ibd.qp
- 170216 16:39:12 [01] decompressing ./mysql/t_user_message_info.ibd.qp
- 170216 16:39:12 [04] decompressing ./mysql/t_total_user.ibd.qp
- 170216 16:39:12 [03] decompressing ./mysql/uc_t_department.frm.qp
- 170216 16:39:12 [02] decompressing ./mysql/time_zone.MYD.qp
- 170216 16:39:12 [01] decompressing ./mysql/t_xmas_user.ibd.qp
- 170216 16:39:12 [04] decompressing ./mysql/cd_t_deposite.frm.qp
- 170216 16:39:12 [03] decompressing ./mysql/cd_t_deposite.ibd.qp
- 170216 16:39:12 [02] decompressing ./mysql/act_t_activity.frm.qp
- 170216 16:39:12 [01] decompressing ./mysql/t_service.ibd.qp
- 170216 16:39:12 [03] decompressing ./mysql/time_zone_transition_type.frm.qp
- 170216 16:39:12 [04] decompressing ./mysql/con_t_credit_pro.frm.qp
- 170216 16:39:12 [02] decompressing ./mysql/help_keyword.MYI.qp
- 170216 16:39:12 [04] decompressing ./mysql/general_log.frm.qp
- 170216 16:39:12 [01] decompressing ./mysql/event.frm.qp
- 170216 16:39:12 [03] decompressing ./mysql/db.MYD.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/events_statements_summary_by_digest.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/events_statements_history.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/events_waits_summary_by_instance.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/threads.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/setup_consumers.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/events_stages_history_long.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/cond_instances.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/events_statements_current.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/file_instances.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/session_connect_attrs.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/events_waits_summary_global_by_event_name.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/accounts.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/events_statements_summary_by_host_by_event_name.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/events_waits_current.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/users.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/events_waits_summary_by_host_by_event_name.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/events_statements_history_long.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/events_waits_summary_by_user_by_event_name.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/table_io_waits_summary_by_table.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/db.opt.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/setup_timers.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/events_stages_summary_by_account_by_event_name.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/events_statements_summary_global_by_event_name.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/socket_instances.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/events_stages_summary_by_thread_by_event_name.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/hosts.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/file_summary_by_event_name.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/file_summary_by_instance.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/mutex_instances.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/events_stages_current.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/performance_timers.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/socket_summary_by_event_name.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/events_statements_summary_by_account_by_event_name.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/setup_instruments.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/events_stages_history.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/events_stages_summary_by_host_by_event_name.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/events_waits_history_long.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/socket_summary_by_instance.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/host_cache.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/session_account_connect_attrs.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/events_statements_summary_by_thread_by_event_name.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/events_waits_summary_by_account_by_event_name.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/objects_summary_global_by_type.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/table_lock_waits_summary_by_table.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/events_stages_summary_global_by_event_name.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/table_io_waits_summary_by_index_usage.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/setup_actors.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/events_waits_history.frm.qp
- 170216 16:39:12 [02] decompressing ./performance_schema/rwlock_instances.frm.qp
- 170216 16:39:12 [04] decompressing ./performance_schema/events_statements_summary_by_user_by_event_name.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/setup_objects.frm.qp
- 170216 16:39:12 [01] decompressing ./performance_schema/events_stages_summary_by_user_by_event_name.frm.qp
- 170216 16:39:12 [03] decompressing ./performance_schema/events_waits_summary_by_thread_by_event_name.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_admin_role_priv.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_pre_auth_trade.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/uc_t_role_fun.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/uc_t_role.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_history_yield.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/act_t_activity.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_console_menu.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_withdraw_deposit_order.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_xmas_count.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/crm_person_info.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_admin_role.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_licai_project_info.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_third_interface_log.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/uc_t_role.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/cd_t_withdraw.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_city.MYD.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_withdraw_deposit_order.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_area.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/uc_t_department.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_city.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_oauth_info.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_province.MYD.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_my_hongbao_info.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_question.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_account_detail.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_awards_xmas.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_templet_field.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_admin.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_licai_project_info.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_grant_record.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/uc_t_role_authority.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_company_user.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/con_t_credit_pro.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/uc_t_staff.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/act_t_lottery_coupon.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/crm_t_banks.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/uc_t_staff.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_borrower_info.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/cd_t_credit_info.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_operation_log.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/act_t_awards_info.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_project_tag.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/crm_t_car_info.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_district.MYI.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_game.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_pre_auth_trade.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/tpp_t_repayment.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_text_content.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_active.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/uc_t_staff_role.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_district.MYD.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_question.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/crm_agent_company_info.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/db.opt.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_my_hongbao_info.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/uc_t_role_fun.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_admin_role_priv.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/cd_t_credit_info.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_hongbao_batch_info.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/uc_t_function.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_licai_order_info.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_ad_info.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_template.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_console_menu.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_sms_log.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_district.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/ft_t_credit_detail_info.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_reimburse_order.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/ft_t_tender_plan.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_news_info.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_dict.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/sys_t_log.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/tpp_t_transfer.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_licai_project_detail_info.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_award_num.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_user_info.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/con_t_fortune_pro.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/con_t_fortune_pro.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_project_category.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_touzi_summary.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_new_project_limit.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_user_info.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_question_answer.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_hongbao_type.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_active.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_total_user.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_awards_xmas.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/crm_agent_person_info.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_operation_log.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/crm_t_attachment.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/crm_person_info.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/uc_t_staff_role.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_history_yield.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/crm_agent_company_info.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_touzi_summary.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_xmas_count.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_sms_log.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_question_answer.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_xmas_record.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_menu.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_project_status_event.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_login_award.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/uc_t_role_authority.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_borrower_info.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_oauth_info.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_news_info.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_award.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_area.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_account_detail.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_licai_order_info.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/uc_t_login_info.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_new_project_limit.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_game.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_licai_project_detail_info.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_project_tag.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_award_num.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_text_content.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_console_dictionary.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_menu.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_province.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/ft_t_credit_detail_info.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_admin.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/sys_t_login_logger.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/crm_t_attachment.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_user_message_info.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/sys_t_login_logger.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/ft_t_tender_plan_credit.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_xmas_record.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/cd_t_withdraw.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/tpp_t_transfer.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_project_category.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_grant_record.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_xmas_user.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/act_t_lottery_coupon.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_province.MYI.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/crm_t_company_info.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/crm_t_company_info.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_award.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_admin_role.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_city.MYI.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/ft_t_tender_plan.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_hongbao_batch_info.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/ft_t_tender_plan_credit.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/uc_t_login_info.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/crm_t_third_info.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_console_dictionary.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/sys_t_log.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/cd_t_payment.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/uc_t_function.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_template.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_reimburse_order.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/crm_t_third_info.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/cd_t_payment.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/crm_agent_person_info.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/cd_t_audit_info.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/act_t_lottery_count.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/tpp_t_repayment.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_company_application.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_project_status_event.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/act_t_awards_info.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_third_interface_log.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_templet_field.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_dict.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_company_repayment_order.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/act_t_lottery_count.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/cd_t_audit_info.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_login_award.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_company_application.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_service.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_company_user.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_newbie_guide.frm.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_company_repayment_order.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_ad_info.frm.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_newbie_guide.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/crm_t_banks.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/t_hongbao_type.ibd.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/crm_t_car_info.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/t_user_message_info.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/t_total_user.ibd.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/uc_t_department.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_xmas_user.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/cd_t_deposite.frm.qp
- 170216 16:39:12 [04] decompressing ./huamu_licai/cd_t_deposite.ibd.qp
- 170216 16:39:12 [01] decompressing ./huamu_licai/act_t_activity.frm.qp
- 170216 16:39:12 [03] decompressing ./huamu_licai/t_service.ibd.qp
- 170216 16:39:12 [02] decompressing ./huamu_licai/con_t_credit_pro.frm.qp
- 170216 16:39:12 [01] decompressing ./xtrabackup_info.qp
- 170216 16:39:12 [03] decompressing ./xtrabackup_logfile.qp
- 170216 16:39:12 [04] decompressing ./test/db.opt.qp
- 170216 16:39:12 [02] decompressing ./xtrabackup_binlog_info.qp
- 170216 16:39:12 completed OK!
- find /data/bak_dir/mysql/3306/full/2017-02-16_16-09-42 -name "*.qp" -delete
备份完成后,应用日志,是备份的数据保持一致
- innobackupex --apply-log --defaults-file=/data/dbdata/3306/my.cnf --user=root --password=kongzhong123 --port=3306 --socket=/data/dbdata/3306/mysql.sock --redo-only /data/bak_dir/mysql/3306/full/2017-02-16_16-09-42
下面为输出内容:
- 170216 16:44:05 innobackupex: Starting the apply-log operation
- IMPORTANT: Please check that the apply-log run completes successfully.
- At the end of a successful apply-log run innobackupex
- prints "completed OK!".
- innobackupex version 2.3.3 based on MySQL server 5.6.24 Linux (x86_64) (revision id: 525ca7d)
- xtrabackup: cd to /data/bak_dir/mysql/3306/full/2017-02-16_16-09-42
- xtrabackup: This target seems to be not prepared yet.
- xtrabackup: xtrabackup_logfile detected: size=2097152, start_lsn=(10007614)
- xtrabackup: using the following InnoDB configuration for recovery:
- xtrabackup: innodb_data_home_dir = ./
- xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
- xtrabackup: innodb_log_group_home_dir = ./
- xtrabackup: innodb_log_files_in_group = 1
- xtrabackup: innodb_log_file_size = 2097152
- xtrabackup: using the following InnoDB configuration for recovery:
- xtrabackup: innodb_data_home_dir = ./
- xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
- xtrabackup: innodb_log_group_home_dir = ./
- xtrabackup: innodb_log_files_in_group = 1
- xtrabackup: innodb_log_file_size = 2097152
- xtrabackup: Starting InnoDB instance for recovery.
- xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
- InnoDB: Using atomics to ref count buffer pool pages
- InnoDB: The InnoDB memory heap is disabled
- InnoDB: Mutexes and rw_locks use GCC atomic builtins
- InnoDB: Memory barrier is not used
- InnoDB: Compressed tables use zlib 1.2.3
- InnoDB: Using CPU crc32 instructions
- InnoDB: Initializing buffer pool, size = 100.0M
- InnoDB: Completed initialization of buffer pool
- InnoDB: Highest supported file format is Barracuda.
- InnoDB: The log sequence numbers 10007584 and 10007584 in ibdata files do not match the log sequence number 10007614 in the ib_logfiles!
- InnoDB: Database was not shutdown normally!
- InnoDB: Starting crash recovery.
- InnoDB: Reading tablespace information from the .ibd files...
- InnoDB: Restoring possible half-written data pages
- InnoDB: from the doublewrite buffer...
- xtrabackup: Last MySQL binlog file position 5321597, file name mysql-bin.000005
- xtrabackup: starting shutdown with innodb_fast_shutdown = 1
- InnoDB: Starting shutdown...
- InnoDB: Shutdown completed; log sequence number 10007614
- 170216 16:44:06 completed OK!
合并第一个增量备份(必须加参数--redo-only)
- innobackupex --defaults-file=/data/dbdata/3306/my.cnf --socket=/data/dbdata/3306/mysql.sock --decompress --parallel=4 /data/bak_dir/mysql/3306/incre/2017-02-16_16-17-32
- find /data/bak_dir/mysql/3306/incre/2017-02-16_16-17-32 -name "*.qp" -delete
- innobackupex --apply-log --defaults-file=/data/dbdata/3306/my.cnf --user=root --password=kongzhong123 --port=3306 --socket=/data/dbdata/3306/mysql.sock --redo-only /data/bak_dir/mysql/3306/full/2017-02-16_16-09-42 --incremental-dir=/data/bak_dir/mysql/3306/incre/2017-02-16_16-17-32
合并第二个增量备份(必须加参数--redo-only)
- innobackupex --defaults-file=/data/dbdata/3306/my.cnf --socket=/data/dbdata/3306/mysql.sock --decompress --parallel=4 /data/bak_dir/mysql/3306/incre/2017-02-16_16-25-24/
- find /data/bak_dir/mysql/3306/incre/2017-02-16_16-25-24/ -name "*.qp" -delete
- innobackupex --apply-log --defaults-file=/data/dbdata/3306/my.cnf --user=root --password=kongzhong123 --port=3306 --socket=/data/dbdata/3306/mysql.sock --redo-only /data/bak_dir/mysql/3306/full/2017-02-16_16-09-42 --incremental-dir=/data/bak_dir/mysql/3306/incre/2017-02-16_16-25-24/
- 准备完整的备份
- #find /data/bak_dir/mysql/3306/full/2017-02-16_16-09-42 -name "*.qp" -delete
- innobackupex --apply-log --defaults-file=/data/dbdata/3306/my.cnf --user=root --password=kongzhong123 --port=3306 --socket=/data/dbdata/3306/mysql.sock /data/bak_dir/mysql/3306/full/2017-02-16_16-09-42
- /etc/init.d/mysql_3306 stop
- 模拟数据丢失
- cd /data/dbdat/3306
- mv data data_bak
- mkdir data
- innobackupex --copy-back --defaults-file=/data/dbdata/3306/my.cnf --socket=/data/dbdata/3306/mysql.sock --datadir=/data/dbdata/3306/data /data/bak_dir/mysql/3306/full/2017-02-16_16-09-42
- chown mysql.mysql data -R
- /etc/init.d/mysql_3306 start
后面的步骤就和之前一样了,记得要恢复主从
这里是从哪个日志节点开始恢复呢
我们看一下最后的完整备份下的
[root@bao-work-2 2017-02-16_16-09-42]#cat xtrabackup_slave_info
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000007', MASTER_LOG_POS=17767858
change master to
master_host='10.230.200.19',
master_port=3306,
master_user='repl',
master_password='kongzhong789',
master_log_file='mysql-bin.000007',
master_log_pos=17767858;
start slave;
show slave status\G;
经过上面的测试数据全部恢复,主从同步
我现在回放一下我的实验流程
- 、mysql slave 全备
- 、master update
- 、slave 第一次增量备份
- 、master update
- 、slave 第二次增量备份
- 、stop slave
- 、mv data data_bak ,mkdir data
- 、update master
- 然后就是恢复数据了
- 、取回完整备份
- innobackupex --defaults-file=/data/dbdata//my.cnf --socket=/data/dbdata//mysql.sock --decompress --parallel= /data/bak_dir/mysql//full/--16_16--
- --16_16--:是全备份的目录
- find /data/bak_dir/mysql//full/--16_16-- -name "*.qp" -delete
- 、合并第一个增量备份,必须加参数--redo-only
- innobackupex --defaults-file=/data/dbdata//my.cnf --socket=/data/dbdata//mysql.sock --decompress --parallel= /data/bak_dir/mysql//incre/--16_16--
- find /data/bak_dir/mysql//incre/--16_16-- -name "*.qp" -delete
- innobackupex --apply-log --defaults-file=/data/dbdata//my.cnf --user=root --password=kongzhong123 --port= --socket=/data/dbdata//mysql.sock --redo-only /data/bak_dir/mysql//full/--16_16-- --incremental-dir=/data/bak_dir/mysql//incre/--16_16--
- --16_16--:是全备份的目录
- --16_16--:第一次增量备份的目录
- 、合并第二个增量备份(必须加参数--redo-only)
- innobackupex --defaults-file=/data/dbdata//my.cnf --socket=/data/dbdata//mysql.sock --decompress --parallel= /data/bak_dir/mysql//incre/--16_16--/
- find /data/bak_dir/mysql//incre/--16_16--/ -name "*.qp" -delete
- innobackupex --apply-log --defaults-file=/data/dbdata//my.cnf --user=root --password=kongzhong123 --port= --socket=/data/dbdata//mysql.sock --redo-only /data/bak_dir/mysql//full/--16_16-- --incremental-dir=/data/bak_dir/mysql//incre/--16_16--/
- --16_16--:第二次增量备份的目录
- 、现在准备完整的备份
- innobackupex --apply-log --defaults-file=/data/dbdata//my.cnf --user=root --password=kongzhong123 --port= --socket=/data/dbdata//mysql.sock /data/bak_dir/mysql//full/--16_16--
- mv data data_bak
- mkdir data
- innobackupex --copy-back --defaults-file=/data/dbdata//my.cnf --socket=/data/dbdata//mysql.sock --datadir=/data/dbdata//data /data/bak_dir/mysql//full/--16_16--
- chown mysql.mysql data -R
- /etc/init.d/mysql_3306 start
- 这个时候恢复的数据是不完整的,只是把数据恢复到了slave第二次增量备份之前
- 所以我们现在要重新恢复主从
- cd 到完整备份的目录下
- # cat xtrabackup_slave_info
- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000007', MASTER_LOG_POS=
- 然后执行change master to
3、小结
a、Xtrabackup恢复的目的要是保证事务(数据)的一致性,Xtrabackup log会记录这些事务备份期间的状态
b、恢复过程分为2个阶段,一个是Prepare阶段,一个是copy back阶段,恢复前关闭原有实例
c、Prepare阶段会根据从innodb logfile捕获出来的信息(记录在xtrabackup log)来进行相应的前滚或回滚
d、Prepare阶段会在成功前滚或回滚后创建新的innodb logfile(空)
e、copy back阶段则是将成功恢复的全部文件复制回原来或指定的数据目录(目录应为空目录)
f、copy back前需要关闭原有实例,如果恢复到不同的实例则不需要
g、copy back完成后应做相应的权限修改
h、启动恢复后的实例并进行相关验证
使用xtrabackup(innobackupex)实现MySQL的热备的更多相关文章
- Lvs+keepalived+mysql主从热备
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; f ...
- mysql双机热备的实现
转:http://blog.csdn.net/qq394829044/article/details/53203645 Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好 ...
- (转)mysql双机热备的实现
mysql双机热备的实现 原文:http://www.zjian.me/web/php/mysql%E5%8F%8C%E6%9C%BA%E7%83%AD%E5%A4%87%E7%9A%84%E5%AE ...
- Mysql双机热备--预备知识
1.双机热备 对于双机热备这一概念,我搜索了很多资料,最后,还是按照大多数资料所讲分成广义与狭义两种意义来说. 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务.当一台服务器 ...
- mysql 主从复制(mysql双机热备的实现)
转:http://blog.csdn.net/qq394829044/article/details/53203645 Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好 ...
- MySQL双机热备环境搭建
一. 前期准备 准备两台服务器(电脑),接入到同一局域网中,能够使双方可以ping通: 安装MySQL数据库,具体安装方法网上很全面,但是安装的版本需保持一致: 服务器IP地址设置. l A服 ...
- MySQL的热备percona-xtrabackup、innobackupex的安装方法
http://blog.csdn.net/dbanote/article/details/13295727 http://blog.csdn.net/yangzhawen/article/detail ...
- (4.14)mysql备份还原——mysql物理热备工具之ibbackup
关键词:mysql热备工具,ibbackup,mysql物理备份工具 1. 准备 ibbackup 是 InnoDB 提供的收费工具,它支持在线热备 InnoDB 数据,主要有以下特性: * Onli ...
- CentOS系统MySQL双机热备配置
1 概述 在集成项目中需要应对不同环境下的安装配置,主流操作系统大致可以分为三种:Linux.Windows以及UNIX.其中Linux备受青睐的主要原因有两个: 首先,Linux作为自由软件有两个 ...
随机推荐
- Hyper-V如何应用新的网卡
最近新装了块网卡,可是在Hyper-V的虚拟机设置里怎么也找不到如何应用这个新网卡. 把我郁闷坏了. 偶尔点点,才发现原来不是在虚拟机的设置里面,而是在上面的一级设置. 新建完后就可以在虚拟机的网 ...
- 火狐浏览器FireFox 如何将整个网页保存为图片
使用Friefox的Pearl Cresent Page Saver插件 如图所示网页有很长的滚动条 点击右下角的该插件选项,将整个页面保存为图片 在桌面上得到了这样一个文件,大小是1263×6083 ...
- The Web Sessions List
The Web Sessions list contains the list of HTTP Requests that are sent by your computer. You can res ...
- 〖Linux〗OK6410a蜂鸣器的驱动程序编写全程实录
最近在看一本书,受益匪浅,作者是李宁,下边是编写本次蜂鸣器的全程实录: 1. 了解开发板中的蜂鸣器 1) 查看蜂鸣器buzzer在底板中的管脚信息 2) 查看蜂鸣器在总线中的信息 3) 翻看S3C64 ...
- [ACM] hdu 1671 Phone List (字典树)
Phone List Problem Description Given a list of phone numbers, determine if it is consistent in the s ...
- 如何在 CentOS 7 中安装、配置和安全加固 FTP 服务
步骤 1:安装 FTP 服务器 1. 安装 vsftpd 服务器很直接,只要在终端运行下面的命令. # yum install vsftpd 2. 安装完成后,服务先是被禁用的,因此我们需要手动启动, ...
- iOS-高仿微信摇一摇动画效果加震动音效
概述 摇一摇动画效果 (加震动音效) 详细 代码下载:http://www.demodashi.com/demo/10707.html 众所周知, 微信中的摇一摇功能: 搜索人/歌曲/电视,同样在一些 ...
- GridView显示数据鼠标悬停变色
一. 首先在前台GridView中加上onrowdatabound="GridView1_RowDataBound": <asp:GridView ID="Grid ...
- 2016年度GitHub上Stars最多的10个项目
来源于:https://zhuanlan.zhihu.com/p/24627923 2016年接近尾声,在最近的几篇文章中,会整理总结一些2016年度开源项目.今天整理的是:2016年度GitHub最 ...
- 为Emacs添加标签tabbar功能
Emacs的强大之处在于,只有你想不到,没有她做不到! 折腾了两个小时,终于在终端putty上搞定了tabbar.下面是一些资源,以方便后面的同学快速搞定. 首先下载tabbar的插件tabbar.e ...