在进行innobackupex备份时,出现如下错误:

190910 12:04:48 Connecting to MySQL server host: localhost, user: dba, password: set, port: not set, socket: /tmp/mysql3306.sock
Using server version 5.6.17-log
./innobackupex version 2.4.11 based on MySQL server 5.7.19 Linux (x86_64) (revision id: b4e0db5)
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /data/mysqldb
xtrabackup: open files limit requested 0, set to 262143
xtrabackup: using the following InnoDB configuration:
xtrabackup:   innodb_data_home_dir = /usr/local/mysql/data
xtrabackup:   innodb_data_file_path = ibdata1:12M:autoextend
xtrabackup:   innodb_log_group_home_dir = /usr/local/mysql/data
xtrabackup:   innodb_log_files_in_group = 4
xtrabackup:   innodb_log_file_size = 1048576000
2019-09-10 12:04:48 0x7f7126a16720 InnoDB: Using Linux native AIO
xtrabackup: using O_DIRECT
InnoDB: Number of pools: 1
InnoDB: Failed to create check sector file, errno:13 Please confirm O_DIRECT is supported and remove the file /usr/local/mysql/check_sector_size if it exists.
190910 12:04:48 >> log scanned up to (17207388053)
xtrabackup: Generating a list of tablespaces
InnoDB: Allocated tablespace ID 4 for mysql/slave_master_info, old maximum was 0
InnoDB: Attempted to open a previously opened tablespace. Previous tablespace mysql/innodb_index_stats at filepath: ./mysql/innodb_index_stats.ibd uses space ID: 2. Cannot open filepath: ./aloe/check_cmd_bg.ibd which uses the same space ID.

需要关注的报错应该是:
InnoDB: Attempted to open a previously opened tablespace. Previous tablespace mysql/innodb_index_stats at filepath: ./mysql/innodb_index_stats.ibd uses space ID: 2. Cannot open filepath: ./aloe/check_cmd_bg.ibd which uses the same space ID.
看到信息,关注点集中在了Cannot open filepath: ./aloe/check_cmd_bg.ibd which uses the same space ID
很自然就想到是不是备份用户缺少/aloe/check_cmd_bg.ibd的权限,但是经检查,已经拥有datadir的rx权限,根据xtrabackup官方文档说明,权限已经满足备份需求。
到此就没有方向,虽然看到uses the same space ID,但是经检查,show tables发现mysql.innodb_index_stats是存在的,在数据目录中/mysql/innodb_index_stats.ibd也是存在的,且权限无误。

百思不得其解,xtrabackup进行不下去了,只能用mysqldump来进行逻辑备份,这时确实柳暗花明又一村地得到了上述错误的原因,因为在mysqldump备份时,遇到如下报错:

Error: Couldn't read status information for table innodb_index_stats ()
mysqldump: Couldn't execute 'show create table `innodb_index_stats`': Table 'mysql.innodb_index_stats' doesn't exist (1146)
Error: Couldn't read status information for table innodb_index_stats ()
mysqldump: Couldn't execute 'show create table `innodb_index_stats`': Table 'mysql.innodb_index_stats' doesn't exist (1146)
Error: Couldn't read status information for table innodb_table_stats ()
mysqldump: Couldn't execute 'show create table `innodb_table_stats`': Table 'mysql.innodb_table_stats' doesn't exist (1146)
Error: Couldn't read status information for table slave_master_info ()
mysqldump: Couldn't execute 'show create table `slave_master_info`': Table 'mysql.slave_master_info' doesn't exist (1146)
Error: Couldn't read status information for table slave_relay_log_info ()
mysqldump: Couldn't execute 'show create table `slave_relay_log_info`': Table 'mysql.slave_relay_log_info' doesn't exist (1146)
Error: Couldn't read status information for table slave_worker_info ()
mysqldump: Couldn't execute 'show create table `slave_worker_info`': Table 'mysql.slave_worker_info' doesn't exist (1146)'

真想大白,有错误提示Table 'mysql.innodb_index_stats' doesn't exist,根据show tables时可以看到innodb_index_stats表,可以判断innodb_index_stats这个系统表损坏了。
又一论证是使用show tables可以看到innodb_index_stats表,但是执行desc mysql.innodb_index_stats时就提示Table 'mysql.innodb_index_stats' doesn't exist
那就可以确定是由于系统表损坏导致xtrabackup备份失败,但是没有物理全库备份无法跳过这个表,那只能通过mysql --force强制跳过错误来进行备份了。

最后还是吐槽一下xtrabackup的报错信息具有迷惑性,明明是./mysql/innodb_index_stats.ibd有问题,但是报错信息给人的焦点却是Cannot open filepath: ./aloe/check_cmd_bg.ibd which uses the same space ID

