Mysql

MariaDB:如何減小 ibdata 文件大小

  • February 4, 2021

我發現 My MariaDB 的 ibdata 文件不斷增加。所以,我搜尋了這個,發現innodb_file_per_table應該設置為 1。但是,我的 DBMS 的配置已經設置為 1;

為什麼 ibdata 文件大小不斷增加,我還應該為此做些什麼。

以下是我的 dbms 資訊。

DBMS: MariaDB
engine: InnoDB Engine
version: 10.3

** my.cnf **
innodb_file_per_table=ON
transaction-isolation=READ-COMMITTED

想到的第一個想法是“哇!您一定有相當大的交易。”

根據mysqlperformanceblog.com 的 Reasons for run-away main Innodb Tablespace,這些是導致 ibdata1 增長的主要問題:

  • 大量事務性更改
  • 非常長的交易
  • 滯後清除執行緒

ibdata1 中的撤消日誌將保存大量資訊以支持事務隔離級別。由於您正在使用READ-COMMITTED,因此這種增長可能會更加顯著。

我之前在 DBA StackExchange 中討論過這個

建議 #1

由於您使用的是 MariaDB,請考慮在系統表空間之外配置撤消日誌。請閱讀innodb_undo_directoryinnodb_undo_tablespaces上的 MariaDB 文件,然後從那裡開始。

建議 #2

您可能需要 mysqldump 是您的數據並將其載入到新安裝的 MariaDB 中。請參閱我在如何在不轉儲所有數據庫的情況下縮小 innodb 文件 ibdata1 中的文章?其他想法。無論哪種方式,這都需要一些工作!

引用自:https://dba.stackexchange.com/questions/284699