首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pt-table-checksum使用实践

(master)上通过执行校验的查询对复制的一致性进行检查,对比主从的校验值,从而产生结果。...很多文章没提,却能正常进行,不得不说大牛就是牛B 注意: 1、 根据测试,需要一个即能登录主库,也能登录从库的账号; 2、 只能指定一个host,必须为主库的IP; 3、 检查时会向表加S锁;...TIME :执行的时间。 TABLE :被检查的表名。 参数的意思: --nocheck-replication-filters :不检查复制过滤器,建议启用。...命令介绍完了,一起解释下执行的效果:通过(—print)打印出来了修复数据的sql语句,可以手动的去从行执行,让他们数据保持一致性。那能否直接执行?...不然直接执行了,出现问题之后更不好处理。总之还是处理之前做好数据的备份工作。

4.2K90

SQL命令 UPDATE(二)

因此,强烈建议使用%List结构更新%SerialObject属性值之后,使用$SYSTEM.SQL.Schema.ValidateTable()方法执行表数据验证。...-不执行唯一值检查和外键引用完整性检查。...否则将导致SQLCODE-99错误,因为%msg用户‘name’没有%NOCHECK权限。 如果希望指定%NOCHECK时阻止导致非唯一数据值的更新,请在更新之前执行EXISTS检查。...或者,可以使用NOCHECK关键字定义外键,这样就永远不会执行外键引用完整性检查。 %NOFPLAN - FROM子句语法仅:此操作忽略冻结的计划(如果有); 该操作将生成一个新的查询计划。...如果在带有%NOJOURN的语句之后执行ROLLBACK,则该语句所做的更改将不会回滚。 %NOLOCK -UPDATE时未锁定行。 这应该只单个用户/进程更新数据库时使用。

1.8K30
您找到你想要的搜索结果了吗?
是的
没有找到

Mysql一致性效验_pt工具--常用选项

使用选项: --[no]check-replication-filter 是否检查复制过滤规则,如果主库和从库都没有过滤规则,可以选择不检查过滤规则 --[no]check-binlog-format...pt需要主库使用STATEMENT格式的binlog, 如果binlog是MIXED格式,最好指定--nocheck-binlog-format --check-slave-tables 检查是否所有从库都有被检查的表和列...,会消耗一定的时间 安全选项: --chunk-size-limit 将表分成chunk的最大大小,超过这个值的chunk则跳过 --check-slave-lag 指定只检查某个从库的延迟,不指定则检查所有从库的延迟...,默认存放在percona.checksums表中,可以手动指定其他表 --databases 只检查某些库 --tables 只检查某些表 这些过滤选项修复不一致数据后,检查修复效果很有用。...过滤选项: --resume 上次检查因为某种原因中断,下次接着执行,不用从头开始 --chunk-time 检查每个chunk的用时,默认是0.5s

47720

编译arm64平台的软件包

dpkg-buildpackage命令构建deb包,该条命令执行完毕后,在上一层目录下就会生成deb包 $ dpkg-buildpackage -us -uc -b 对于apt源里有source包的软件包...xf mysql-community_5.7.27-1debian9.debian.tar.xz -C mysql-5.7.27/ # 切换到deb包构建目录 $ cd mysql-5.7.27/ # 检查编译...deb包依赖的那些软件包是否都安装好了,如果没有安装好,先用apt-get install安装一下 $ grep 'Build-Depends' debian/control # 执行dpkg-buildpackage...命令构建deb包,该条命令执行完毕后,在上一层目录下就会生成deb包 $ dpkg-buildpackage -us -uc -b 可以看到过程其实跟x86下构建deb包类似,只是需要手工下载下source.../mysql-community-5.7.27-1.el7.src.rpm # 使用rpmbuild命令构建rpm包,该条命令执行完毕后,~/rpmbuild/RPMS/x86_64目录下就生成了rpm

4.6K20

SQL命令 INSERT(一)

%Keyword字选项 指定%Keyword参数将按如下方式限制处理: %NOCHECK-不执行唯一值检查和外键引用完整性检查。也不执行针对数据类型、最大长度、数据约束和其他验证条件的列数据验证。...如果希望指定%NOCHECK时防止插入非唯一数据值,请在插入之前执行EXISTS检查。...或者,可以使用NOCHECK关键字定义外键,这样就永远不会执行外键引用完整性检查。 %NOFPLAN-忽略此操作的冻结计划(如果有);该操作将生成新的查询计划。冻结的计划将保留,但不会使用。...%NOJOURN-插入操作期间禁止日志记录。任何行中所做的任何更改都不会被记录下来,包括拉出的任何触发器。如果在使用%NOJOURN的语句之后执行ROLLBACK,则不会回滚该语句所做的更改。...因此,强烈建议使用%List结构插入%SerialObject属性值之后,使用$SYSTEM.SQL.Schema.ValidateTable()方法执行表数据验证。

