Câu trả lời:
Bạn có biết những tập tin binlog nào bạn cần khôi phục và có bao nhiêu tập tin binlog không?
Sử dụng mysqlbinlog
tiện ích chúng ta có thể xem nội dung tệp binlog.
Nếu đó là một tệp duy nhất bạn có thể khôi phục bằng cách sử dụng:
mysqlbinlog /var/lib/mysql-bin.000016 | mysql –uroot –pReset123
Nếu đó là nhiều tệp thì chỉ cần trích xuất tất cả nội dung thành một tệp .sql và trực tiếp khôi phục nó:
mysqlbinlog /var/lib/mysql-bin.000016 > /logs/allbinlog.sql
Để nối thêm nội dung binlog thứ hai vào tệp allbinlof.sql, hãy sử dụng lệnh bên dưới:
mysqlbinlog /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql
Bạn cũng có thể loại trừ các câu lệnh nhất định bằng cách sử dụng tùy chọn của mysqlbinlog. Hãy thử điều này dưới đây để lựa chọn:
mysqlbinlog --help
Sử dụng các bước dưới đây để khôi phục dữ liệu từ nhật ký nhị phân hoặc sử dụng liên kết này để hiểu quy trình khôi phục: Khôi phục nhật ký nhị phân MySQL
Đầu tiên, khôi phục cơ sở dữ liệu từ bản sao lưu mới nhất
mysql -u username -ppassword database_name < dump.sql
Sau đó, làm một trong hai:
Khôi phục phần còn lại của dữ liệu từ nhật ký nhị phân.
Nếu bạn có nhiều nhật ký nhị phân để thực thi trên máy chủ MySQL, phương pháp an toàn là xử lý tất cả chúng bằng một kết nối duy nhất đến máy chủ.
mysqlbinlog mysql_bin.000001 | mysql -u root -ppassword database_name
mysqlbinlog mysql_bin.000002 | mysql -u root -ppassword database_name
hoặc là:
mysqlbinlog mysql_bin.000001 mysql_bin.000002 | mysql -u root -ppassword database_name
Khôi phục dữ liệu trên cơ sở thời gian
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
Khôi phục dữ liệu trên cơ sở vị trí
mysqlbinlog --start-position=368315 \
--stop-position=368312 mysql_bin.000001 \
| mysql -u root -ppassword database_name
Bạn có thể sử dụng tùy chọn -v để tạo tệp .sql ở định dạng READABLE .
Ví dụ
mysqlbinlog -v /var/lib/mysql-bin.000016 > /logs/allbinlog.sql
mysqlbinlog -v /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql