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。
退出状态¶
退出状态为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选项。你必须给出一个绝对路径名。
- ——错误号 ¶
-
类型:哈希
只重新启动这个以逗号分隔的错误列表。使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在再次轮询奴隶前会先睡一觉。看到“睡眠”。
- ——密码 ¶
-
简写形式:-p;类型:字符串
连接时使用的密码。如果password包含逗号,则必须用反斜杠转义:" exam,ple "
- ——pid ¶
-
类型:字符串
创建给定的PID文件。如果PID文件已经存在,并且其中包含的PID与当前PID不同,该工具将不会启动。但是,如果PID文件存在,并且其中包含的PID不再运行,该工具将用当前的PID覆盖PID文件。当工具退出时,PID文件将自动删除。
- ——港口 ¶
-
简写形式:-P;类型:int
用于连接的端口号。
- ——递归 ¶
-
类型: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_timeout=10000
在命令行上指定的变量将覆盖这些默认值。例如,指定
——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。要启用调试并将所有输出捕获到一个文件,运行如下工具:
PTDEBUG=1pt-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的其他免费开源软件。雷竞技下载官网
版权、许可和保证¶
本节目版权归2011-2021 Percona LLC和/或其附属公司所雷竞技下载官网有,2007-2011 Baron Schwartz。
本程序按“现状”提供,不作任何明示或默示保证,包括但不限于对适销性和适合某一特定用途的默示保证。
本程序是免费软件;您可以根据由自由软件基金会发布的GNU通用公共许可证第2版的条款重新发布它和/或修改它;或者Perl艺术许可。在UNIX和类似的系统上,您可以发出' man perlgpl '或' man perlartistic '来读取这些许可证。
您应该已随本程序收到一份GNU通用公共许可证的副本;如果没有,请写信给自由软件基金会,59 Temple Place, Suite 330, Boston, MA 02111-1307 USA。
版本¶
pt-slave-restart3.5.2