MySQL 系统表损坏导致xtrabackup备份失败Cannot open filepath
在进行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相关推荐
- 非法关机 mysql_一次非法关机导致mysql数据表损坏的实例解决 -电脑资料
排查修复数据表的经过: 2.启动mysql服务,卸载和关闭rpm安装的mysql服务 (昨天安装postfix好像yum安装了mysql),用netstat -anp |grep mysqld 命令查 ...
- 引导区坏 计算机无法启动,windows7旗舰版系统下注册表损坏导致无法引导启动怎么解决...
最近有windows7旗舰版系统用户到本站反映说碰到这样一个现象,就是注册表损坏了,导致无法引导启动,该怎么解决这样的情况呢,本文就给大家分享一下windows7旗舰版系统下注册表损坏导致无法引导启动 ...
- mysql数据表损坏的常见原因是_MYSQL数据表损坏的分析
MYSQL数据表损坏的分析 MYSQL 数据表损坏的分析<1.0>作 者: 王黎晓 完成日期: 2006-12-20 修改情况记录:版本号 修改人 修改日期 审核人 批准人 备注1.0-d ...
- SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复
SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复 开发此工具是为了 让手工恢复数据库物理故障时 更加简单便捷直观, 本工具用于物理修复独立处理大部分问题以及与DBCC配合完成修复各种数据库错 ...
- MySQL系统表空间和独立表空间
文章目录 第1章 基础环境和官方架构图 1.1 我的实践环境 1.2 官方的架构图 第2章 系/独表空间的基本认识一 2.1 系统表空间的认识 2.2 独立表空间的认识 第1章 基础环境和官方架构图 ...
- 非法关机 mysql_一次非法关机造成mysql数据表损坏的例子
本文介绍由于非法硬件关机,造成了mysql的数据表损坏,数据库不能正常运行的一个实例,接下来是作者排查错误的过程,希望对大家能有所帮助. 排查修复数据表的经过: 1.访问网页,提示错误,连接不到数据库 ...
- mysql max_allowed_packet 设置过小导致记录写入失败
mysql max_allowed_packet 设置过小导致记录写入失败 mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参 ...
- oracle expdp 06512,oracle的expdp时出现ORA-39125ORA-01555ORA-06512错误导致数据库备份失败!...
oracle的expdp时出现ORA-39125&ORA-01555&ORA-06512错误导致数据库备份失败! 具体报错信息如下,请Oracle大神急救下: Export: Rele ...
- xtrabackup备份失败问题解决
前言 下面总结的是部分常见的报错及解决方法. 常见报错及解决 [1]使用的xtrabackup安装失败或软件版本与系统不适配 报错如下: 解决方法: 通常是xtrabackup未安装成功或未配置环境变 ...
最新文章
- ThunderGBM:快成一道闪电的梯度提升决策树
- vim打开多窗口、多文件之间的切换
- JVM之JVM内存区域与内存分配(转载)
- cuda-Block和Grid设定
- python简单定义_python定义类的简单用法
- 编码设置导致了eclipse/myeclipse代码无法保存
- Unity Camera的两种模式
- android与js交互
- jquery的全选和多选操作
- Dart的日期时间操作
- 3732 Ahui Writes Word
- SG 函数初步 HDU 1536 amp;amp; HDU 1944
- 华为oj c语言 dna序列,(华为OJ)C 语言—计算字符串的距离(动态规划算法)
- 21天通关python 磁力_Python 实现 BT 种子转化为磁力链接 [实战]
- 思科Cisco 交换机型号概述
- 条件概率下的全概率公式
- Normal Equations 的由来
- 我们分析了GitHub上5.46 亿条日志,发现中国开源虽然贡献大但还有这些不足......
- NK/DC细胞膜仿生脂质体药物载体|真核细胞膜包覆仿生纳米粒|肿瘤细胞膜包裹的仿生纳米颗粒
- mac 安装 qt5 for tsmuxer
热门文章
- 软考高级系统架构设计师系列论文十三:论软件测试方法和工具的选用
- 解析PMT遇到的一些问题
- Java如何实现截取字符串
- CC2017常用快捷键整理
- #3234. 「POI2019 R1」Pomniejszenie
- LCD液晶驱动芯片VK0192M LQFP44电路图/技术资料简介
- “易写易库(EXEK)”项目启动,用易语言开发易语言支持库
- 信仰崩了?Preact 开始采用 Vue3 的响应式设计
- HTTP请求方法:GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 说明
- OpenCV 基于色彩直方图进行肤色检测