重启linux会破坏mysql表

时间:2015-01-18 06:43:43

标签: mysql ubuntu

我最近在/var/lib/mysql中有一个8GB的ibdata1文件,因为我之前的一个数据库以8GB的数据发送垃圾邮件。我删除了垃圾邮件数据库,并在MySQL终端中运行以下查询

SELECT table_schema "Database Name", sum( data_length + index_length ) / 1024 / 1024  "Database Size in MB" FROM information_schema.TABLES GROUP BY table_schema; 

在我的数据库中产生了100MB的组合数据。不过我的ibdata1文件仍然是8GB。那么我按照接受的答案的说明重新生成我的ibdata1和日志文件:

How to shrink/purge ibdata1 file in MySQL

这很有用。

但是,一旦我重新启动Linux服务器,MySQL服务器中的许多数据库(但不是全部)突然没有数据。我在innodb_file_per_table文件中的适当位置使用和不使用my.conf重复了接受的答案中的说明,但它仍然无法阻止Linux重启后MySQL数据库的破坏。我注意到我的ibdata1文件不再超过10MB。

现在,我已经重新导入了我的所有数据库,虽然工作正常,但我担心在服务器需要重新启动时丢失所有数据。

为什么会这样?如何在Linux服务器重启后阻止MySQL数据库的破坏?

0 个答案:

没有答案