GoGPT Best VPN GoSearch

OnWorks 网站图标

pt-duplicate-key-checkerp - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 pt-duplicate-key-checkerp

这是 pt-duplicate-key-checkerp 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


pt-duplicate-key-checker - 在 MySQL 表上查找重复的索引和外键。

概要


用法:pt-duplicate-key-checker [OPTIONS] [DSN]

pt-duplicate-key-checker 检查 MySQL 表中的重复或冗余索引和
外键。 连接选项从 MySQL 选项文件中读取。

pt-duplicate-key-checker --host 主机1

风险


Percona Toolkit 是成熟的,在现实世界中得到验证,并经过良好测试,但所有数据库
工具会给系统和数据库服务器带来风险。 在使用这个工具之前,
请:

· 阅读工具的文档

· 查看工具已知的“BUGS”

· 在非生产服务器上测试该工具

· 备份您的生产服务器并验证备份

商品描述


这个程序检查 MySQL 表上 SHOW CREATE TABLE 的输出,如果它找到
以相同顺序覆盖与另一个索引相同的列的索引,或覆盖一个精确的
另一个索引的最左边前缀,它打印出可疑索引。 默认情况下,
索引必须是相同的类型,因此 BTREE 索引不是 FULLTEXT 索引的副本,
即使它们具有相同的列。 您可以覆盖它。

它还查找重复的外键。 重复的外键覆盖相同的列
作为同一个表中的另一个,并引用同一个父表。

输出以一个简短的总结结束,其中包括对总大小的估计,在
字节,重复索引正在使用。 这是通过乘以指数计算的
长度由各自表中的行数决定。

配置


此工具接受额外的命令行参数。 参考“概要”和用法
详细信息。

--所有结构
比较具有不同结构(BTREE、HASH 等)的索引。

默认情况下这是禁用的,因为 BTREE 索引覆盖与
例如,FULLTEXT 索引并不是真正的重复项。

--询问通行证
连接 MySQL 时提示输入密码。

--字符集
简写:-A; 类型:字符串

默认字符集。 如果值为 utf8,则将 STDOUT 上的 Perl 的 binmode 设置为 utf8,
将 mysql_enable_utf8 选项传递给 DBD::mysql,然后运行 ​​SET NAMES UTF8
连接到 MySQL。 任何其他值在没有 utf8 层的 STDOUT 上设置 binmode,
并在连接到 MySQL 后运行 SET NAMES。

--[无]聚集
默认:是

附加到辅助键的 PK 列是重复的。

检测辅助键的后缀何时是主键的最左边前缀,以及
将其视为重复键。 仅在其存储引擎上检测这种情况
主键是集群的(目前是 InnoDB 和solidDB)。

集群存储引擎将主键列附加到所有的叶节点
无论如何,辅助键,因此您可能认为让它们出现在
内部节点也是如此。 当然,您可能还希望它们位于内部节点中,
因为仅将它们放在叶节点上对某些查询没有帮助。 它确实有帮助
然而,用于覆盖索引查询。

下面是一个使用此选项被认为是多余的键的示例:

主键 (`a`)
键`b`(`b`,`a`)

此类索引的使用相当微妙。 例如,假设您有以下内容
询问:

选择...其中 b=1 ORDER BY a;

如果我们删除“b,a”上的索引,此查询将执行文件排序。 但是如果我们缩短
"b,a" 上的索引到 "b" 并删除 ORDER BY,查询应该返回
相同的结果。

该工具建议通过删除密钥并重新
在没有主键前缀的情况下添加它。 缩短的聚集键可能仍然
复制另一个密钥,但该工具目前无法检测到这种情况何时发生
第二次运行以重新检查新缩短的集群键。 因此,如果
您缩短任何重复的集群键,您应该再次运行该工具。

--配置
类型:数组

阅读这个逗号分隔的配置文件列表; 如果指定,这必须是第一个
命令行选项。

--数据库
简写形式:-d; 类型:哈希

仅检查此逗号分隔的数据库列表。

--defaults-文件
简写:-F; 类型:字符串

仅从给定文件中读取 mysql 选项。 您必须提供绝对路径名。

- 引擎
简写形式:-e; 类型:哈希

仅检查其存储引擎在此逗号分隔列表中的表。

- 帮帮我
显示帮助并退出。

- 主持人
简写:-h; 类型:字符串

连接到主机。

--忽略数据库
类型:哈希

忽略此逗号分隔的数据库列表。

