Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL, wie man die Größe der innodb-Protokolldatei ändert

Das InnoDB-Protokoll befindet sich in ib_logfile0 und ib_logfile1. Dies sind die Dateien mit der Größe von innodb_log_file_size .

Um die Größe der InnoDB-Protokolle zu ändern, müssen Sie zuerst mysqld ordnungsgemäß herunterfahren . Dadurch wird sichergestellt, dass alle Änderungen im Protokoll bereits in Ihre Tablespaces übertragen wurden. Das saubere Herunterfahren ist wichtig, denn wenn Sie diesen Schritt nicht durchführen, besteht eine hohe Wahrscheinlichkeit, dass Daten verloren gehen.

Nachdem Sie mysqld sauber heruntergefahren haben, sind die ib_logfiles überflüssig. Sie müssen rm ihnen, ihre Größe zu ändern.

Wenn Sie mysqld neu starten, bemerkt InnoDB, dass die Dateien fehlen, und erstellt eine neue Datei mit der neuen Größe gemäß innodb_log_file_size Variable in Ihrer my.cnf-Datei. Stellen Sie also sicher, dass Sie diese Datei vor dem Neustart bearbeiten, sonst werden nur neue 5-MB-Dateien erstellt.

MySQL 5.6 macht diesen Vorgang etwas einfacher. Sie müssen nicht rm die Protokolldateien, aber Sie müssen mysqld neu starten, damit eine neue Protokolldateigröße wirksam wird. In 5.6 funktioniert es folgendermaßen:Wenn die Größe dieser Dateien von der Konfigurationsvariablen abweicht, führt MySQL automatisch einen weiteren sauberen Neustart durch (um sicherzustellen, dass die Dateien keine Änderungen enthalten, die nicht geleert wurden), und InnoDB passt dann die Größe der Dateien an beim endgültigen Start.

Die anderen Dateien (mysql-bin.000001 usw.) sind Binärprotokolle. Diese können bis zu max_binlog_size anwachsen (was standardmäßig 1 GB ist), aber die Binärlogs variieren in der Größe, da neue Logs erstellt werden, wenn Sie mysqld neu starten oder FLUSH LOGS ausführen . Wie auch immer, sie haben nichts mit den InnoDB-Protokollen zu tun.

PS:Dieser Artikel könnte Ihnen gefallen:So berechnen Sie eine gute InnoDB-Protokolldateigröße .