数据一致性校验及数据同步,运维必看
pt-table-checksum
mysql> grant select,insert,update,delete,create,drop,super,process,replication slave on *.* to 'syncuser'@'%' identified by 'Syncuser@123';
[root@node1 ~]# pt-table-checksum -usyncuser -pSyncuser@123 --nocheck-replication-filters --no-check-binlog-format --databases=test --replicate=test.checksums --create-replicate-table
Checking if all tables can be checksummed ...
Starting checksum ...
TS ERRORS DIFFS ROWS DIFF_ROWS CHUNKS SKIPPED TIME TABLE
09-04T21:36:43 0 0 0 0 1 0 0.089 test.efs_sys_loginfo4
09-04T21:36:43 0 0 1006 0 1 0 0.089 test.groupby
09-04T21:36:43 0 0 0 0 1 0 0.030 test.groupby1
09-04T21:36:43 0 1 1006 0 1 0 0.030 test.groupby2
09-04T21:36:43 0 0 7 0 1 0 0.030 test.student
09-04T21:36:43 0 0 7 0 1 0 0.032 test.student1
09-04T21:36:43 0 1 0 8 1 0 0.034 test.t
09-04T21:36:43 0 0 57344 0 4 0 0.328 test.t1
09-04T21:36:43 0 1 1 0 1 0 0.028 test.test
09-04T21:36:43 0 0 8 0 1 0 0.036 test.tuser
CREATE TABLE `dsns` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) DEFAULT NULL,
`dsn` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
insert into dsns(dsn) values('h=36.30.39.176,u=syncuser,p=Syncuser@123,P=3306');
TS ERRORS DIFFS ROWS DIFF_ROWS CHUNKS SKIPPED TIME TABLE
09-04T22:29:52 0 0 1 0 1 0 0.029 test.dsns
TS:完成检查的时间
ERRORS:错误和告警的数量。
DIFFS:是否一致,0代表一致,1代表不一致。
ROWS:表的行数
DIFF_ROWS:
CHUNKS:划分的块的数目
SKIPPED:跳过的块的数目
TIME:执行时长
TABLE:表名
pt-table-sync
pt-table-sync h=36.30.39.117,P=3306,u=syncuser,p=Syncuser@123 --database=test --replicate='test.checksums' --execute
pt-table-sync h=36.30.39.176,P=3306,u=syncuser,p=Syncuser@123 --database=test --tables=t1 --replicate='test.checksums' --sync-to-master --execute
pt-table-sync h=36.30.39.176,u=syncuser,p=Syncuser@123,D=test,t=t1 --sync-to-master --execute
pt-table-sync h=36.30.39.176,u=syncuser,p=Syncuser@123,D=test,t=t1 h=36.30.39.213,u=syncuser,p=Syncuser@123,D=test,t=t1 --sync-to-master --execute
pt-table-sync h=36.30.39.117,u=syncuser,p=Syncuser@123,D=test,t=t1 h=36.30.39.176,u=syncuser,p=Syncuser@123 h=36.30.39.213,u=syncuser,p=Syncuser@123 --no-check-slave –execute
DSN syntax is key=value[,key=value...] Allowable DSN keys:
KEY MEANING
=== =============================================
A 指定字符集
D 同步的数据库
P 端口
S Socket文件
h 要连接的host
p 数据库密码
t 要同步的表
u 数据库用户
本文分享自微信公众号 - MySQL数据库技术栈(Mysqltechnology)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
面试官问我什么是「栈」,我随手画了10张图来解释
关注、星标公众号 ,直达精彩内容 ID:技术让梦想更伟大 作者:李肖遥 栈的概念 栈(stack)是限定仅在表的一端进行操作的数据结构,且栈是一种先进后出的数据结构,允许操作的一端称为栈顶,不允许操作的称为栈底,如下图所示: 之前我们讲到了链表,我们只能够对其链表的表尾结点进行操作,并且只能进行插入一个新的结点与删除最末尾的这个结点两个操作,而这样强限制性的‘链表’,就是我们所说的栈。 就像是一个死胡同一样,只有一个出口,如图所示,有个概念: 栈的结点设计 栈分为数组栈和链表栈,其区别如下: 数组栈使用数组进行功能的模拟,实现较为快速和便利; 链表栈使用链表的思路去设计,实现相比较说较为麻烦,但是其稳定,且不易出错; 在链表栈中又分为静态链表栈和动态链表栈,其区别如下: 静态链表栈给定栈的空间大小,不允许超过存储超过给定数据大小的元素; 动态栈使用的是自动创建空间的方法进行创建,只要符合机器的硬件要求以及编译器的控制,其理论上是极大的。 数组栈 其实际就是用一段连续的存储空间来存储栈中的数据元素,有以下特点: 元素所占的存储空间必须连续,这里的连续是指的逻辑连续,而不是物理连续。 元素...
- 下一篇
快来看看!Spring Boot 应用程序启动流程分析
SpringBoot 有两个关键元素: @SpringBootApplication SpringApplication 以及 run() 方法 SpringApplication 这个类应该算是 Spring Boot 框架的“创新”产物了,原始的 Spring 中并没有这个类,SpringApplication 中封装了一套 Spring 应用的启动流程,然而这对用户完全透明,因此我们上手 Spring Boot 时感觉很简洁、轻量。 一般来说默认的 SpringApplication 执行流程已经可以满足大部分需求,但是若用户想干预这个过程,则可以通过 SpringApplication 在流程某些地方开启扩展点来完成对流程的扩展,典型的扩展方案那就是使用 set 方法。 比如,把我们天天司空见惯的 Spring Boot 应用的启动类来拆解一下写出来就是这样: @SpringBootApplication public class CodeSheepApplication { public static void main( String[] args ) { //Spr...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合Redis,开启缓存,提高访问速度