MySQL 系统表损坏导致xtrabackup备份失败Cannot open filepath相关推荐

  1. 非法关机 mysql_一次非法关机导致mysql数据表损坏的实例解决 -电脑资料

    排查修复数据表的经过: 2.启动mysql服务,卸载和关闭rpm安装的mysql服务 (昨天安装postfix好像yum安装了mysql),用netstat -anp |grep mysqld 命令查 ...

  2. 引导区坏 计算机无法启动,windows7旗舰版系统下注册表损坏导致无法引导启动怎么解决...

    最近有windows7旗舰版系统用户到本站反映说碰到这样一个现象,就是注册表损坏了,导致无法引导启动,该怎么解决这样的情况呢,本文就给大家分享一下windows7旗舰版系统下注册表损坏导致无法引导启动 ...

  3. mysql数据表损坏的常见原因是_MYSQL数据表损坏的分析

    MYSQL数据表损坏的分析 MYSQL 数据表损坏的分析<1.0>作 者: 王黎晓 完成日期: 2006-12-20 修改情况记录:版本号 修改人 修改日期 审核人 批准人 备注1.0-d ...

  4. SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复

    SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复 开发此工具是为了 让手工恢复数据库物理故障时 更加简单便捷直观, 本工具用于物理修复独立处理大部分问题以及与DBCC配合完成修复各种数据库错 ...

  5. MySQL系统表空间和独立表空间

    文章目录 第1章 基础环境和官方架构图 1.1 我的实践环境 1.2 官方的架构图 第2章 系/独表空间的基本认识一 2.1 系统表空间的认识 2.2 独立表空间的认识 第1章 基础环境和官方架构图 ...

  6. 非法关机 mysql_一次非法关机造成mysql数据表损坏的例子

    本文介绍由于非法硬件关机,造成了mysql的数据表损坏,数据库不能正常运行的一个实例,接下来是作者排查错误的过程,希望对大家能有所帮助. 排查修复数据表的经过: 1.访问网页,提示错误,连接不到数据库 ...

  7. mysql max_allowed_packet 设置过小导致记录写入失败

    mysql max_allowed_packet 设置过小导致记录写入失败 mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参 ...

  8. oracle expdp 06512,oracle的expdp时出现ORA-39125ORA-01555ORA-06512错误导致数据库备份失败!...

    oracle的expdp时出现ORA-39125&ORA-01555&ORA-06512错误导致数据库备份失败! 具体报错信息如下,请Oracle大神急救下: Export: Rele ...

  9. xtrabackup备份失败问题解决

    前言 下面总结的是部分常见的报错及解决方法. 常见报错及解决 [1]使用的xtrabackup安装失败或软件版本与系统不适配 报错如下: 解决方法: 通常是xtrabackup未安装成功或未配置环境变 ...

最新文章

  1. ThunderGBM:快成一道闪电的梯度提升决策树
  2. vim打开多窗口、多文件之间的切换
  3. JVM之JVM内存区域与内存分配(转载)
  4. cuda-Block和Grid设定
  5. python简单定义_python定义类的简单用法
  6. 编码设置导致了eclipse/myeclipse代码无法保存
  7. Unity Camera的两种模式
  8. android与js交互
  9. jquery的全选和多选操作
  10. Dart的日期时间操作
  11. 3732 Ahui Writes Word
  12. SG 函数初步 HDU 1536 amp;amp; HDU 1944
  13. 华为oj c语言 dna序列,(华为OJ)C 语言—计算字符串的距离(动态规划算法)
  14. 21天通关python 磁力_Python 实现 BT 种子转化为磁力链接 [实战]
  15. 思科Cisco 交换机型号概述
  16. 条件概率下的全概率公式
  17. Normal Equations 的由来
  18. 我们分析了GitHub上5.46 亿条日志,发现中国开源虽然贡献大但还有这些不足......
  19. NK/DC细胞膜仿生脂质体药物载体|真核细胞膜包覆仿生纳米粒|肿瘤细胞膜包裹的仿生纳米颗粒
  20. mac 安装 qt5 for tsmuxer

热门文章

  1. 软考高级系统架构设计师系列论文十三:论软件测试方法和工具的选用
  2. 解析PMT遇到的一些问题
  3. Java如何实现截取字符串
  4. CC2017常用快捷键整理
  5. #3234. 「POI2019 R1」Pomniejszenie
  6. LCD液晶驱动芯片VK0192M LQFP44电路图/技术资料简介
  7. “易写易库(EXEK)”项目启动,用易语言开发易语言支持库
  8. 信仰崩了?Preact 开始采用 Vue3 的响应式设计
  9. HTTP请求方法:GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 说明
  10. OpenCV 基于色彩直方图进行肤色检测