Відповіді:
Чи знаєте ви, з яких бінарних файлів вам потрібно відновити і скільки файлів бінарних файлів?
За допомогою mysqlbinlog
утиліти ми можемо переглядати вміст файлів бінгола.
Якщо це єдиний файл, його можна відновити, використовуючи:
mysqlbinlog /var/lib/mysql-bin.000016 | mysql –uroot –pReset123
Якщо це декілька файлів, просто витягніть весь вміст в один .sql-файл і безпосередньо відновіть його:
mysqlbinlog /var/lib/mysql-bin.000016 > /logs/allbinlog.sql
Щоб додати вміст другого бінга до файлу allbinlof.sql, використовуйте команду нижче:
mysqlbinlog /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql
Ви також можете виключити певні твердження, скориставшись опцією mysqlbinlog. Спробуйте це нижче для варіантів:
mysqlbinlog --help
Скористайтеся наведеними нижче кроками для відновлення даних з двійкових журналів або скористайтеся цим посиланням, щоб зрозуміти процес відновлення: Відновлення бінарного журналу MySQL
Спочатку відновіть базу даних з останньої резервної копії
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