mysql中ibdata1文件有什么用?

Log*_*han 4 mysql innodb mysql-5

我有后端数据库作为 Mysql(InnoDb 引擎)的应用程序,目前我的客户希望将 ibdata 文件的大小减小到某个固定大小。我找到了以下三个解决方案。

  • 解决方案1: innodb_file_per_table
  • 解决方案2: innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend
  • 解决方案3: innodb_data_file_path=ibdata1:10M:autoextend:max:50M

而且我真的不了解 ibadata1 文件,任何人都可以帮我解决这个问题,我想知道修复 ibdata 大小(解决方案 3)是否安全以及 ibdata 到底有什么用?

Abd*_*naf 5

在我的意见中,您应该使用您的solution1

我不太清楚您将使用解决方案 2 和解决方案 3完成什么innodb_file_per_table OFF,因为他们永远不会缩小ibdata大小每当有删除,上一个InnoDB表删除或截断,以便利用这些选项您ibdata会无休止地增长。

对于您的信息,请查看这种减少mysql中ibdata大小的方法。?

如果不使用 innodb_file_per_table,ibdata 文件永远不会压缩或收缩,当您删除行、删除表或数据库时不会。如果您有活动的排队系统,3GB 的数据很快就会变成 20GB 的文件。

看看为什么要使用 innodb_file_per_table :使用 innodb_file_per_table 的原因。