Amazon Best VPN GoSearch

OnWorks 网站图标

pt-variable-advisorp - 云端在线

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

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

程序:

您的姓名


pt-variable-advisor - 分析 MySQL 变量并就可能出现的问题提出建议。

概要


用法:pt-variable-advisor [OPTIONS] [DSN]

pt-variable-advisor 分析变量并就可能出现的问题提出建议。

从本地主机获取显示变量:

pt-variable-advisor 本地主机

获取保存在 vars.txt 中的 SHOW VARIABLES 输出:

pt-variable-advisor --变量源 vars.txt

风险


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

· 阅读工具的文档

· 查看工具已知的“BUGS”

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

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

商品描述


pt-variable-advisor 根据错误值和设置检查“显示变量”
“规则”描述如下。 它报告符合规则的变量,因此您可以找到
MySQL 服务器中的错误设置。

在此版本发布时,pt-variable-advisor 仅示例“显示变量”,但其他示例
输入源计划为“显示状态”和“显示从属状态”。

规则


这些是 pt-variable-advisor 将应用于 SHOW VARIABLES 的规则。 每个规则都有
三部分:ID、严重性和描述。

规则的 ID 是规则的简短唯一名称。 它通常与变量有关
规则审查。 如果一个变量被多个规则检查,那么规则的 ID
编号为“-1”、“-2”、“-N”。

规则的严重性表明此规则与
询问。 我们使用 NOTE、WARN 和 CRIT 来表示这些级别。

规则的描述是一个文本的、人类可读的解释,当
变量匹配此规则。 根据您生成的报告的详细程度,您
将在说明中看到更多文字。 默认情况下,您只会看到第一个
句子,这是规则含义的简洁概要。 在更高的冗长,
你会看到后面的句子。

自动递增
严重程度:注意

您是否尝试在双主复制或环复制中写入多个服务器
配置? 这可能非常危险,并且在大多数情况下是严重的
错误。 大多数人这样做的理由实际上根本站不住脚。

并发插入
严重程度:注意

MyISAM 表中的空洞(删除留下的空间)可能永远不会被重用。

连接超时
严重程度:注意

此设置的较大值可能会造成拒绝服务漏洞。

调试
严重性:暴击

不应该在生产中使用带有调试功能的服务器,因为
大的性能影响。

延迟_密钥_写入
严重程度:警告

MyISAM 索引块在必要时不会被刷新。 如果服务器崩溃,
MyISAM 表上的数据损坏可能比平时严重得多。

红晕
严重程度:警告

此选项可能会大大降低性能。

冲洗时间
严重程度:警告

此选项可能会大大降低性能。

有_bdb
严重程度:注意

BDB 引擎已弃用。 如果你不使用它,你应该用
skip_bdb 选项。

初始化连接
严重程度:注意

此服务器上启用了 init_connect 选项。

初始化文件
严重程度:注意

此服务器上启用了 init_file 选项。

初始化从机
严重程度:注意

此服务器上启用了 init_slave 选项。

innodb_additional_mem_pool_size
严重程度:警告

这个变量一般不需要大于20MB。

innodb_buffer_pool_size
严重程度:警告

InnoDB 缓冲池大小未配置。 在生产环境中应该
总是显式配置,默认的 10MB 大小不好。

innodb_校验和
严重程度:警告

InnoDB 校验和被禁用。 您的数据不受硬件损坏或
其他错误!

innodb_doublewrite
严重程度:警告

InnoDB 双写被禁用。 除非您使用的文件系统可以防止
部分页面写入,您的数据不安全!

innodb_fast_shutdown
严重程度:警告

InnoDB 的关闭行为不是默认的。 这可能会导致性能不佳,或
需要在启动时执行崩溃恢复。

innodb_flush_log_at_trx_commit-1
严重程度:警告

InnoDB 没有在严格的 ACID 模式下配置。 如果发生碰撞,一些
交易可能会丢失。

innodb_flush_log_at_trx_commit-2
严重程度:警告

将 innodb_flush_log_at_trx_commit 设置为 0 与设置相比没有性能优势
它到 2,可能会丢失更多类型的数据。 如果你想改变它
出于性能原因,从 1 开始,您应该将其设置为 2 而不是 0。

innodb_force_recovery
严重程度:警告

InnoDB 处于强制恢复模式! 这应该仅在以下情况下临时使用
从数据损坏或其他错误中恢复,而不是正常使用。

innodb_lock_wait_timeout
严重程度:警告