6K20

检测MySQL主从复制一致性并修复

SLAVE,CREATE,DELETE,INSERT,UPDATE ON *.* TO 'pt'@'SLAVE_IP' identified by '123456'; flush privileges; 两台机器上分别执行这三条语句...检测数据一致性 使用的是pt-table-checksum这个工具,原理是: 主库执行基于statement的sql语句来生成主库数据块的checksum,把相同的sql语句传递到从库执行,并在从库上计算相同数据块的...--create-replicate-table: 生成checksums表(第一次执行时一定要加上这个参数,否则需要手动添加) --databases= :指定需要被检查的数据库,多个则用逗号隔开。...TIME :执行的时间。 TABLE :被检查的表名。...--create-table 主上创建心跳监控的表,如果该表不存在,可以自己手动建立,建议存储引擎改成memory。通过更新该表知道主从延迟的差距。

1.7K30

SQL表之间的关系

SQL表之间的关系要在表之间强制执行引用完整性,可以定义外键。修改包含外键约束的表时,将检查外键约束。定义外键有几种方法可以InterSystems SQL中定义外键:可以定义两个类之间的关系。...默认情况下,InterSystemsIRIS®数据平台对INSERT,UPDATE和DELETE操作执行外键引用完整性检查。...使用持久性类定义定义表时,可以使用NoCheck关键字定义外键,以禁止将来对该外键进行检查。CREATE TABLE不提供此关键字选项。可以使用%NOCHECK关键字选项禁止检查特定操作。...默认情况下,InterSystems IRIS还对以下操作执行外键引用完整性检查。如果指定的操作违反了引用完整性,则不执行该命令: ALTER TABLE DROP COLUMN。...可以使用SET选项COMPILEMODE=NOCHECK来抑制外键完整性检查。删除表。问题-320 SQLCODE。可以使用SET选项COMPILEMODE = NOCHECK来抑制外键插入检查

2.4K10

pt-table-checksum命令检查数据一致性

pt-table-checksum主要是用来检测主从的数据一致性的,它一般主库上执行,使用到的常见参数和输出分别如下: 01 常用参数 --replicate:将查到的数据不一致的结果保存在某个表中。...(一般制定为当前数据库里面的表) --nocheck-replication-filters:不检查复制过滤器 --replicate-check:检测复制中的不一致,为默认选项,可以不指定。...ERRORS :检查时候发生错误和警告的数量。 DIFFS :0表示一致,1表示不一致。...TIME :执行的时间。 TABLE :被检查的表名。 可以看到,最后的结果中检测行数是2,DIFFS是0,也就是没有检测出来不同,这和我们的预期不符。...该工具可以使用--sync-to-master参数结合--print参数来打印出来修复从库所需要的SQL文本,然后再从库上执行这些SQL脚本修复即可。

2.2K20

SQL命令 CREATE TABLE(五)

需要注意的是,包含缺省值条目的被引用表中必须存在一行。 CASCADE -删除被引用表中的行时,将检查所有引用表,以查看是否有任何行引用要删除的行。...,"SQL code: ",SQLCODE } NOCHECK关键字 如果指定NOCHECK关键字, IRIS不检查外键引用完整性。...NOCHECK关键字还阻止执行外键的引用操作子句。SQL查询处理器可以使用外键来优化表之间的联接。但是,如果将外键定义为NOCHECK,则SQL查询处理器不会将其视为已定义的外键。...NOCHECK外键仍然作为外键报告给xDBC目录查询。...切片键定义应该紧跟在table-element-commist的右括号之后,但在WITH子句之前(如果指定)。为了向后兼容,支持将分片键定义指定为table-element-commist中的元素。

1.7K50

linux中25个有用的apt-get和apt-cache基本命令

apt-get是一个功能强大且免费的包管理命令行程序,用于与Ubuntu’s APT(Advanced Packaging Tool) 库执行安装新软件包、删除现有软件包、升级现有软件包甚至用于升级整个操作系统...如何检查特定包的依赖关系? 使用 showpkg 子命令来检查特定软件包的依赖关系。是否安装了这些依赖包。例如,使用 showpkg 命令和包名。...例如,以下命令将显示 Total package names 是缓存中找到的包数。...你可以命令中添加多个软件包名称,以便同时安装多个软件包。例如,以下命令将安装包[nethogs]和[goaccess]。...如何检查已损坏的依赖项? check 命令是一个诊断工具。它用于更新包缓存并检查损坏的依赖项。

3.8K20

pt-table-checksum工具主从一致性检查修复

