Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL come modificare la dimensione del file di registro di innodb

Il registro di InnoDB si trova in ib_logfile0 e ib_logfile1. Questi sono i file dimensionati da innodb_log_file_size .

Per ridimensionare i log di InnoDB, devi prima chiudere mysqld in modo pulito . Ciò assicurerà che tutte le modifiche nel registro siano già state scaricate nei tuoi tablespace. Lo spegnimento pulito è importante, perché se non esegui questo passaggio, hai un'alta probabilità di perdere dati.

Dopo aver chiuso mysqld in modo pulito, i file ib_log sono superflui. Devi rm per cambiarne la taglia.

Quando riavvii mysqld, InnoDB nota che i file sono mancanti e crea un nuovo file con la nuova dimensione in base a innodb_log_file_size variabile nel tuo file my.cnf. Quindi assicurati di modificare quel file prima di riavviare, altrimenti creerà solo nuovi file da 5 MB.

MySQL 5.6 rende questo processo un po' più semplice. Non è necessario rm i file di registro, ma è necessario riavviare mysqld per rendere effettiva una nuova dimensione del file di registro. Il modo in cui funziona in 5.6 è che se la dimensione di questi file è diversa dalla variabile di configurazione, MySQL esegue automaticamente un altro riavvio pulito (per assicurarsi che i file non contengano modifiche non scaricate), quindi InnoDB ridimensiona i file all'avvio finale.

Gli altri file (mysql-bin.000001, ecc.) sono log binari. Questi possono crescere fino a max_binlog_size (che per impostazione predefinita è 1 GB), ma le dimensioni dei registri binari variano perché vengono creati nuovi registri ogni volta che si riavvia mysqld o si esegue FLUSH LOGS . Ad ogni modo, non hanno nulla a che fare con i log di InnoDB.

PS:potrebbe piacerti questo articolo:Come calcolare una buona dimensione del file di registro InnoDB .