图片 2

range分区增加删除处理的方法示例,XtraBackup物理备份

mydumper原理介绍,mydumper原理

  mydumper的安装:  
mydumper介绍  
MySQL本人的mysqldump工具帮衬单线程工作,依次2个个导出两个表,未有三个交互的机,那就使得它不能够连忙的备份数据。
 
mydumper作为贰个实用工具,能够杰出帮助二10四线程工作,能够并行的二十八线程的从表中读入数据并相同的时间写到不一样的文件里,那使得它在管理速度方面快于传统的mysqldump。其特点之一是在管理进程中须求对列表加以锁定,因而只要大家须要在劳作时段实施备份专门的学业,那么会滋生DML阻塞。但貌似未来的MySQL都有主旨,备份也多数在从上进展,所以锁的难点能够毫不思量。那样,mydumper能越来越好的完毕备份职务。
  mydumper特性   1四线程备份
2因为是10二线程逻辑备份,备份后会生成多少个备份文件
叁备份时对MyISAM表施加FTWTiguanL(FLUSH TABLES WITH READ LOCK),会阻塞DML语句
四保证备份数据的壹致性 5协助文件减弱 六帮忙导出binlog 七扶助二十八线程苏醒八帮助以守护进度形式职业,定期快速照相和连接2进制日志 九协助将备份文件切丝  
mydumper参数详解  

$ mydumper --help
Usage:
  mydumper [OPTION...] multi-threaded MySQL dumping

Help Options:
  -?, --help                  Show help options

Application Options:
  -B, --database              要备份的数据库,不指定则备份所有库
  -T, --tables-list           需要备份的表,名字用逗号隔开
  -o, --outputdir             备份文件输出的目录
  -s, --statement-size        生成的insert语句的字节数,默认1000000
  -r, --rows                  Try to split tables into chunks of this many rows. This option turns off --chunk-filesize
  -F, --chunk-filesize        Split tables into chunks of this output file size. This value is in MB
  -c, --compress              Compress output files压缩输出文件
  -e, --build-empty-files     如果表数据是空,还是产生一个空文件(默认无数据则只有表结构文件)
  -x, --regex                 Regular expression for 'db.table' matching 使用正则表达式匹配'db.table'
  -i, --ignore-engines        Comma delimited list of storage engines to ignore忽略的存储引擎,用逗号分割
  -m, --no-schemas            Do not dump table schemas with the data不备份表结构,只备份数据
  -d, --no-data               Do not dump table data备份表结构,不备份数据
  -G, --triggers              Dump triggers备份触发器
  -E, --events                Dump events
  -R, --routines              Dump stored procedures and functions备份存储过程和函数
  -k, --no-locks              不使用临时共享只读锁,使用这个选项会造成数据不一致
  --less-locking              Minimize locking time on InnoDB tables.减少对InnoDB表的锁施加时间
  -l, --long-query-guard      设定阻塞备份的长查询超时时间,单位是秒,默认是60秒(超时后默认mydumper将会退出)
  -K, --kill-long-queries     Kill long running queries (instead of aborting)杀掉长查询 (不退出)
  -D, --daemon                Enable daemon mode启用守护进程模式,守护进程模式以某个间隔不间断对数据库进行备
  -I, --snapshot-interval     dump快照间隔时间,默认60s,需要在daemon模式下
  -L, --logfile               使用的日志文件名(mydumper所产生的日志), 默认使用标准输出
  --tz-utc                    SET TIME_ZONE='+00:00' at top of dump to allow dumping of TIMESTAMP data when a server has data in different time zones or data is being moved between servers with different time zones, defaults to on use --skip-tz-utc to disable.
  --skip-tz-utc               
  --use-savepoints            使用savepoints来减少采集metadata所造成的锁时间,需要 SUPER 权限
  --success-on-1146           Not increment error count and Warning instead of Critical in case of table doesn't exist
  --lock-all-tables           Use LOCK TABLE for all, instead of FTWRL
  -U, --updated-since         Use Update_time to dump only tables updated in the last U days
  --trx-consistency-only      Transactional consistency only
  -h, --host                  连接的主机名
  -u, --user                  用来备份的用户名
  -p, --password              用户密码
  -P, --port                  连接端口
  -S, --socket                使用socket通信时的socket文件
  -t, --threads               开启的备份线程数,默认是4
  -C, --compress-protocol     压缩与mysql通信的数据
  -V, --version               显示版本号
  -v, --verbose               输出信息模式, 0 = silent, 1 = errors, 2 = warnings, 3 = info, 默认为2

  mydumper主要流程包罗   一、主线程 FLUSH TABLES WITH READ LOCK,
施加全局只读锁,以阻挠DML语句写入,保证数据的壹致性
贰、读取当前时间点的二进制日志文件名和日志写入的地点并记下在metadata文件中,以供固然点恢复生机使用
3、N个(线程数可以钦定,暗中认可是4)dump线程 START TRANSACTION WITH
CONSISTENT SNAPSHOT; 开启读1致的事情 4、dump non-InnoDB tables,
首起初出非事务引擎的表 5、主线程 UNLOCK TABLES 非
事务引擎备份完后,释放全局只读锁 6、dump InnoDB tables, 基于
事务导出InnoDB表 7、事务停止     mydumper的less locking方式:  
     mydumper使用–less-locking可以减小锁等待时间,此时mydumper的试行机制大致为
       一、主线程 FLUSH TABLES WITH READ LOCK (全局锁)      二、Dump线程
