NetWorker: Tworzenie kopii zapasowej MySQL kończy się niepowodzeniem, gdy plik "binlog" nie istnieje
Summary: Pierwsze kopie zapasowe MySQL przy użyciu modułu NetWorker dla baz danych i aplikacji (NMDA) nigdy nie są kończone, gdy plik "binlog" nie istnieje.
Symptoms
Pierwsza kopia zapasowa MySQL nigdy się nie kończy, gdy plik "binlog" nie istnieje w bazie danych MySQL.
Cause
Ponieważ plik "binlog" MySQL nie istnieje, klient NetWorker nie kontynuuje tworzenia kopii zapasowej.
Z poziomu klienta NetWorker plik dziennika NetWorker (lokalizacja domyślna: /nsr/logs) zgłasza brakujący "binlog" tej bazy danych MySQL:
mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.000331' does not exist. It could have been purged. PITR will not be possible from this backup. mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.000332' does not exist. It could have been purged. PITR will not be possible from this backup. mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.000333' does not exist. It could have been purged. PITR will not be possible from this backup. mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.000334' does not exist. It could have been purged. PITR will not be possible from this backup. mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.000335' does not exist. It could have been purged. PITR will not be possible from this backup. mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.000336' does not exist. It could have been purged. PITR will not be possible from this backup. mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.000337' does not exist. It could have been purged. PITR will not be possible from this backup. mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.000338' does not exist. It could have been purged. PITR will not be possible from this backup. mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.000339' does not exist. It could have been purged. PITR will not be possible from this backup. mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.000340' does not exist. It could have been purged. PITR will not be possible from this backup. mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.000341' does not exist. It could have been purged. PITR will not be possible from this backup. ... mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.004583' does not exist. It could have been purged. PITR will not be possible from this backup. mysqlbackup: WARNING: binlog file '/data/mysql/mysql-bin.004584' does not exist. It could have been purged. PITR will not be possible from this backup. 200901 14:37:32 mysqlbackup: INFO: Copying /data/mysql/mysql-bin.004585. <-- Activity log stuck in this step and backup does not send any new data.The backup job must be canceled manually or wait to timeout (in this case it was after 8 hours running). mysqlbackup: Progress in MB: 383400 mysqlbackup: ERROR: Signal 15 received.
Resolution
Aby rozwiązać ten problem, wyczyść wszystkie poprzednie pominięte "binlogi" aż do pierwszego dostępnego "binloga".
Procedura
-
Zaloguj się do serwera MySQL jako użytkownik "root".
-
Połącz się z konsolą bazy danych MySQL.
-
Sprawdź aktualną dostępność "binlog", uruchamiając następujące polecenie:
mysql> show master logs; <-- Name of the DB that contains the information from the logs missed. | mysql-bin.004580 | 0 | | mysql-bin.004581 | 0 | | mysql-bin.004582 | 0 | | mysql-bin.004583 | 0 | | mysql-bin.004584 | 0 | <-- Last missed log. | mysql-bin.004585 | 1064394753 |
-
Usuń wszystkie pominięte "binlog" przed pierwszym dostępnym "binlogiem", uruchamiając następujące polecenie:
Uwaga: W takim przypadku "mysql-bin.004585" jest pierwszym dostępnym "binlogiem".mysql> purge binary logs to 'mysql-bin.004585'; Query OK, 0 rows affected, 4584 warnings (10.12 sec)
-
Uruchom ponownie zadanie tworzenia kopii zapasowej, aby upewnić się, że zostało ono zakończone bez błędów.
- Dowód pomyślnego wykonania zadania tworzenia kopii zapasowej (widoczny w dziennikach NetWorker po stronie klienta):
200903 09:38:14 mysqlbackup: INFO: Backup image created successfully. mysqlbackup: INFO: Image Path = sbt:MYSQL:/MySQLTest 200903 09:38:14 mysqlbackup: INFO: MySQL binlog position: filename mysql-bin.004957, position 154 ------------------------------------------------------------- Parameters Summary ------------------------------------------------------------- Start LSN : 15597868102656 End LSN : 15597868102712 ------------------------------------------------------------- mysqlbackup completed OK! with 2 warnings.