精华内容
下载资源
问答
  • 主要概述MySQL数据库归档历史数据主要可以分为三种方式:一.创建编写SP、设置Event;二.通过dump导入导出;三.通过pt-archiver工具进行归档。第一种方式往往受限于同实例要求,往往被大家舍弃。第二种,性能相对较好...

    一.主要概述

    MySQL数据库归档历史数据主要可以分为三种方式:一.创建编写SP、设置Event;二.通过dump导入导出;三.通过pt-archiver工具进行归档。第一种方式往往受限于同实例要求,往往被大家舍弃。第二种,性能相对较好,但是归档表较多时运维也是比较头疼的事。所以很多DBA往往采用第三种方式--pt-archiver。

    pt-archiver是Percona-Toolkit工具集中的一个组件,是一个主要用于对MySQL表数据进行归档和清除的工具。它可以将数据归档到另一张表或者是一个文件中。pt-archiver在清除表数据的过程中并不会影响OLTP事务的查询性能。对于数据的归档,它可以归档到另一台服务器上的另一张表,也可归档到一个文件中。

    有一个网友通过Python开发了将pt-archiver打包成了一个小工具—mysql_archiver,它基本实现了归档作业的配置化部署,使用起来挺不错。"MySQL_archiver基本上实现了数据归档的自动运转,统一的归档任务调度管理、自动监控和预警、自动生成报表。在一定程度上节约了生产力,提高了运维效率。"

    github地址:https://github.com/dbarun/mysql_archiver

    二.pt-archiver主要参数参数

    参数

    默认值

    参数解释

    --check-slave-lag

    指定主从复制延迟大于选项'--max-lag'指定的值之后暂停归档操作。默认情况下,工具会检查所有的从库,但该选项只作用于指定的从库(通过DSN连接方式)。

    --check-interval

    1s

    如果同时指定了选项'--check-slave-lag',则该选项指定的时间为工具发现主从复制延迟时暂停的时间。每进行操作100行时进行一次检查。

    --[no]check-charset

    yes

    指定检查确保数据库连接时字符集和表字符集相同。

    --commit-each

    指定按每次获取和归档的行数进行提交,该选项会禁用选项'--txn-size'。 在每次获取表数据并进行归档之后,在获取下一次数据和选项'--sleep'指定的休眠时间之前,进行事务提交和刷新选项'--file'指定的文件,通过选项'--limit'控制事务的大小。

    --host,-h

    指定连接的数据库IP地址。

    --port,-P

    指定连接的数据库Port端口。

    --user,-u

    指定连接的数据库用户。

    --password,-p

    指定连接的数据库用户密码。

    --socket,-S

    指定使用SOCKET文件连接。

    --databases,-d

    指定连接的数据库

    --source

    指定需要进行归档操作的表,该选项是必须指定的选项,使用DSN方式表示。

    --dest

    指定要归档到的目标端表,使用DSN方式表示。 如果该选项没有指定的话,则默认与选项'--source'指定源端表为相同表。

    --where

    指定通过WHERE条件语句指定需要归档的数据,该选项是必须指定的选项。不需要加上'WHERE'关键字,如果确实不需要WHERE条件进行限制,则指定'--where 1=1'。

    --file

    指定表数据需要归档到的文件。使用类似MySQL DATE_FORMAT()格式化命名方式。 文件内容与MySQL中SELECT INTO OUTFILE语句使用相同的格式,文件命名选项如下所示: ' %Y:年,4位数(Year, numeric, four digits) %m:月,2位数(Month, numeric (01..12)) %d:日,2位数(Day of the month, numeric (01..31)) %H:小时(Hour (00..23)) %i:分钟(Minutes, numeric (00..59)) %s:秒(Seconds (00..59)) %D:数据库名(Database name) %t:表名(Table name) 例如:--file '/var/log/archive/%Y-%m-%d-%D.%t' '

    --output-format

    指定选项'--file'文件内容输出的格式。 默认不指定该选项是以制表符进行字段的分隔符,如果指定该选项,则使用','(逗号)作为字段分隔符,使用'"'(双引号)将字段括起。用法示例:'--output-format=dump'。

    --limit

    1

    指定每条语句获取表和归档表的行数。

    --max-lag

    1s

    指定允许主从复制延迟时长的最大值,单位秒。如果在每次获取行数据之后主从延迟超过指定的值,则归档操作将暂停执行,暂停休眠时间为选项'--check-interval'指定的值。待休眠时间结束之后再次检查主从延迟时长,检查方法是通过从库查询的'Seconds_Behind_Master'值来确定。如果主从复制延迟一直大于该参数指定值或者从库停止复制,则操作将一直等待直到从库重新启动并且延迟小于该参数指定值.

    --no-delete

    指定不删除已被归档的表数据。

    --progress

    指定每多少行打印进度信息,打印当前时间,已用时间以及多少行进行归档。

    --purge

    指定执行的清除操作而不是归档操作。允许忽略选项'--dest'和'--file'进行操作,如果只是清除操作可以结合选项'--primary-key-only'会更高效。

    --replace

    指定写入选项'--dest'指定目标端表时改写INSERT语句为REPLACE语句。

    --retries

    1

    指定归档操作遇到死锁或超时的重试次数。当重试次数超过该选项指定的值时,工具将报错退出。

    --run-time

    指定工具归档操作在退出之前需要运行的时间。允许的时间后缀名为s=秒,m=分,h=小时,d=天,如果没指定,默认为s。

    --[no]safe-auto-increment

    yes

    指定不使用自增列(AUTO_INCREMENT)最大值对应的行进行归档。 该选项在进行归档清除时会额外添加一条WHERE子句以防止工具删除单列升序字段具有的具有AUTO_INCREMENT属性最大值的数据行,为了在数据库重启之后还能使用到AUTO_INCREMENT对应的值,但这会引起无法归档或清除字段对应最大值的行。

    --sleep

    指定工具在通过SELECT语句获取归档数据需要休眠的时间,默认值是不进行休眠。在休眠之前事务并不会提交,并且选项'--file'指定的文件不会被刷新。如果指定选项'--commit-each',则在休眠之前会进行事务提交和文件刷新。

    --statistics

    指定工具收集并打印操作的时间统计信息。

    --txn-size

    1

    指定每个事务处理的行数。如果是0则禁用事务功能。

    --why-quit

    指定工具打印当非因完成归档行数退出的原因。 在执行一个自动归档任务时该选项与选项'--run-time'一起使用非常方便,这样可以确定归档任务是否在指定的时间内完成。如果同时指定了选项'--statistics',则会打印所有退出的原因。

    --skip-foreign-key-checks

    指定使用语句SET FOREIGN_KEY_CHECKS = 0禁用外键检查。

    三,安装部署mysql_archiver常见错误

    1. 执行python db_archive_exec.py 127.0.0.1 db123 报错

    Traceback (most recent call last):

    File "/data/mysql_archiver/mysql_archiver-master/db_archive_exec.py", line 7, in

    import db_conn

    File "/data/mysql_archiver/mysql_archiver-master/db_conn.py", line 4, in

    import MySQLdb

    ImportError: No module named MySQLdb

    解决方案:

    Step 1 基础环境

    rm -rf /etc/yum.repos.d/epel*

    yum install postgresql-devel python3-devel postgresql-devel python-devel

    Step 2安装setuptools

    (1) 下载 setuptools-39.2.0.zip

    (2) 解压安装 python setup.py build

    python setup.py install

    step 3 安装pip

    (1) 下载 pip-1.5.4.tar.gz

    (2) 安装 python setup.py install

    step 4 安装MySQL-python

    yum install MySQL-python

    2.报错缺少pt-archiver工具

    sh: pt-archiver: command not found

    解决方案:

    下载percona-toolkit-3.2.1_x86_64.tar.gz,安装,并且设置个软连接。

    例如:

    ln -s /data/mysql_archiver/percona-toolkit-3.2.1/bin/pt-archiver /usr/local/bin/pt-archiver

    3.缺少文档

    [Errno 2] No such file or directory: u'/software/python_script/db_archive_XXXXdb_XXXtablename.log'

    解决方案:

    创建文档:/software/python_script

    4.字符集问题

    Character set mismatch: --source DSN uses utf8, table uses utf8mb4.  You can disable this check by specifying --no-check-charset.

    解决方案:

    修改db_archive_exec.py可执行文件,针对pt-archiver添加参数--no-check-charset

    5.参数设置报错

    Usage: pt-archiver [OPTIONS] --source DSN --where WHERE

    Errors in command-line arguments:

    * --txn-size and --commit-each are mutually exclusive.

    pt-archiver nibbles records from a MySQL table. The --source and --dest

    arguments use DSN syntax; if COPY is yes, --dest defaults to the key's value

    from --source. For more details, please use the --help option, or try 'perldoc

    /usr/local/bin/pt-archiver' for complete documentation.

    解决方案:

    pt-archiver去掉参数--commit-each

    6.Cannot find encoding "utf8mb4"

    报错信息:

    Cannot find encoding "utf8mb4" at /usr/local/bin/pt-archiver line 6711.

    68fd89e04d5ca18a0a2425a0ed4e9808.png

    解决方案:

    pt-archiver去掉参数 --bulk-insert --bulk-delete

    四.主要参考资料

    1.MySQL数据归档实战-Python和pt-archiver的强强结合

    https://blog.csdn.net/n88lpo/article/details/78905528?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-14&spm=1001.2101.3001.4242

    2.MySQL数据归档小工具

    https://github.com/dbarun/mysql_archiver#readme

    3.在linux下安装MySQLdb及基本操作

    https://www.cnblogs.com/blogsme/archive/2012/12/12/2814588.html

    4.pt工具之pt-archiver

    https://www.cnblogs.com/yhq1314/p/10601801.html

    5.linux下pip的安装步骤及使用详解

    https://www.jb51.net/article/118035.htm

    6.Percona-Toolkit 之 pt-archiver 总结

    https://www.cnblogs.com/dbabd/p/10721857.html

    到此这篇关于MySQL数据归档小工具mysql_archiver详解的文章就介绍到这了,更多相关MySQL数据归档内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

    本文标题: MySQL数据归档小工具mysql_archiver详解

    本文地址: http://www.cppcns.com/shujuku/mysql/370673.html

    展开全文
  • tar -c 创建归档文件包 tar -x 释放归档文件包 tar -t 查看归档文件包 tar -v 显示归档包操作过程信息 tar -f 指定归档文件名 案例1:归档 /home/ 目录下的 c和txt扩展的文件归到test.tar tar cvf test.tar /...

    第一、tar 归档

    tar -c 创建归档文件包

    tar -x 释放归档文件包

    tar -t 查看归档文件包

    tar -v 显示归档包操作过程信息

    tar -f 指定归档文件名

    案例1:归档 /home/ 目录下的 c和txt扩展的文件归到test.tar

    tar cvf test.tar  /home/*.c *.txt

    查看包test.tar里的内容

    tar tvf test.tar

    释放归档test.rar的内容

    tar xvf test.tar  -C /home/daokr

     

    第二、利用tar 的 -z 和-j 压缩归档文件成压缩包

    -z  参数 *.tgz格式压缩

    -j   参数 *.bz2格式压缩

    压缩命令*.c *.out 的文件成tgz压缩文件

    tar czvf test2.tgz *.c *.out
    

     

    解压缩test2.tgz文件到指定目录

    tar xzvf test2.tgz -C /home/daokr/test2/
    

     

    第三、zip归档一半很少用*.zip格式

    zip压缩文件:

    1 zip ys.zip *.c *.out

     

    zip文件解压:

    unzip ys.zip 

     

    第四、当今最高压缩比例的命令 p7zip

    通过安装命令;apt install p7zip-full 安装p7zip

    压缩文件a参数

    7z a test.7z a.c a.out

    利用l参数 查看7z文件

    7z l test.7z 

    利用e参数解压7z文件

    7z e test.7z

     利用d参数 删除里面的文件 delete

    7z d test.7z a.c

     

    第五、ar命令库文件 obj.o  lib.a

    对库文件的内容添加; 把a.o添加到 libtest.a静态库文件中

    r 添加

    v 查看信息

    t 查看列表

    e 提取

    ar rv libtest.a a.o

    查看libtest.a 文件的内容

    ar tv libtest.a

    从库文件libtest.a 里面提取 a.o

    ar xv libtest.a

     

    转载于:https://www.cnblogs.com/wanglijun/p/8666512.html

    展开全文
  • 本文讲述RMAN环境下restore归档文件常用命令。 Oracle数据库使用RMAN备份的时候,会把归档日志压成备份集(backup set),备份在disk或者tape上。 一种场景: 大家都熟悉一种架构RAC+ADG。在该架构下,源库的归档...

    摘要:Oracle数据库使用RMAN备份的时候,会把归档日志压成备份集(backup set),备份在disk或者tape上。本文讲述RMAN环境下restore归档文件常用命令。

    Oracle数据库使用RMAN备份的时候,会把归档日志压成备份集(backup set),备份在disk或者tape上。

    一种场景:

    大家都熟悉一种架构RAC+ADG。在该架构下,源库的归档文件清理机制为数据库备份完成后进行清除(参考语句:backup filesperset 20 format ‘al_t%t_s%s_p%p’ (archivelog all delete input);),但为了保障源库归档文件能传送到/应用到DG库,primary 库的rman中会设置

    CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
    或者CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO ALL STANDBY;

    但RAC+ADG架构下,如果没有设置上述主库归档到DG库的规则,主库在备份完成后很容易删除已经备份至disk或者tape的在本地的归档文件,这样就导致DG生效,需要在主库环境restore DG库需要的归档文件后,同步机制方可继续运行。

    那么,主库如何从备份集中restore对应的归档文件?

    常用的restore命令,本文罗列下:
    restore命令的参数可以用SCN、SEQUENCE、TIME等,也可附加preview参数先查看计划,该参数和list backup of archivelog是等效的。
    1) 备份所有归档日志文件后删除
    RMAN> backup archivelog all delete input;
    第二: restore archivelog 的各种选项
    恢复全部归档日志文件
    RMAN> restore archivelog all;
    2) .恢复5天内的归档日志
    RMAN> restore archivelog from time ‘sysdate-5’;
    3) sequence between 写法
    RMAN> restore archivelog sequence between 1 and 3;
    4) 恢复到哪个日志文件为止
    RMAN> restore archivelog until logseq 3;
    或RMAN> restore archivelog high logseq 3;;

    5) 从某个归档日志开始恢复
    RMAN> restore archivelog low logseq 5;
    或 RMAN> restore archivelog from logseq 5;

    6) 改变恢复路径
    set archivelog destination to ‘d:\backup’;

    举个活生生的例子:

    1、根据时间查看需要的备份集:
    RMAN> list backup of archivelog time between “to_date(‘2020-10-10 08:00:00’,‘yyyy-mm-dd hh24:mi:ss’)” and “to_date(‘2020-10-10 13:00’,‘yyyy-mm-dd hh24:mi:ss’)”;
    或者用preview查看:
    RMAN> restore archivelog time between “to_date(‘2020-10-10 08:00:00’,‘yyyy-mm-dd hh24:mi:ss’)” and “to_date(‘2020-10-10 13:00’,‘yyyy-mm-dd hh24:mi:ss’)” preview;
    也可以先指定时间格式,然后就可以不用to_date函数了:
    RMAN> SQL ‘ALTER SESSION SET NLS_DATE_FORMAT=“YYYY-MM-DD:HH24:MI:SS”’;
    RMAN> restore archivelog time between ‘2020-10-10 09:00:00’ and ‘2020-10-10 12:00:00’ preview;

    2、执行restore命令,指定归档日志恢复到其他的目录,此时必须用run命令:
    RMAN> run {
    set archivelog destination to ‘/backup/testarch’;
    SQL ‘ALTER SESSION SET NLS_DATE_FORMAT=“YYYY-MM-DD:HH24:MI:SS”’;
    restore archivelog time between ‘2020-10-10 09:00:00’ and ‘2020-10-10 12:10:00’;
    }

     

    欢迎关注个人微信公众号“一森咖记”
    image.png

    展开全文
  • 文件归档命令tar

    2019-09-18 05:24:07
    归档后缀.tar 归档+压缩 后缀.tar.gz归档+压缩:bz2 (算法)br/>[root@localhost~]#tar-cvfgrub.tar/boot/grub2/[root@localhost~]#tar-czvfgrub.tar.gz /boot/grub2/[root@localhost~]#tar-cjvfgrub.tar.gz /...
    展开全文
  • 归档命令tar,文件归档有好多好处,方便使用易于管理,接下来通过本文给大家分享linux文件归档和压缩命令,感兴趣的朋友一起看看吧
  • linux tar 文件归档命令

    千次阅读 2018-08-11 11:10:46
    -r:向压缩归档文件末尾追加文件  -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip...
  • 文件进行归档命令

    千次阅读 2020-03-13 21:11:47
    tar命令 [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 … 参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达...
  • Centos7文件归档命令

    2018-03-19 16:37:13
    文件归档的意思类似与把几个文件压缩,然后再传输 Examples: tar -cf grub2.tar foo bar #创建归档 tar -tvf grub2.tar #列出归档中的所有文件 tar -xf grub2.tar #提取归档中的文件 tar xf grub2.tar -C /opt/ #...
  • 指向一个归档文件 -z 以gzip 形式将打包的文件压缩 -j 以bzip2 形式将打包的文件压缩 -t 查看归档文件内容 –delete 删除etc.tar下的etc/hosts -r 向打包文件中追加新内容 -v 查看详细信息 -x 解压 ...
  • 文件归档 压缩 传输命令
  • 每个文件HDFS采用块方式进行存储,在系统运行时,文件块的元数据信息会被... Hadoop归档文件和HAR文件可以将文件高效地放入HDFS块中的文件存档设备,在减少NameNode内存使用的同时,仍然允许对文件进行透明访问。...
  • 基础学习5-tar文件归档命令

    千次阅读 2018-05-12 23:16:23
    tar:归档命令选项-c 创建新的归档文件-x 解压提取归档文件 -t 显示压缩文件的内容 -v 显示操作过程 -f 指定压缩文件tar 本身不具有压缩文件功能,需要调用gzip bzip2软件功能 -z 支持调用gzip压缩或解压 -j 支持调用...
  • 备份spfile:backup spfile; 恢复spfile:restore spfile from '/备份集'; 备份数据文件:backup datafile FILE#; 还原数据文件:restore dat...
  • ①创建文件:通过touch+文件名命令创建一个名字为new的文件。 [heshuilong@FQDN ~]$ touch new ②打开文件:通过ls+文件名命令打开new文件。 [heshuilong@FQDN ~]$ ls new new ③创建目录:通过mkdir+目录名命令在...
  • 归档文件

    2018-08-17 20:48:00
    这个概念不只是linux才会用到,几乎所有的语言都会用到,比如jar(java Archive),war(web Archive),而其中Archive就是归档文件的...linux文件归档的意思是为文件或目录备份,建立归档文件tar命令可以为linux...
  • 一、制作归档文件或释放已归档文件——tar命令。 tar命令可以将要备份保存的数据打包成一个扩展名为.tar的文件,以便于保存,需要时再从.tar中恢复。 参数:-t:查看包中的文件列表 -x:释放包 -c:创建包 -r:增加...
  • Linux下文件压缩归档操作命令:gzip/ungzip 后缀 .gz  xz/unxz 后缀 .xz  bzip2/bunzip2 后缀 .bz2  tar 用于归档并压缩  -# :#为0-9 指定压缩比 gzip -c name 压缩结果输出到标准输出...
  • tar命令 归档文件 参数 -c 创建归档文件 -f 指定归档文件名称 -r 添加文件至归档文件中 -v 显示归档文件产生过程 -C 指定解档文件位置 -t 查看归档文件内容 -x 解档归档文件 --delete ...
  • 压缩归档tar命令

    2018-10-23 21:41:00
    归档有两个命令,一个是tar命令,一个是cpio 归档不删除原文件 tar命令语法: tar cvf aa.tar file1 file2 file3 file4 file5 # tar cvf bb.tar a01.txt a-1.txt a3.txt a4.txt a5.txt 归档并删除原文件 ...
  • 主要介绍文件归档和压缩相关方法。归档和压缩有利于linux系统中文件的管理和磁盘空间的利用,善于利用归档和压缩能为我们工作中带来很多便捷。
  • 错误 gzip: stdin: invalid compressed data--format violated tar: 归档文件中异常的 EOF tar: 归档文件中异常的 EOF tar: Error is not recoverable: exiting now 解决方法: 文件问题 我这里重新上传就ok了
  • scp命令 rsync命令 rsync和scp命令的对比 rsync用法 文件归档及压缩 文件归档 文件压缩 tar+压缩
  • cpio命令主要是用来建立或者还原备份档的工具程序,cpio命令可以复制文件归档包中,或者从归档包中复制文件。 语法格式: cpio [参数] 常用参数: -0 接受新增列控制字符,通常配合find指令的“-print0”参数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,437
精华内容 1,774
关键字:

归档文件命令