START TRANSACTION WITH CONSISTENT SNAPSHOT;      三、LL Dump线程 LOCK
TABLES non-InnoDB (线程内部锁)      四、主线程UNLOCK TABLES      5、LL
Dump线程 dump non-InnoDB tables      陆、LL DUmp线程 UNLOCK non-InnoDB
     七、Dump线程 dump InnoDB tables     mydumper备份流程图  
图片 1

 

 

mydumper的安装:
mydumper介绍
MySQL本人的mysqldump工具帮助单线程专门的工作,依次一…

MySQL 5.5 range分区增加删除管理的诀窍言传身教,mysqlrange

介绍

RANGE分区根据三个加以的连接区间范围,开始时代版本RANGE主假设基于整数的分区。在五.7版本中DATE、DATETIME列也能够选取RANGE分区,同期在伍.5以上的版本提供了凭借非整形的RANGE
COLUMN分区。RANGE分区必须的连年的且不能够重叠。使用

“VALUES LESS THAN ()”
来定义分区区间,非整形的界定值须要动用单引号,并且能够选取MAXVALUE作为分区的最高值。

本文将给大家介绍MySQL 5.5range分区增添删除管理的相关内容,分享给大家供大家参谋学习,下边来看望详细的介绍:

1、删除分区

##查看要处理的分区的数据量,并导出作为备份

mysql> select count(*) from baby_account_change_log where updated_time >'2016-12-01 00:00:00' and updated_time <'2017-01-01 00:00:00';
+----------+
| count(*) |
+----------+
| 66252 | 
+----------+
1 row in set (0.23 sec)

##导出备份

mysql> select * into outfile '/tmp/baby_account_change_log_p1.sql' from baby_account_change_log where updated_time >'2016-12-01 00:00:00' and updated_time <'2017-01-01 00:00:00' limit 100000000000;
Query OK, 66252 rows affected (2.71 sec)


##确认要处理分区

mysql> explain partitions select count(*) from baby_account_change_log where updated_time >'2016-12-01 00:00:00' and updated_time <'2017-01-01 00:00:00';

+----+-------------+-------------------------------+------------+-------+---------------+---------+---------+------+-------+--------------------------+
| id | select_type | table       | partitions | type | possible_keys | key  | key_len | ref | rows | Extra     |
+----+-------------+-------------------------------+------------+-------+---------------+---------+---------+------+-------+--------------------------+
| 1 | SIMPLE  | baby_account_change_log | p1   | index | NULL   | PRIMARY | 8  | NULL | 66252 | Using where; Using index | 
+----+-------------+-------------------------------+------------+-------+---------------+---------+---------+------+-------+--------------------------+

##删除分区

mysql> alter table baby_account_change_log drop partition p0;
Query OK, 0 rows affected (0.01 sec)

2、增加分区

#错误提示删除存储最大值分区
mysql> alter table baby_account_change_log add partition(PARTITION p13 VALUES LESS THAN (unix_timestamp('2017-12-31 23:59:59')));
ERROR 1481 (HY000): MAXVALUE can only be used in last partition definition

#删除存储最大值分区
mysql> alter table baby_account_change_log drop partition p12;

##增加新的分区

mysql> alter table baby_account_change_log add partition(PARTITION p12 VALUES LESS THAN (unix_timestamp('2017-12-31 23:59:59')));

总结

上述正是那篇文章的整体内容了,希望本文的内容对大家的上学或许办事能带来一定的支援,要是有疑难大家能够留言调换,感激大家对帮客之家的援救。

5.五range分区扩张删除管理的方法言传身教,mysqlrange 介绍
RANGE分区基于三个加以的连接区间范围,初期版本RANGE主假若依靠整数的分区。在…

XtraBackup物理备份 Ali云的Mysql备份方案,xtrabackupAli

图片 2

XtraBackup物理备份

Percona
XtraBackup是社会风气上并世无双的开源,无偿的MySQL热备份软件,为InnoDB和XtraDB 数据库实践非阻塞备份。使用Percona
XtraBackup,能够兑现以下优势:

  • 迅猛可信赖地产生的备份

  • 备份时期的不间断事务管理

  • 节约磁盘空间和互联网带宽

  • 机动备份验证

  • 开创热InnoDB备份,而不制动踏板数据库

  • 对MySQL实行增量备份

  • 将缩减的MySQL备份压缩到另三个服务器

  • 在MySQL服务器之间移动表

  • 自在创造新的MySQL主从

  • 备份MySQL,而不向服务器增加负载

Percona XtraBackup为全体版本的Percona
Server,MySQL和玛丽亚DB进行MySQL热备份,压缩和增量MySQL备份。Percona
XtraBackup与MySQL,玛丽亚DB和Percona
Server同盟使用。它辅助完全非阻塞备份InnoDB,XtraDB和HailDB 存款和储蓄引擎。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签:
网站地图xml地图