这个选项有一个异常长的值,如果锁定会导致系统过载
没有被释放。

innodb_log_buffer_size
严重程度:警告

InnoDB 日志缓冲区大小一般不应设置为大于 16MB。 如果你是
在进行大型 BLOB 操作时,InnoDB 无论如何都不是一个很好的引擎选择。

innodb_log_file_size
严重程度:警告

InnoDB 日志文件大小设置为其默认值,该值不适用于
生产系统。

innodb_max_dirty_pages_pct
严重程度:注意

innodb_max_dirty_pages_pct 低于默认值。 这会导致过度
主动刷新并增加 I/O 系统的负载。

冲洗时间
严重程度:警告

此设置可能会导致每flush_time 秒的性能非常差。

key_buffer_size的
严重程度:警告

密钥缓冲区大小设置为其默认值,这对大多数生产不利
系统。 在生产环境中,key_buffer_size 应该大于
默认 8MB 大小。

大页面
严重程度:注意

大页面已启用。

锁定内存
严重程度:注意

服务器使用--memlock 锁定在内存中。

log_warnings-1
严重程度:注意

Log_warnings 被禁用,因此不安全的复制语句等异常事件
并且中止的连接不会记录到错误日志中。

log_warnings-2
严重程度:注意

Log_warnings 必须设置为大于 1 以记录异常事件,例如中止
连接。

低优先级更新
严重程度:注意

服务器正在以非默认的更新锁定优先级运行。 这可能会导致
更新查询以意外等待读取查询。

最大二进制日志大小
严重程度:注意

max_binlog_size 小于默认值 1GB。

最大连接错误
严重程度:注意

max_connect_errors 可能应该设置为您的平台允许的尽可能大。

MAX_CONNECTIONS
严重程度:警告

如果服务器真的有超过一千个线程在运行,那么系统是
可能花更多的时间来调度线程而不是真正做有用的工作。 这个
应根据您的工作量考虑变量的值。

myisam_repair_threads
严重程度:注意

myisam_repair_threads > 1 启用多线程修复,相对未经测试
并且仍然在官方文档中列为测试质量代码。

旧密码
严重程度:警告

旧式密码不安全。 它们通过网络以纯文本形式发送。

优化器修剪级别
严重程度:警告

优化器在规划复杂查询时将使用穷举搜索,这可以
导致规划过程需要很长时间。

端口
严重程度:注意

服务器正在侦听非默认端口。

查询缓存大小-1
严重程度:注意

查询缓存不会扩展到大尺寸,并且在以下情况下会导致性能不稳定
大于 128MB,尤其是在多核机器上。

查询缓存大小-2
严重程度:警告

查询缓存在大于 256MB 时会导致严重的性能问题,
尤其是在多核机器上。

读取缓冲区大小-1
严重程度:注意

read_buffer_size 变量通常应保留其默认值,除非专家
确定有必要改变它。

读取缓冲区大小-2
严重程度:警告

read_buffer_size 变量不应大于 8MB。 一般应该是
保留其默认值,除非专家确定有必要更改它。 制作
它大于 2MB 会显着影响性能,并可能导致服务器崩溃,
交换到死,或者只是变得非常不稳定。

read_rnd_buffer_size-1
严重程度:注意

read_rnd_buffer_size 变量通常应保留其默认值,除非
专家认为有必要改变它。

read_rnd_buffer_size-2
严重程度:警告

read_rnd_buffer_size 变量不应大于 4M。 一般应该
保留其默认值,除非专家确定有必要更改它。

中继日志空间限制
严重程度:警告

设置relay_log_space_limit 会导致副本停止从
他们的主人立即。 这可能会增加您的数据丢失的风险,如果
主崩溃。 如果副本遇到中继日志空间的限制,则
有可能最新的交易只存在于master上,而没有replica
已经找回了它们。

从机网络超时
严重程度:警告

此变量设置得太高。 等太久了,才注意到
与主站的连接失败并正在重试。 这可能应该设置为 60
秒或更短。 使用 pt-heartbeat 来确保
当主机只是空闲时,连接似乎不会超时。

从机跳过错误
严重性:暴击

您不应设置此选项。 如果复制出现错误,您需要查找并
解决其原因; 你的奴隶的数据很可能与
掌握。 你可以用 pt-table-checksum 找出来。

排序缓冲区大小-1
严重程度:注意

sort_buffer_size 变量通常应保留其默认值,除非专家
确定有必要改变它。

排序缓冲区大小-2
严重程度:注意

