跳到内容

pt-slave-restart

名字

pt-slave-restart—在出现错误后观察并重新启动MySQL复制。

剧情简介

使用

pt-奴隶-重新启动选项DSN

pt-slave-restart监视一个或多个MySQL复制从库的错误,如果复制停止,则尝试重新启动复制。

风险

雷竞技下载官网Percona Toolkit是成熟的,在现实世界中得到了验证,并且经过了良好的测试,但所有数据库工具都可能对系统和数据库服务器构成风险。使用此工具前,请:

  • 阅读工具的文档

  • 检查工具已知的“bug”

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

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

描述

pt-slave-restart监视一个或多个MySQL复制从库,并尝试跳过导致错误的语句。它以指数变化的睡眠时间智能地调查奴隶。您可以指定错误来跳过并运行slave直到某个binlog位置。

尽管这个工具可以帮助从服务器克服错误,但您不应该依赖它来“修复”复制。如果从错误频繁或意外发生,则应该确定并修复根本原因。

输出

pt-slave-restart每当它看到从服务器有错误时,就打印一行。默认情况下,这一行是:时间戳、连接信息、relay_log_file、relay_log_pos和last_errno。属性可以添加更多信息——详细选择。属性可以抑制所有输出——安静选择。

睡眠

pt-slave-restart在轮询slave之间聪明地睡觉。当前睡眠时间不一致。

  • 初始睡眠时间由——睡眠

  • 如果它检查并发现错误,它就会将之前的睡眠时间减半。

  • 如果没有发现错误,则将先前的睡眠时间增加一倍。

  • 睡眠时间以以下为界——min-sleep以上是——max-sleep

  • 在发现错误之后,pt-slave-restart假设接下来很可能发生另一个错误,因此它休眠当前睡眠时间或初始睡眠时间,以两者中较少者为准。

全局事务id

从Perco雷竞技下载官网na Toolkit 2.2.8开始,pt-slave-restart支持MySQL 5.6.5引入的全局事务id。重要的是要记住:

  • pt-slave-restart当使用多个复制线程时不会跳过事务(slave_parallel_workers > 0)。pt-slave-restart不知道特定从线程事务失败的GTID事件是什么。

  • 默认行为是跳过从服务器的主服务器的下一个事务。写操作可以在不同的服务器上进行,每个服务器都有自己的UUID。

    看到——master-uuid

退出状态

退出状态为0(有时也称为返回值或返回码)表示成功。任何其他值表示Perl进程本身的退出状态,或者如果有多个服务器要监视,则表示退出的最后一个分支进程的退出状态。raybet雷竞技竞猜在线官网

兼容性

pt-slave-restart应该适用于许多版本的MySQL。来自SHOW SLAVE STATUS的许多输出列的字母大小写随着时间的推移而改变,因此它将它们全部视为小写。

选项

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

——总是

即使没有错误也启动slave。启用此选项后,pt-slave-restart不会让你手动停止奴隶,如果你想!

——ask-pass

连接MySQL时提示输入密码。

——字符集

简写形式:-A;类型:字符串

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

——[不]check-relay-log

默认值:是的

在检查从机错误之前,检查最后一个中继日志文件和位置。

默认情况下pt-slave-restart如果中继日志文件和中继日志位置自上次检查以来都没有改变,那么将不做任何事情(它将只是睡眠)。这可以防止无限循环(即在同一中继日志文件的同一位置重新启动同一错误)。

然而,对于某些从错误,此检查需要通过指定禁用——no-check-relay-log.不要这样做,除非你知道你在做什么!

——配置

类型:数组

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

——daemonize

Fork到后台并从shell分离。仅支持POSIX操作系统。

——数据库

简写形式:-D;类型:字符串

使用的数据库。

——defaults-file

简写形式:-F;类型:字符串

只从给定文件中读取mysql选项。你必须给出一个绝对路径名。

——error-length

类型:int

要打印的错误消息的最大长度。当——详细设置高到足以打印错误时,此选项将把错误文本截断为指定的长度。这对于防止终端上的换行很有用。

——错误号

类型:哈希

只重新启动这个以逗号分隔的错误列表。使pt-slave-restart只有当错误编号在这个以逗号分隔的错误列表中时,才尝试重新启动。如果它看到列表中没有错误,它将退出。

错误编号在last_errno列的显示奴隶状态

——错误文本

类型:字符串

只有匹配此模式的重启错误。与错误文本(如果有)匹配的Perl正则表达式。如果错误文本存在并且匹配,pt-slave-restart将尝试重新启动从服务器。如果它存在但不匹配,pt-slave-restart将退出。

错误文本在last_error列的显示奴隶状态

——帮助

求救并离开。

——主机

简写形式:-h;类型:字符串

连接到主机。

——日志

类型:字符串

守护时将所有输出打印到此文件。

——max-sleep

类型:浮动;默认值:64

最大睡眠秒数。

