【发布时间】:2013-11-09 21:43:22
【问题描述】:
我不得不终止一个更改表(复制到 tmp 表)进程,因为我的服务器磁盘空间不足。我的 ibdata 文件现在 40 GB 大,只剩下 8 GB 磁盘空间(不,我不能添加磁盘空间 atm 也不能使用 ram 磁盘,因为服务器只有 8 GB ram)。
据我了解,即使我杀死了 alter table 进程,一旦有足够的可用磁盘空间,MySQL 也会尝试完成它。
根据“show status like '%tmp%';”有 0 个 tmp 表和 5 个 tmp 文件。
根据“SHOW ENGINE INNODB STATUS;”只有一个“事务 0,未启动”条目(以及一些文件 I/O 条目)。
根据信息架构,我的表大约是。 20 GB,我的 ibdata 文件是 40 GB(我在这个数据库上只有一个 InnoDB 表)。
有没有办法刷新所有挂起的更改和/或删除所有 tmp 表(甚至显示状态也没有列出)?
我还想知道为什么我的 innodb_buffer_pool_size 设置为 8 GB(在 8 GB 内存服务器上)。我没有更改任何 InnoDB 设置,我的 my.cnf 文件中实际上没有任何设置,所以这似乎是一些默认值?
谢谢:拉斯
【问题讨论】:
标签: mysql ubuntu-12.04 innodb