在Linux上進行MySQL數據恢復,可根據是否有備份及日志情況選擇方法,操作前建議先備份當前數據,具體方法如下:
使用備份文件恢復
mysqldump
備份,執行命令:mysql -u 用戶名 -p 數據庫名 < 備份文件.sql
innobackupex
等物理備份工具,按工具文檔恢復數據文件后重啟服務。利用二進制日志(binlog)恢復
log_bin
已開啟,通過SHOW BINARY LOGS;
找到誤操作前的日志文件。mysqlbinlog
導出恢復SQL:mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" --stop-datetime="YYYY-MM-DD HH:MM:SS" binlog文件 > restore.sql
mysql -u 用戶名 -p < restore.sql
。使用第三方工具
Percona XtraBackup
(支持熱備份恢復)、MyDumper
(邏輯備份恢復)等。從主從復制恢復
注意:操作前需停止MySQL服務(sudo systemctl stop mysqld
),恢復后重啟服務(sudo systemctl start mysqld
),并驗證數據完整性。