最长时间pt-slave-restart在再次轮询奴隶前会先睡一觉。这也是时间pt-slave-restart将等待所有其他运行实例退出,如果两者——停止而且——raybet雷竞技竞猜在线官网监控指定。

看到“睡眠”。

——min-sleep

类型:浮动;默认值:0.015625

最短时间pt-slave-restart在再次轮询奴隶前会先睡一觉。看到“睡眠”。

——raybet雷竞技竞猜在线官网监控

是否监控从机(默认)。raybet雷竞技竞猜在线官网除非显式指定-monitor,raybet雷竞技竞猜在线官网——停止将使它失效。

——密码

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

连接时使用的密码。如果password包含逗号,则必须用反斜杠转义:" exam,ple "

——pid

类型:字符串

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

——港口

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

用于连接的端口号。

——安静

简写为-q

抑制正常输出(禁用——详细)。

——递归

类型:int;默认值:0

监视指定服务器的从服务器,直到层次结构深处的指定数量的服务器。默认深度为0表示“只观察指定的slave”。

pt-slave-restart检查显示PROCESSLIST并尝试确定哪些连接来自从服务器,然后连接到它们。看到——recursion-method

递归的工作原理是在程序启动时找到所有的slave,然后观察它们。如果奴隶不止一个,pt-slave-restart使用fork ()监控他raybet雷竞技竞猜在线官网们。

这也适用于如果你已经配置你的奴隶显示在显示奴隶主机.它的最小配置是report_host参数,但是对于端口、用户名和密码,还有其他“报告”参数。

——recursion-method

类型:数组;默认值:processlist,主机

首选的递归方法用于查找从库。

可能的方法有:

方法使用=============================processlist显示PROCESSLIST主机显示奴隶主机没有找到奴隶

processlist方法是首选的,因为SHOW SLAVE HOSTS不可靠。但是,如果服务器使用非标准端口(不是3306),则需要使用hosts方法。通常pt-slave-restart做正确的事情,找到奴隶,但你可以给出一个首选的方法,它将被首先使用。如果没有找到任何slave,则会尝试其他方法。

——运行时

类型:时间

退出前的运行时间。原因pt-slave-restart在指定的时间过去后停止。可选后缀:s=秒,m=分钟,h=小时,d=天;如果没有后缀,则使用s。

——哨兵

类型:字符串;默认值:/ tmp / pt-slave-restart-sentinel

如果该文件存在,退出。

——slave-user

类型:字符串

设置用于连接从服务器的用户。此参数允许您拥有一个在slave上拥有较少权限的不同用户,但该用户必须存在于所有slave上。

——slave-password

类型:字符串

设置用于连接从机的密码。它可以与-slave-user一起使用,并且所有slave上的用户密码必须相同。

——set-vars

类型:数组

的列表中设置MySQL变量变量=值对。

默认情况下,工具集:

wait_timeout10000

在命令行上指定的变量将覆盖这些默认值。例如,指定——set-varswait_timeout = 500的默认值10000

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

——skip-count

类型:int;默认值:1

重新启动从服务器时要跳过的语句数。

——master-uuid

类型:字符串

在使用GTID时,应该创建一个空事务以便跳过它。如果写操作来自上面复制树中的不同节点,则不可能知道要从哪个UUID跳过哪个事件。

默认情况下,从服务器的主服务器(“Master_UUID”显示奴隶状态)被跳过。

例如,用

master1->slave1->slave2

当跳过已写入master1的slave2事件时,必须指定master1的UUID,否则工具将默认使用slave1的UUID。

参见“全局事务IDS”。

——睡眠

类型:int;默认值:1

检查从站之间的初始睡眠秒数。

看到“睡眠”。

——套接字

简写形式:-S;类型:字符串

用于连接的套接字文件。

——停止

通过创建哨兵文件停止运行实例。

原因pt-slave-restart创建指定的哨兵文件——哨兵.这样做的效果应该是停止所有正在运行的实例,这些实例正在监视同一个哨兵文件。如果——raybet雷竞技竞猜在线官网监控不指定,pt-slave-restart将在创建文件后退出。如果指定了,pt-slave-restart等待的间隔是由——max-sleep,然后删除该文件并继续工作。

您可能会发现,如果有必要,这可以方便地优雅地停止cron作业,或者用另一个实例替换一个正在运行的实例。例如,如果您想停止并重新启动pt-slave-restart每小时(只是为了确保每小时重新启动一次,以防服务器崩溃或其他问题),您可以使用定时任务这样一行:

0程序:pt-slave-restart——raybet雷竞技竞猜在线官网监控——停止——哨兵/ tmp / pt-slave-restartup

非默认——哨兵能保证每小时收费吗cron作业只停止以前使用相同选项启动的实例(即从相同的cron工作)。

另请参阅——哨兵

——until-master

类型:字符串

运行到此主日志文件并定位为止。启动从服务器,如果失败就重试,直到到达给定的复制坐标。坐标是日志文件和主机上的位置,由relay_master_log_file, exec_master_log_pos给出。参数的格式必须为" file,pos "。文件名和位置用一个逗号分隔,没有空格。

