欢迎访问机房运维工作室

爱数知识库

AnyBackup-MySQL 数据库物理恢复成功有警告,提示警告信息:警告,原因:目标实例 mysql3306 启动失败或启动超时(默认 60 秒,当前设置

频道:爱数知识库 日期: 浏览:23

AnyBackup-MySQL 数据库物理恢复成功有警告,提示警告信息:警告,原因:目标实例 mysql3306 启动失败或启动超时(默认 60 秒,当前设置 60 秒),请检查或手动重启。并且 My

关键字

MySQL 、启动失败 、PID 文件


适用产品

  • AnyBackup CDM 7.0.x
  • AnyBackup Express 7.0.x
  • AnyBackup Enterprise 7.0.x


问题描述

在 AnyBackup 管理控制台执行 MySQL 数据库物理备份恢复任务成功(有警告),提示警告信息:

警告,原因:目标实例 mysql3306 启动失败或启动超时(默认 60 秒,当前设置 60 秒),请检查或手动重启。且 MySQL 的错误日志里面有 /usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2 - No such file or directory)的信息。

image.png


问题影响

在 AnyBackup 管理控制台执行 MySQL 数据库物理备份恢复任务成功(有警告),恢复后使数据库联机选项未生效,恢复目的地数据库未成功启动


问题原因

MySQL 数据库物理恢复指定的配置文件中记录的 PID 文件必须存在且有读写权限,由于 PID 文件不存在,导致 MySQL 数据库物理恢复任务中执行恢复后数据库联机选项失败。

image.png



解决方案

为了解决该问题,需要手动创建相应的路径和文件,并更改该文件的属主和属组,具体操作如下:

1. 登录 MySQL 数据库服务器后台,使用 find 命令查看 MySQL 数据库的 my.cnf 配置文件(顺序排前的优先)。

2. 使用 cat 命令查看 my.cnf 中记录的 PID 文件位置,详细路径根据实际情况为准。

find / -name my.cnf

cat /etc/my.cnf

image.png

3. 执行以下命令创建相应的路径和文件,并给 PID文件 所在的路径添加 mysql 属主与属组的权限。

mkdir -p /var/run/mariadb

touch /var/run/mariadb/mariadb.pid

chown mysql:mysql /var/run/mariadb/mariadb.pid

image.png

4. 在 AnyBackup 管理控制台上,重新执行 MySQL 数据库物理备份恢复任务。


更多信息

MySQL 数据库的 PID 文件记录的是当前 mysqld 进程的 pid 号,主要作用是防止启动多个进程副本。原理是进程运行后会给 PID 文件加一个文件锁,只有获得 PID 文件(固定路径固定文件名)写入权限 (F_WRLCK) 的进程才能正常启动并把自身的 PID 写入该文件中,其它同一个程序的多余进程则自动退出。