MySQL崩溃,innodb尝试访问表空间范围之外的页码

时间:2019-01-16 10:38:11

标签: mysql database recovery

我正在Windows 2012服务器上运行MySQL(5.7)。该表之一(> 100万条记录)似乎已损坏。 mysql错误日志显示

2019-01-16T09:41:09.256990Z 0 [Note] InnoDB: Buffer pool(s) load completed at 190116 14:41:09
2019-01-16T09:41:25.153201Z 2 [Warning] IP address 'ip' could not be resolved: No such host is known. 
2019-01-16T09:41:25.620502Z 3 [ERROR] InnoDB: Trying to access page number 3 in space 470, space name shop/products, which is outside the tablespace bounds. Byte offset 0, len 16384, i/o type read. If you get this error at mysqld startup, please check that your my.cnf matches the ibdata files that you have in the MySQL server.
2019-01-16T09:41:25.623268Z 3 [ERROR] InnoDB: Server exits.

当我在此表中插入记录时出现此问题。该表有22个索引列,其中之一是FULLTEXT。

我也尝试过innodb_force_recovery = [1-6],但是我无法转储产品表。每当我尝试访问该表时,它都会使数据库服务器崩溃。

有没有办法获取转储或恢复该表。我有陈旧的备份,因此无法使用该备份。谢谢:)

MYSQL服务器详细信息:

  • 版本5.7(32位)

  • Windows Server 2012

  • 数据库引擎:InnoDB

已更新

我正面临一个奇怪的问题。当我执行表状态命令时,它显示行数为零,

但是在mysql数据文件夹中,products.ibd文件的大小为4GB。

SHOW TABLE STATUS FROM shop LIKE 'products';

enter image description here

操作系统的文件大小

enter image description here

0 个答案:

没有答案