欢迎访问机房运维工作室

爱数知识库

AnyBackup 7.0.13 - 7.0.17.4 MySQL 8.0 物理备份报错,mysqlphyprocxxx 进程启动失败或启动后异常退出,mysq

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

AnyBackup 7.0.13 - 7.0.17.4 MySQL 8.0 物理备份报错,mysqlphyprocxxx 进程启动失败或启动后异常退出,mysqlproc日志报错信息:Found ta

关键字

MySQL 8.0,物理备份


适用产品

  • AnyBackup 7.0.13 - 7.0.17.4

问题描述

MySQL 物理备份失败,执行输出报错信息如下:

任务失败,原因:mysqlphyprocxx 进程启动失败或启动后异常退出。

mysqlproc 日志报错信息如下:

[Xtrabackup] Found tables with row versions due to INSTANT ADD/DROP columns

......

[Xtrabackup] Please run OPTIMIZE TABLE or ALTER TABLE ALGORITHM=COPY on all listed tables to fix this issue

问题影响

MySQL 物理备份失败。

问题原因

MySQL 数据库开启了 instant add/drop columns 功能导致,AnyBackup 7.0 物理备份功能是使用 Xtrabackup 工具进行备份,目前 AnyBackup 7.0 版本对应的 Xtrabackup 版本不能对开启了 instant 功能的表进行备份。

解决方案

为了解决该问题,需要登录到 MySQL 数据库服务器,处理步骤如下:

1.登录到 MySQL 数据库中,输入如下命令查询开启了 instant add/drop columns 功能的表:

SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLES WHERE TOTAL_ROW_VERSIONS > 0;

2.将上述查到的表执行 optimize table 命令进行优化,将 <table_name> 替换为上步查到的表名。

(注意:

1.在执行 optimize table 命令时,MySQL 会锁定要进行优化的表,直到优化完成。

2.如果表很大或者碎片较多,该过程可能需要一些时间,并且可能会占用较多的系统资源。

3.建议考虑执行优化操作的时机,并避免在高并发、高负载情况下进行操作。)

OPTIMIZE TABLE <table_name>;

3.登录 AnyBackup 管理员重新执行 MySQL 物理备份。

更多信息

在 MySQL 数据库中,可以使用 ALTER TABLE 命令来添加或删除表的列。但是,在大型数据表上执行此类操作时可能会存在较高的开销,特别是当涉及到大量数据的复制和排序时。为了解决这个问题,并提高表结构修改的效率,MySQL 提供了一个称为 “INSTANT ADD COLUMN” 的功能。该功能允许在进行 ALTER TABLE 操作时跳过拷贝数据和使用临时表的过程,从而快速实现添加或删除列的操作。

OPTIMIZE TABLE 是 MySQL 数据库中用于对数据表进行优化的命令。该命令可以整理表中的碎片空间、压缩表数据、重建索引等,以提高查询效率和释放磁盘空间。