小编Dav*_* I.的帖子

确定 MySQL InnoDB 表是否在其自己的文件中,而不是在系统表空间中的最佳方法

我有一个 MySQL 开发服务器,它在某些数据库中使用 InnoDB 表。它最初是使用默认值设置的,因此所有数据都进入系统表空间(例如主表空间)ibdata1文件)。一路上,我启用了innodb_file_per_table以便新的数据库表进入它们自己的文件。

我现在想通过删除一些开发数据库来回收磁盘空间。我知道我必须 mysqldump 并重新导入系统表空间中的那些数据库。确定重点关注哪些的最佳方法是什么?

我没有看到任何明显的东西 information_schema数据库中。我可以使用 SSH shell 手动浏览服务器,但我正在寻找一种更自动化或更优雅的方式来做到这一点。

在一些较旧的数据库中,我只看到.frm数据库目录中的文件,在较新的数据库中我看到.frm.ibd文件。这似乎是知道数据在哪里的关键......

健全性检查:是否可以通过 mysqldump 一半的数据库来回收空间,或者你真的必须对每个数据库都做?该服务器中有 54 个使用 InnoDB 表的数据库。

注意:在 UNIX 上使用 MySQL v5.1。

mysql innodb mysqldump

5
推荐指数
1
解决办法
3474
查看次数

标签 统计

innodb ×1

mysql ×1

mysqldump ×1