--忽略引擎
类型:哈希

忽略此逗号分隔的存储引擎列表。

--忽略顺序
忽略索引顺序,因此 KEY(a,b) 复制 KEY(b,a)。

--忽略表
类型:哈希

忽略这个以逗号分隔的表格列表。 表名可以用
数据库名称。

--键类型
类型:字符串; 默认值:fk

检查重复的 f=外键、k=keys 或 fk=both。

- 密码
简写形式:-p; 类型:字符串

连接时使用的密码。 如果密码包含逗号,则必须对其进行转义
带反斜杠:“exam\,ple”

--pid
类型:字符串

创建给定的 PID 文件。 如果 PID 文件已经存在并且该工具将不会启动
它包含的 PID 与当前 PID 不同。 但是,如果 PID 文件
存在并且它包含的 PID 不再运行,该工具将覆盖 PID
带有当前 PID 的文件。 工具退出时,PID 文件会自动删除。

- 港口
简写形式:-P; 类型:int

用于连接的端口号。

--设置变量
类型:数组

在这个逗号分隔的“变量=值”对列表中设置 MySQL 变量。

默认情况下,工具集:

等待超时=10000

在命令行上指定的变量会覆盖这些默认值。 例如,
指定“--set-vars wait_timeout=500”会覆盖默认值 10000。

如果无法设置变量,该工具会打印警告并继续。

- 插座
简写:-S; 类型:字符串

用于连接的套接字文件。

--[没有]sql
默认:是

为每个重复键打印 DROP KEY 语句。 默认情况下是一个 ALTER TABLE DROP KEY
语句打印在每个重复键的下方,这样,如果您想删除
重复键,您可以将语句复制粘贴到 MySQL 中。

要禁用打印这些语句,请指定“--no-sql”。

--[无]总结
默认:是

在输出结束时打印索引摘要。

--表格
简写:-t; 类型:哈希

仅检查此逗号分隔的表格列表。

表名可以用数据库名来限定。

- 用户
简写:-u; 类型:字符串

如果不是当前用户,则用于登录的用户。

--详细
简短形式:-v

输出找到的所有键和/或外键,而不仅仅是多余的。

- 版
显示版本并退出。

--[无]版本检查
默认:是

检查 Percona Toolkit、MySQL 和其他程序的最新版本。

这是一个标准的“自动检查更新”功能,还有两个额外的
特征。 首先,该工具在本地系统中检查其他程序的版本
除了它自己的版本。 例如,它检查每个 MySQL 服务器的版本
它连接到 Perl 和 Perl 模块 DBD::mysql。 其次,它检查并警告
关于存在已知问题的版本。 例如,MySQL 5.5.25 有一个严重的错误并且
被重新发布为 5.5.25a。

在工具正常输出之前,任何更新或已知问题都会打印到 STDOUT。
此功能不应干扰工具的正常操作。

欲了解更多信息,请访问.

DSN 配置


这些 DSN 选项用于创建 DSN。 每个选项都像“option=value”一样给出。
选项区分大小写,因此 P 和 p 不是同一个选项。 不可能有
“=”之前或之后的空格,如果该值包含空格,则必须用引号引起来。
DSN 选项以逗号分隔。 有关完整详细信息,请参阅 percona-toolkit 联机帮助页。

· 一种

dsn:字符集; 副本:是

默认字符集。

·D

dsn:数据库; 副本:是

默认数据库。

F

dsn: mysql_read_default_file; 副本:是

仅从给定文件中读取默认选项

· H

dsn:主机; 副本:是

连接到主机。

·p

dsn:密码; 副本:是

连接时使用的密码。 如果密码包含逗号,则必须对其进行转义
带反斜杠:“exam\,ple”

·P

dsn:端口; 副本:是

用于连接的端口号。

·S

dsn: mysql_socket; 副本:是

用于连接的套接字文件。

·你

dsn:用户; 副本:是

如果不是当前用户,则用于登录的用户。

环境


环境变量“PTDEBUG”启用对 STDERR 的详细调试输出。 启用
调试并将所有输出捕获到文件中,运行该工具,如:

PTDEBUG=1 pt-duplicate-key-checker ... > 文件 2>&1

请注意:调试输出量很大,可能会生成几兆字节的输出。

系统 参赛要件


你需要 Perl、DBI、DBD::mysql 和一些应该安装在任何地方的核心包。
相当新版本的 Perl。

使用 onworks.net 服务在线使用 pt-duplicate-key-checkerp


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。