这也将导致给START SLAVE一个UNTIL子句。

在到达这一点之后,应该停止从服务器并pt-slave-restart将退出。

——until-relay

类型:字符串

运行到此中继日志文件并定位为止。就像——until-master,但在slave的中继日志中。坐标由relay_log_file, relay_log_pos给出。

——用户

简写形式:-u;类型:字符串

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

——详细

简写形式:-v;累积:是的;默认值:1

向输出中添加更多信息。此标志可以指定多次。例:-v -v OR -vv。默认情况下(没有verbose标志),该工具输出连接信息、时间戳、relay_log_file、relay_log_pos和last_errno。一个标志(-v)添加last_error。另请参阅——error-length.两个标志(-vv)每次打印当前睡眠时间pt-slave-restart睡觉。要抑制所有输出,使用——安静选择。

——版本

显示版本并退出。

——(没有)版本检查

默认值:是的

检查最新版本的Percona Toolkit、MySQL和其他程雷竞技下载官网序。

这是一个标准的“自动检查更新”功能,还有两个附加功能。首先,该工具检查自己的版本,以及以下软件的版本:操作系统、Percona监控和管理(PMM)、MySQL、Perl、MySQL Perl驱动程序(DBD:: MySQL)和Percona Toolkit。雷竞技下载官网raybet雷竞技竞猜在线官网其次,它检查并警告存在已知问题的版本。例如,MySQL 5.5.25有一个严重的错误,并重新发布为5.5.25a。

通过与Percona的Version Chec雷竞技下载官网k数据库服务器的安全连接来执行这些检查。服务器记录每个请求,包括软件版本号和所检查系统的唯一ID。该ID由Percona Toolkit安装脚本或第一次雷竞技下载官网调用Version Check数据库时生成。

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

更多信息,请访问https://www.雷竞技下载官网percona.com/doc/percona-toolkit/LATEST/version-check.html

显示版本并退出。

DSN选项

这些DSN选项用于创建DSN。每个选项给出如下选项=值.选项是区分大小写的,所以P和P不是同一个选项。的前面或后面不能有空格如果值包含空格,则必须加引号。DSN选项以逗号分隔。详细信息请参阅p雷竞技下载官网ercona-toolkit manpage。

  • 一个

dsn:字符集;复制:是的

默认字符集。

  • D

dsn:数据库;复制:是的

默认数据库。

  • F

dsn: mysql_read_default_file;复制:是的

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

  • h

dsn:主机;复制:是的

连接到主机。

  • p

dsn:密码;复制:是的

连接时使用的密码。如果password包含逗号,则必须用反斜杠转义:" exam,ple "

  • P

dsn:港口;复制:是的

用于连接的端口号。

  • 年代

dsn: mysql_socket;复制:是的

用于连接的套接字文件。

  • u

dsn:用户;复制:是的

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

环境

环境变量PTDEBUG打开详细调试输出到STDERR。要启用调试并将所有输出捕获到一个文件,运行如下工具:

PTDEBUG1pt-slave-restart...>文件2>1

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

注意

使用可能会暴露密码。启用调试时,所有命令行参数都显示在输出中。

系统需求

您需要Perl、DBI、DBD::mysql和一些核心包,这些包应该安装在任何合理的Perl新版本中。

错误

有关已知错误的列表,请参见https://jira.雷竞技下载官网percona.com/projects/PT/issues

请在https://jira.雷竞技下载官网percona.com/projects/PT.在错误报告中包含以下信息:

  • 用于运行工具的完整命令行

  • 工具——版本

  • 所有涉及的服务器的MySQL版本

  • 工具的输出,包括STDERR

  • 输入文件(日志/转储/配置文件等)

如果可能,通过运行工具包含调试输出PTDEBUG;看到“环境”。

下载

访问http://www.雷竞技下载官网percona.com/software/percona-toolkit/下载最新版本的Percona Toolkit。雷竞技下载官网或者,从命令行获取最新版本:

wget雷竞技下载官网percona.com/get/percona-toolkit.tar.gz wget雷竞技下载官网percona.com/get/percona-toolkit.rpm wget雷竞技下载官网percona.com/get/percona-toolkit.deb

您还可以从最新版本中获得单独的工具:

wget雷竞技下载官网percona.com/get/TOOL

取代工具使用任何工具的名称。

作者

施瓦兹男爵

关于perc雷竞技下载官网ona工具箱

该工具是Percona Toolkit的一雷竞技下载官网部分,是Percona开发的MySQL高级命令行工具的集合。雷竞技下载官网Percona Toolkit在2011年6月从两个项目中分叉出来:Maatkit和Aspersa。这些项目是由Baron Schwartz创建的,主要由他和Daniel Nichter开发。访问http://www.雷竞技下载官网percona.com/software/以了解Percona的其他免费开源软件。雷竞技下载官网

版本

pt-slave-restart3.5.2

Baidu
map