相关疑难解决方法(0)

表上的 MySQL 索引创建失败已满

更新:tl;dr:问题是 MySQLTMPDIR在创建索引时使用。而我TMPDIR的磁盘空间不足。

原问题:

我正在尝试向 InnoDB 表添加索引,并获得table is full error. 我有足够的磁盘空间,并且 MySQL 配置有一个 file-per-table=1。表数据为 85GB,我假设索引将在 20GB - 30GB 左右,而且我的磁盘空间比这多得多。我也在使用 ext3,所以从操作系统的角度来看,我认为文件大小限制没有任何问题。

记录的错误如下所示:

140616 13:04:33  InnoDB: Error: Write to file (merge) failed at offset 3 1940914176.
InnoDB: 1048576 bytes should have been written, only 970752 were written.
InnoDB: Operating system error number 0.
InnoDB: Check that your OS and file system support files of this size.
InnoDB: Check also that the disk is not full or a …
Run Code Online (Sandbox Code Playgroud)

mysql innodb index

11
推荐指数
1
解决办法
2万
查看次数

如何仅从 .frm 文件中提取表架构?

我已经从备份中提取了 mysql 的数据目录,需要从旧表中获取模式,但它是来自另一台机器的备份。

我今天已经阅读了大量有关如何执行此操作的教程,但每次似乎都失败了,或者我最终不得不重新安装 mysql,因为 mysql 挂起或崩溃。我尝试了以下方法:

  • 创建不同的数据库
  • 在该数据库中创建同名表
  • 替换文件
  • 停止/启动引擎
  • .frm文件中恢复

我尝试了各种顺序和组合。

是否有任何外部工具可以从.frm文件中提取模式?如果我打开文件,我可以看到列名。我看了一眼,但似乎找不到任何能让我做到这一点的东西。

提前致谢。

mysql innodb schema recovery

8
推荐指数
1
解决办法
4万
查看次数

标签 统计

innodb ×2

mysql ×2

index ×1

recovery ×1

schema ×1