在Ubuntu上恢复MySQL数据主要有以下几种方法:
-
使用备份文件恢复
- 若有
.sql备份文件,可先停止MySQL服务,再通过mysql -u 用户名 -p 数据库名 < 备份文件.sql命令恢复。 - 恢复后重启服务:
sudo systemctl start mysql。
- 若有
-
通过二进制日志(Binlog)恢复
- 确保Binlog已开启(
SHOW VARIABLES LIKE 'log_bin'),用mysqlbinlog工具解析日志文件,提取误操作前的SQL语句并执行。 - 示例:
mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" /var/lib/mysql/mysql-bin.000001 | mysql -u root -p。
- 确保Binlog已开启(
-
使用事务回滚(适用于未提交事务)
- 通过
SHOW ENGINE INNODB STATUS查看事务ID,执行ROLLBACK TO SAVEPOINT回滚。
- 通过
-
使用第三方工具
- 如
undrop-for-innodb等工具,适用于InnoDB存储引擎的误删数据恢复。
- 如
注意:操作前务必备份当前数据,避免二次损坏。优先使用定期备份或Binlog恢复,确保数据完整性。