Domyślny plik konfiguracyjny MySQL /etc/mysql/my.cnf instalowany przez jakiś pakiet debian przy użyciu APT często ustawia zmienną log_bin, więc binlog jest włączony:
log_bin = /var/log/mysql/mysql-bin.log
Kiedy chcę wyłączyć rejestrowanie binarne podczas takiej instalacji, komentarz w wierszu w pliku my.cnf oczywiście działa, ale zastanawiam się, czy istnieje sposób na wyłączenie rejestrowania binarnego poprzez jawne ustawienie log_bin na WYŁ., W stylu debian, mam na myśli dołączony plik, taki jak /etc/mysql/conf.d/myCustomFile.cnf, więc domyślny plik my.cnf nie jest zmieniany i może być łatwo zaktualizowany przez apt, jeśli to konieczne.
Próbowałem „log_bin = 0”, „log_bin = OFF” lub „log_bin =”, ale żadne nie działa ...
W MySQL 8 jest to opcja disable_log_bin, która musi być podana bez żadnego parametru w
my.cnf
pliku w[mysqld]
sekcji.źródło
Możesz to zobaczyć tak: log_bin nie powinien akceptować parametrów, albo umieścisz:
lub w ogóle nic, ponieważ jest to parametr boolowski.
Jeśli jednak zostanie ustawiona wartość, dzienniki zostaną włączone, a wartość zostanie zinterpretowana jako basename binlog.
Opcje dziennika mają historię niezbyt intuicyjną i zmieniającą format z wersji na wersję (patrzę na ciebie, wolny dziennik).
źródło
Jeśli nie replikujesz, możesz wyłączyć binlogging, zmieniając plik my.ini lub my.cnf. Otwórz my.ini lub /etc/my.cnf (/etc/mysql/my.cnf), wprowadź:
# vi /etc/my.cnf
Znajdź wiersz o treści „log_bin” i usuń go lub skomentuj w następujący sposób:
#log_bin = /var/log/mysql/mysql-bin.log
Musisz także usunąć lub skomentować następujące wiersze:
#expire_logs_days = 10
#max_binlog_size = 100M
Zamknij i zapisz plik. Na koniec zrestartuj serwer mysql:
# service mysql restart
źródło
Z podręcznika dla MariaDB ( https://mariadb.com/kb/en/library/activating-the-binary-log/ )
Jednak,
Jeśli jednak powiesz, że jest domyślnie włączony podczas instalacji, musisz wyłączyć, usuwając wiersz z pliku my.cnf, a następnie ponownie uruchamiając mysqld. Możesz również wyczyścić dane binarne ( https://dev.mysql.com/doc/refman/5.6/en/purge-binary-logs.html )
Wreszcie, jak wspomina odpowiedź drugiego autora, w MySQL 8 istnieje możliwość jawnego wyłączenia rejestrowania binarnego z pliku konfiguracyjnego za pomocą opcji
--skip-log-bin
lub--disable-log-bin
w sekcji [mysqld] pliku konfiguracyjnego.źródło
Jak wiem po aktualizacji pakietu, plik konfiguracyjny powinien być stary, więc po aktualizacji masz te same pliki konfiguracyjne. W przeciwnym razie możesz utworzyć drugi plik konfiguracyjny w ścieżce $ MYSQL_HOME / my.cnf. Ten dotyczy opcji specyficznych dla serwera i, jak wiem, zastąpi ustawienia w globalnym /etc/my.cnf
źródło