Как я могу восстановить мои файлы и фотографии из двоичных файлов?
Вы знаете, из каких файлов binlog вам нужно восстановить и сколько существует файлов binlog?
Используя mysqlbinlog
утилиту, мы можем просмотреть содержимое файла binlog.
Если это один файл, вы можете восстановить, используя:
mysqlbinlog /var/lib/mysql-bin.000016 | mysql –uroot –pReset123
Если это несколько файлов, просто извлеките все содержимое в один файл .sql и непосредственно восстановите его:
mysqlbinlog /var/lib/mysql-bin.000016 > /logs/allbinlog.sql
Чтобы добавить второй контент binlog в файл allbinlof.sql, используйте следующую команду:
mysqlbinlog /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql
Вы также можете исключить некоторые операторы, используя опцию mysqlbinlog. Попробуйте это ниже для вариантов:
mysqlbinlog --help
Используйте следующие шаги для восстановления данных из двоичных журналов или используйте эту ссылку, чтобы понять процесс восстановления: MySQL Binary Log Restoration
Сначала восстановите базу данных из последней резервной копии
mysql -u username -ppassword database_name < dump.sql
Затем выполните одно из:
Восстановите остаток данных из двоичного журнала.
Если у вас есть несколько двоичных журналов для выполнения на сервере MySQL, безопасный метод - обработать их все, используя одно соединение с сервером.
mysqlbinlog mysql_bin.000001 | mysql -u root -ppassword database_name
mysqlbinlog mysql_bin.000002 | mysql -u root -ppassword database_name
или же:
mysqlbinlog mysql_bin.000001 mysql_bin.000002 | mysql -u root -ppassword database_name
Восстановление данных на основе времени
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
Восстановить данные на основе позиции
mysqlbinlog --start-position=368315 \
--stop-position=368312 mysql_bin.000001 \
| mysql -u root -ppassword database_name
Вы можете использовать -v вариант , чтобы сделать файл .sql в читаемом формате.
Например
источник