mysql - MySQL崩溃,innodb试图访问表空间边界之外的页码
问题描述
我在 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 位)
视窗服务器 2012
数据库引擎:InnoDB
更新
我正面临一个奇怪的问题。当我执行 table status 命令时,它显示行数为零,
但是 mysql 数据文件夹中的 products.ibd 文件大小为 4GB。
SHOW TABLE STATUS FROM shop LIKE 'products';
操作系统的文件大小
解决方案
推荐阅读
- selenium - 有什么方法可以测试 Selenium 中 Web 元素的显示顺序?
- mysql - 从单个查询中获取不同的列
- amp-html - amp-consent 和 onUpdateHref 的问题
- android - 如何在 google play 控制台中重新提交游戏?
- javascript - 如何将项目符号添加到 div 标题?
- ios - 使用 CNContacts (Swift) 实现搜索控制器的问题
- haskell - 如何在 Haskell 中一起写整数和字符串?
- c# - 如何在 C# 中获取安装项目的自定义操作数据?
- python - 我怎样才能让我的模型以 2 个张量作为输入。我曾尝试使用合并层,但我并没有完全让它工作
- javascript - 如何在 i18n-js 中使用 setLocale?