在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
),并验证数据完整性。