Jak mogę przywrócić moje pliki i zdjęcia z plików binarnych?
Czy wiesz, z których plików binlog należy przywrócić i ile jest plików binlog?
Za pomocą mysqlbinlog
narzę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
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
Można użyć -v opcję, aby plik .sql w czytelny format.
Na przykład
źródło