首页 > 数据库 >【MySQL 8.0】通过pt-archiver实现表的历史数据归档

【MySQL 8.0】通过pt-archiver实现表的历史数据归档

时间:2023-08-26 16:03:03浏览次数:44  
标签:customer 8.0 pt -- 指定 archiver 归档 +----------+ count

(root@node02) > set global local_infile=on;
Query OK, 0 rows affected (0.00 sec)

(root@node02) > create table customer_jp like customer;
Query OK, 0 rows affected (0.20 sec)

(root@node01) > set global local_infile=on;
Query OK, 0 rows affected (0.00 sec)

(root@node01) > select count(*) from customer;
+----------+
| count(*) |
+----------+
|   300000 |
+----------+
1 row in set (0.29 sec)
[root@node01 ~]# pt-archiver --help
--source	指定需要进行归档操作的表,使用DSN方式表示

--dest		指定要归档到的目标端表,使用DSN方式表示

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

--for-update	指定为每次归档执行的SELECT语句添加FOR UPDATE子句

--share-lock	指定为每次归档执行的SELECT语句添加LOCK IN SHARE MODE子句

--no-delete	不删除已被归档的表数据

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

--statistics	收集并打印操作的时间统计信息

--txn-size	默认值:1;指定每个事务处理的行数,如果是0则禁用事务功能

--limit		默认值:1,指定每条语句获取表和归档表的行数

--purge		执行purge操作而不是归档操作

DSN选项
a	归档操作是在哪个库下进行的,相当于USE操作

A	指定默认字符集

b	当值为true时,禁止SQL_LOG_BIN,相当于SQL_LOG_BIN = 0

D	指定包含需要归档表的数据库

h	指定连接的主机

u	指定连接的用户

p	指定连接需要的密码

P	指定连接的端口

S	指定连接的SOCKET文件.1234

t	指定需要归档的表
[mysql@node01 ~]$ pt-archiver --source h=192.168.1.101,P=3306,u=tpcc,p=tpcc,D=tpcc10,t=customer,A=utf8mb4 \
--dest h=192.168.1.102,P=3306,u=tpcc,p=tpcc,D=tpcc10,t=customer_jp,A=utf8mb4 \
--where "c_state='jp'" --progress 2000 --limit=2000 --bulk-insert --statistics
TIME                ELAPSED   COUNT
2023-08-26T15:19:26       0       0
2023-08-26T15:19:27       1     298
Started at 2023-08-26T15:19:26, ended at 2023-08-26T15:19:30
Source: A=utf8mb4,D=tpcc10,P=3306,h=192.168.1.101,p=...,t=customer,u=tpcc
Dest:   A=utf8mb4,D=tpcc10,P=3306,h=192.168.1.102,p=...,t=customer_jp,u=tpcc
SELECT 298
INSERT 298
DELETE 298
Action              Count       Time        Pct
bulk_deleting           1     2.3192      59.06
select                  2     1.1356      28.92
commit                598     0.2867       7.30
bulk_inserting          1     0.0912       2.32
print_bulkfile        298     0.0008       0.02
other                   0     0.0935       2.38

(root@node01) > select count(*) from customer;
+----------+
| count(*) |
+----------+
|   299702 |
+----------+
1 row in set (0.32 sec)

(root@node01) > select count(*) from customer where c_state='jp';
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.46 sec)

(root@node02) > select count(*) from customer_jp;
+----------+
| count(*) |
+----------+
|      298 |
+----------+
1 row in set (0.06 sec)

标签:customer,8.0,pt,--,指定,archiver,归档,+----------+,count
From: https://blog.51cto.com/dbprofessional/7244914

相关文章

  • 【MySQL 8.0】通过pt-heartbeat监控从库与主库的复制延迟
    [root@node01~]#wgethttps://repo.percona.com/yum/percona-release-latest.noarch.rpm[root@node01~]#rpm-ivhpercona-release-latest.noarch.rpm[root@node01~]#yuminstall-ypercona-toolkit[root@node01~]#pt-heartbeat--versionpt-heartbeat3.5.2[......
  • iptables使用方法
    -A(添加-I(插入-D(删除-F(清除所有-L(显示 -P(默认策略举例:iptables-AINPUT-s10.7.226.135iptcp--dport22-jDROP(丢弃iptables-LINPUT(输入  FORWARD(转发 OUTPUT(输出iptables-AINPUT-s192.168.1.10-jACCEPT(同意 iptables-IINPUT2-s192.168.1.1......
  • 【MySQL 8.0】通过pt-table-checksum校验从库与主库的数据一致性
    通过yum安装percona-toolkit[root@node01~]#wgethttps://repo.percona.com/yum/percona-release-latest.noarch.rpm[root@node01~]#rpm-ivhpercona-release-latest.noarch.rpm[root@node01~]#yuminstall-ypercona-toolkit[mysql@node01~]$pt-table-checksum--......
  • 报错ValueError: Can't find 'adapter_config.json'
    前言在做组内2030项目时,我具体做的一个工作是对大模型进行LoRA微调,在整个过程中有许多坑,其中有些值得记录的问题,于是便产生了这篇博客。问题我在得到微调好的模型后,需要对模型进行性能测评。在加载模型时,遇到如下报错ValueError:Can'tfind'adapter_config.json'补充:报错......
  • 【MySQL 8.0】建立安全的网络连接
    (root@node01)>showglobalvariableslike'require_secure_transport';+--------------------------+-------+|Variable_name|Value|+--------------------------+-------+|require_secure_transport|OFF|+----------------------......
  • 【MySQL 8.0】透明数据加密(TDE)
    [mysql@node01~]$vim/etc/my.cnf[mysqld]early-plugin-load=keyring_file.sokeyring_file_data=/usr/local/mysql/data/keyring(root@node01)>selectplugin_name,plugin_statusfrominformation_schema.pluginswhereplugin_namelike'keyring%';......
  • System.Messaging.MessageQueueException: 对消息队列系统的访问被拒绝
    无法启动服务。System.Messaging.MessageQueueException:对消息队列系统的访问被拒绝。使用Windows的消息队列时,窗体界面的应用可以对消息队列进行全部权限的操作,但是编写的Windows服务对消息队列进行操作时有可能会出现此错误提示,在这里提供一种解决方法:首先明确Windows服务程......
  • org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or nu
    "org.apache.ibatis.exceptions.TooManyResultsException:Expectedoneresult(ornull)tobereturnedbyselectOne(),butfound:2"是MyBatis框架中的异常错误信息,表示在使用selectOne()方法执行查询时,期望返回一个结果(或null),但实际上返回了多个结果。selectOne()方......
  • 【MySQL 8.0】在组复制(MGR)的基础上创建InnoDB Cluster
    [root@node04~]#wgethttps://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-8.0.32-1.el7.x86_64.rpm[root@node04~]#yumlocalinstallmysql-shell-8.0.32-1.el7.x86_64.rpm-y[root@node04~]#mysqlshMySQLJS>\connectroot@node01:3306MySQL......
  • 【MySQL 8.0】密码复杂度验证组件与连接控制插件
    (root@node01)>installcomponent'file://component_validate_password';QueryOK,0rowsaffected(0.08sec)(root@node01)>select*frommysql.component;+--------------+--------------------+------------------------------------+|compo......