mysql 5.7 vs 5.5和.ibd文件

hc8w905p  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(496)

我们最近在两个不同的服务器上进行了从mysql 5.5到mysql 5.7的迁移。对于迁移,我们使用了主从复制。旧数据库(5.5)设置为主数据库,新数据库设置为从数据库(5.7)。
一切顺利,迁移成功。数据库很大,大约有600g的数据。
我们现在的问题是,在新的数据库中,有一个82g的大.ibd文件。让我们假设db名称是我的\数据库。此文件位于: /var/lib/mysql/my_database :

-rw-r----- 1 mysql mysql  82G Apr 20 10:28 articles.ibd

articles表很大,但是为什么在新的mysql服务器上有这么大的ibd文件,而在旧的服务器上没有呢。
由于我们现在有一些存储限制(ssd),我们想以某种方式删除这个文件。如何做到这一点,为什么这个文件是在mysql5.7上创建的?

w9apscun

w9apscun1#

基本上就是跑 ALTER TABLE [TABLENAME] ENGINE=InnoDB ALGORITHM=COPY; 禁用后 innodb_file_per_table .
查阅https://dev.mysql.com/doc/refman/5.7/en/tablespace-copying.html 以及https://dba.stackexchange.com/questions/136250/migrate-from-innodb-file-per-table-to-off-in-mysql-alter-table-removing-ibd-file, https://dev.mysql.com/doc/refman/5.7/en/innodb-multiple-tablespaces.html

相关问题