sort_buffer_size 变量通常应保留其默认值,除非专家
确定有必要改变它。 使其大于几 MB 可能会造成伤害
性能显着,并且可能导致服务器崩溃、交换死亡,或者只是
变得极其不稳定。

sql_notes
严重程度:注意

此服务器配置为不将注释级别的警告记录到错误日志中。

同步帧
严重程度:警告

最好设置 sync_frm,以便 .frm 文件安全地刷新到磁盘,以防万一
服务器崩溃。

tx_isolation-1
严重程度:注意

此服务器的事务隔离级别是非默认的。

tx_isolation-2
严重程度:警告

大多数应用程序应该使用默认的 REPEATABLE-READ 事务隔离级别,
或者在少数情况下是 READ-COMMITTED。

过期日志天数
严重程度:警告

二进制日志已启用,但未启用自动清除。 如果不清除
二进制日志,您的磁盘将被填满。 如果您在 MySQL 外部删除二进制日志,
你会导致不必要的行为。 总是要求 MySQL 清除过时的日志,从不
从外部删除它们。

innodb_文件_io_线程
严重程度:注意

除了在 Windows 上,此选项没有用。

innodb_数据文件_路径
严重程度:注意

自动扩展 InnoDB 文件会消耗大量磁盘空间,这很难
稍后收回。 有些人更喜欢设置 innodb_file_per_table 并分配一个固定的-
ibdata1 的大小文件。

innodb_flush_method
严重程度:注意

大多数使用 InnoDB 的生产数据库服务器应该将 innodb_flush_method 设置为
O_DIRECT 避免双缓冲,除非 I/O 系统的性能非常低。

innodb_locks_unsafe_for_binlog
严重程度:警告

此选项可以从二进制日志和复制中进行时间点恢复,
如果使用基于语句的日志记录,则不可信。

innodb_support_xa
严重程度:警告

MySQL 的 InnoDB 和二进制日志之间的内部 XA 事务支持被禁用。
崩溃恢复后,二进制日志可能与 InnoDB 的状态不匹配,并且复制
由于二进制日志中的乱序语句,可能会失去同步。

日志箱
严重程度:警告

二进制日志被禁用,因此时间点恢复和复制不是
可能。

日志输出
严重程度:警告

将日志输出定向到表具有很高的性能影响。

最大中继日志大小
严重程度:注意

定义了自定义 max_relay_log_size。

myisam_recover_options
严重程度:警告

myisam_recover_options 应设置为某个值,例如 BACKUP,FORCE 以确保
注意到表损坏。

存储引擎
严重程度:注意

服务器默认使用非标准存储引擎。

同步二进制日志
严重程度:警告

启用了二进制日志记录,但未配置 sync_binlog 以便每个事务
刷新到二进制日志以获得持久性。

tmp_表大小
严重程度:注意

内部使用的内存隐式临时表的有效最小大小
在查询执行期间是 min(tmp_table_size, max_heap_table_size),所以
max_heap_table_size 应该至少与 tmp_table_size 一样大。

旧的 mysql 版本
严重程度:警告

这些是每个主要版本的推荐最低版本:3.23、4.1.20、
5.0.37,5.1.30。

终止生命的 mysql 版本
严重程度:注意

每个早于 5.1 的版本现在都正式终止。

配置


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

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

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

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

--配置
类型:数组

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

--守护进程
叉到后台并从外壳上分离。 仅限 POSIX 操作系统。

- 数据库
简写:-D; 类型:字符串

连接到这个数据库。

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

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

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

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

连接到主机。

--忽略规则
类型:哈希

忽略这些规则 ID。

指定要忽略的规则 ID(例如 LIT.001、RES.002 等)的逗号分隔列表。

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

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

--pid
类型:字符串

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

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

用于连接的端口号。

--设置变量
类型:数组

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

默认情况下,工具集:

等待超时=10000

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

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

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

用于连接的套接字文件。

--变量来源
类型:字符串; 默认值:mysql

从此来源阅读“显示变量”。 可能的值是“mysql”、“none”或一个文件
姓名。 如果指定了“mysql”,那么您还必须在命令行上指定 DSN。

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

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

--详细
简短形式:-v; 累计:是; 默认值:1

增加输出的详细程度。 在默认的详细级别,程序打印
只有每个规则描述的第一句话。 在更高级别,该计划
打印更多的描述。

- 版
显示版本并退出。

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

检查 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-variable-advisor ...> 文件 2>&1

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

系统 参赛要件


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

使用 onworks.net 服务在线使用 pt-variable-advisorp


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




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