mysql启动失败怎么办MySQLclone自动重启失败的解决方式

但是有时当我们使用自建的 systemd 的 MySQL service 服务时,依旧不能实现自动重启,而问题的关键还是在于没有配置好相关的监控进程,我们可以参考官方 rpm 包安装 MySQL Server 时生成的 systemd 的 service 文件的“[Service]”区域:Restart=on-failureRestartPreventExitStatus=1# Set enviroment ...
mysql启动失败怎么办MySQLclone自动重启失败的解决方式
MySQL 8 添加了新的 clone 插件,被用于 MGR 的分布式恢复当中,也可以用来进行物理备份恢复。
但是在进行 clone 操作的过程中,当拉取数据完成并进行自动重启 server 时,总是会出现重启失败的现象,如:
日志报错提示 RESTART 失败,需要在后面手动重启,错误代码3707,即:ERROR 3707 (HY000): Restart server failed (mysqld is not managed by supervisor process)。
而在关于 clone 的官方文档相关链接:https://dev.mysql.com/doc/refman/8.0/en/clone-plugin-remote.html中,也特别说明了这个报错:
意思说是当 recipient server 在 clone 数据拉取完成后会进行重启操作,前提是监控进程可用。而当出现相关报错时也不用担心,并不能说明 clone 失败了,随后只需要手动重启就可以了。
通过上面的日志和官方文档我们得到了出现重启失败的两个线索:RESTART 、监控进程。
先看关于 RESTART 的相关官方文档说明(https://dev.mysql.com/doc/refman/8.0/en/restart.html):
通过这段文档我们可以知道,如果想要成功执行“RESTART”命令,需要有一个监控进程,所以“RESTART”执行成功与否的关键就在于这个监控进程,而这个监控进程到底是什么文档在后面也进行了说明:
这时候我们就知道在类 Unix 系统中使用 systemd 或 mysqld_safe 来实现这个监控进程。
但是有时当我们使用自建的 systemd 的 MySQL service 服务时,依旧不能实现自动重启,而问题的关键还是在于没有配置好相关的监控进程,我们可以参考官方 rpm 包安装 MySQL Server 时生成的 systemd 的 service 文件的“[Service]”区域:
Restart=on-failureRestartPreventExitStatus=1# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.Environment=MYSQLD_PARENT_PID=1官方的 systemd 的 service 文件已经指出了如果想要实现自动重启,最重要的就是要设置“Environment=MYSQLD_PARENT_PID=1”,PID为1的进程就是 systemd 的进程。
而官方设置的重启时机是“on-failure” , 即数据库当遇到异常宕机、进程中断信号或监控超时时就会进行重启,但是当数据库异常宕机时,有时我们并不想让数据库立刻自动重启,而是需要在运维和开发人员确认过问题之后进行手动重启,这时候我们就需要调整自动重启的策略。
在“RESTART”相关的官方文档中,明确指出了“RESTART”命令执行时数据库关闭时的退出状态码:16。这时我们就可以设置只有当数据库退出状态码为16时才进行自动重启,而在其余情况下不会进行自动重启,MySQL 的 systemd 的 service 的“[Service]”区域进行如下配置:
RestartForceExitStatus=16RestartPreventExitStatus=1# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.Environment=MYSQLD_PARENT_PID=1“RestartForceExitStatus=16”的意思就是说不管是否配置了“Restart=”,当服务的退出状态码为16时都会进行自动重启,这样就解决了 clone 自动重启失败的问题,同时也保证了数据库在其他异常情况下不会进行自动重启。
如给 MySQL 发送中断信号时不会自动重启:
当执行 clone 操作时可以自动重启
没有了之前的报错,进行自动重启2024-11-23
mengvlog 阅读 8 次 更新于 2025-07-20 17:00:08 我来答关注问题0
  •  文暄生活科普 【Azure 应用服务】应用服务连接 Azure MySQL 一直失败,报错 Create connection error

    其次,确认MySQL防火墙设置是否允许了App Service的IP地址访问。在App Service的属性页面中获取出口IP后,需在MySQL的防火墙管理中添加相应的规则。如果MySQL使用了SSL连接,还需要检查是否已下载并正确配置了证书,因为这可能需要在Java代码中进行显式处理,具体参考文档:docs.azure.cn/zh-cn/mys...面对复...

  •  songtree0119 php连接mysql 总出现Fatal error: Call to undefined function mysql_connect() in

    利用它查看 能否 链接 mysql,这个是一个大项,你可以用 phpinfo 显示的 支持内容,查找 mysql ,能找到的话,就可以连接,不能找到,就请重新检测 php.ini 配置文件 配置php.ini需要重启iis或者apache才能生效!

  •  翡希信息咨询 MYS是什么啊?

    总之,MySQL是一个功能强大且广泛应用的开源关系型数据库管理系统,如需更多信息,建议查阅MySQL的官方文档或相关教程。

  • 话不多说了,一起来看看吧方法如下:1:确认MySQL数据库存储目录[root@DB-Server tmp]# mysqladmin -u root -p variables | grep datadir Enter password: | datadir | /var/lib/mysql/2:关闭MySQL服务在更改MySQL的数据目录前,必须关闭MySQL服务。方式1:[root@DB-Server ~]# service mysql...

  •  湖北倍领科技 MYS是什么啊?

    MYS通常指的是MySQL,是一个开源的关系型数据库管理系统(RDBMS)。MySQL是由瑞典MySQL AB公司开发,目前属于Oracle公司旗下产品。MySQL是最流行的关系型数据库管理系统之一,在Web应用方面,MySQL是最好的RDBMS应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部