AnyBackup-Linux 环境下 MySQL 数据库备份失败,执行输出显示错误信息:备份 TRIGGER 发生异常,Got error 28 from storage engine。
关键字
error 28、tmpdir 空间
适用产品
- AnyBackup 6.0.x
- AnyBackup 5.0.x
- 超易备 5.0.x
问题描述
在 AnyBackup 管理控制台上,发起 MySQL 数据库备份任务,任务执行失败,显示如下错误信息:
MySQL备份过程中,出现异常,任务未能成功结束(错误位置:ncMySQLBackupExec.cpp:816)(附加信息:备份任务执行过程中,备份TRRGGER发生异常.(错误提供者:mysqlBackup,错误值:e041000e,错误位置:ncMySQLCore.coo:869)(附加信息:Got error 28 from storage engine))

问题影响
AnyBackup 无法完成 MySQL 数据库备份。
问题原因
MySQL 数据库的临时文件目录空间不足,导致无法执行 SQL 命令,从而导致备份任务失败。
解决方案
针对上述问题,有下面两种方案解决,请根据实际情况选择。
方案一,释放 MySQL 数据库临时文件目录的空间,具体步骤如下:
1.SSH 登录数据库服务器,执行以下命令,确认 MySQL 数据库临时文件目录位置。
mysql -uroot -ppassword;
show variables like 'tmpdir';
注意:上图示例中 /tmp/ 即为 MySQL 数据库临时文件目录。
2.协调数据库管理员删除 MySQL 数据库临时文件目录下无用文件以释放空间。
注意:下图示例中 922M 表示当前 /tmp 剩余空间。
3.在 AnyBackup 管理控制台重新发起备份任务。
方案二,更改 MySQL 数据库临时文件目录到空间充足的目录,具体步骤如下:
1.SSH 登录数据库服务器,执行以下命令,修改 my.cnf文件,将数据库 tmpdir 修改到指定位置。
警告:该步骤需要重启数据库服务,请与数据库管理员确认后操作。
vi /etc/my.cnf
tmpdir = /eisoo1/
service mysql restart


注意:tmpdir 指定的目录属组属主需要为 mysql,且空间充足。
2.在 AnyBackup 管理控制台重新发起备份任务。
更多信息
MySQL 临时文件目录用于存储临时文件或临时表,若临时目录不存在或权限不正确不仅会引起 MySQL Server 启动失败还会导致其他可能使用到临时目录的 MySQL 实用程序运行异常。