Jak przywrócić dane z dziennika binarnego


11

Jak mogę przywrócić moje pliki i zdjęcia z plików binarnych?

Odpowiedzi:


7

Czy wiesz, z których plików binlog należy przywrócić i ile jest plików binlog?

Za pomocą mysqlbinlognarzędzia możemy przeglądać zawartość pliku binlog.

Jeśli jest to pojedynczy plik, który można odzyskać za pomocą:

mysqlbinlog /var/lib/mysql-bin.000016 | mysql uroot pReset123

Jeśli jest to wiele plików, wystarczy wyodrębnić całą zawartość do jednego pliku .sql i bezpośrednio go przywrócić:

mysqlbinlog /var/lib/mysql-bin.000016 > /logs/allbinlog.sql

Aby dołączyć drugą zawartość binlog do pliku allbinlof.sql, użyj poniższej komendy:

mysqlbinlog /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql

Możesz także wykluczyć niektóre instrukcje, używając opcji mysqlbinlog. Wypróbuj to poniżej dla opcji:

mysqlbinlog --help

4

Wykonaj poniższe kroki, aby przywrócić dane z dzienników binarnych lub skorzystaj z tego łącza, aby zrozumieć proces przywracania: MySQL Binary Log Restoration

Najpierw przywróć bazę danych z najnowszej kopii zapasowej

mysql -u username -ppassword database_name < dump.sql

Następnie wykonaj jedną z następujących czynności:

  • Przywróć resztę danych z dziennika binarnego.

    Jeśli masz więcej niż jeden dziennik binarny do wykonania na serwerze MySQL, bezpieczną metodą jest przetworzenie ich wszystkich za pomocą jednego połączenia z serwerem.

    mysqlbinlog mysql_bin.000001 | mysql -u root -ppassword database_name
    mysqlbinlog mysql_bin.000002 | mysql -u root -ppassword database_name

    lub:

    mysqlbinlog mysql_bin.000001 mysql_bin.000002 | mysql -u root -ppassword database_name
  • Przywróć dane na podstawie czasu

    mysqlbinlog --start-datetime="2005-04-20 10:01:00" \
                --stop-datetime="2005-04-20 9:59:59" mysql_bin.000001 \
                | mysql -u root -ppassword database_name
  • Przywróć dane na podstawie pozycji

    mysqlbinlog --start-position=368315 \
                --stop-position=368312 mysql_bin.000001 \
                | mysql -u root -ppassword database_name

2
Pierwszy przykład przywracania więcej niż jednego dziennika binarnego jest szczególnie niebezpieczny, jak zauważono w dokumentacji.
Reuben,

2

Można użyć -v opcję, aby plik .sql w czytelny format.

Na przykład

mysqlbinlog -v /var/lib/mysql-bin.000016 > /logs/allbinlog.sql

mysqlbinlog -v /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.