当我们进行数据库的运维工作时,很多时候会出现主从数据不一致的故障,尤其是当我们的binlog格式没有选择row模式,当主库执行一些类似于replace select或者时间函数等不确定的随机函数时,会出现从库数据和主库数据不一样...设置成功,那我们只能手动将动态参数binlog_format设置为statement模式。...pt-table-checksum 3.0.4执行时缺少SET@@binlog_format='STATEMENT',建议不要使用。...根据pt的执行机制,那到底是那一步出现问题了呢,有一种很挫的方法,仅仅是为了看差异结果(生产环境勿用),执行pt-table-checksum前,主上 set global binlog_format...1)master上执行,--print打印出修复的sql语句。参数--sync-to-master参数master上执行必须有,否则打印不出差异sql。

80010

SQL命令 DELETE(一)

FROM clause - 可选-FROM子句,table-ref之后指定。此FROM可用于指定一个或多个选择表,用于选择要删除的行。可以将多个表指定为逗号分隔的列表或与ANSI联接关键字关联。...%NOJOURN-删除操作期间禁止日志记录。任何行中所做的任何更改都不会被记录下来,包括拉出的任何触发器。如果在使用%NOJOURN的语句之后执行ROLLBACK,则不会回滚该语句所做的更改。...参照完整性 如果不指定%NOCHECK, IRIS将使用系统范围的配置设置来确定是否执行外键引用完整性检查;默认情况下执行外键引用完整性检查。可以系统范围内设置此默认值,如外键引用完整性检查中所述。...IRIS防止DELETE与级联引用操作一起执行循环引用循环递归。 IRIS返回到原始表时结束级联序列。...(3)事务期间应用表锁,不要执行记录锁。

2.7K20

TS 进阶 - 实际应用 01

# 类型检查指令 # ts-ignore 与 ts-expect-error ts-ignore 直接禁用对下一行代码的类型检查,其本质是 ignore 而不是 disable: // @ts-ignore...# ts-check 与 ts-nocheck ts-nocheck 可以理解为一个作用于整个文件的 ignore 指令,使用之后整个 TS 文件都不再接受类型检查: // @ts-nocheck const...a: number = 'string' const b: string = 1 ts-check 看起来比较多余,因为默认 TS 文件都会被检查。...TypeScript 并不是只能检查 TS 文件,对于 JS 文件也可以通过类型推导与 JSDoc 的方式进行不完全的类型检查: // JavaScript 文件 let myAge = 18; //...如果希望 JS 文件中也能享受类型检查,此时 ts-check 指令既可以登场: // @ts-check /** @type {string} */ let myName = 18; // 报错

82110

数据一致性校验及数据同步,运维必看

pt-table-checksum pt-table-checksum可以在线校验主从数据库的一致性,他可以主库上执行检查语句,在线检查MySQL复制的一致性,然后生成replace语句,通过复制传递到从库...参数详解 --nocheck-replication-filters:不检查复制的过滤规则,比如replicate-ignore-db、replicate-wild-do-table。...参考官方文档时就已经晕了,写出来之后难免有纰漏之处,还请读者朋友多多批评指正。...当出现主从不一致时,我们需要判断哪个库的数据是正确的,大多数情况我们希望主库执行变更并且同步到从库。 2. 建议要同步的表要有主键,避免出现数据重复的问题。 3....该工具进行校验分析时会对表执行for update操作,避免在业务高峰期进行。

2.3K40

SQL命令 INSERT OR UPDATE

表中添加新行或更新表中的现有行。...[ (column{,column2} ...) ] query | DEFAULT VALUES 参数 %keyword - 可选-以下一个或多个关键字选项,以空格分隔:%NOCHECK...如果发生违反唯一键约束的情况,则INSERT或UPDATE将执行UPDATE操作。请注意,唯一键字段值可能不是INSERT或UPDATE中显式指定的值;它可能是列默认值或计算值的结果。...注意:由于%NOCHECK关键字禁用唯一值检查,因此INSERT或UPDATE %NOCHECK总是导致INSERT操作。因此,请不要指定%NOCHECK。...如果为表定义了标识字段,则INSERT或UPDATE会导致 IRIS确定操作是INSERT还是UPDATE之前,将用于向标识字段提供整数的内部计数器加1。插入操作将该递增的计数器值分配给标识字段。

2.6K40

dpkg详解_historian授权

如果相同包的另一个版本新包安装前已经被安装,执行旧包的prerm脚本程序。 3). 如果由包提供,运行postinst脚本。 4). 解压新文件同时备份旧文件,如果遇到问题以便修复。 5)....如果另一个版本的同一个包在新包安装前已经安装,执行旧包的postrm脚本。注意:执行postrm 脚本后执行新文件的preint脚本,因为写新文件的同时移除旧文件。 6). 配置软件包。...这一步通常是安装过程中自动进行的, 当然可以手动调用, 这次用到的是软件名, 而不是deb文件名....dpkg-buildpackage 从 Debian 源码树建立一个deb包。你必须在source tree的主目录才能生效。...debuild 一个快速打包脚本类似 dpkg-buildpackage ,能自动的识别是否使用 fakeroot, 同时为你运行 lintian 和 gpg 修正倚赖关系 dpkg –

3.3K10
领券