以下是Ubuntu MariaDB数据恢复的关键技巧,按场景分类整理:
.sql格式备份,用mysql命令导入:mysql -u 用户名 -p 数据库名 < 备份文件.sqlsudo systemctl stop mariadb/var/lib/mysql),确保权限正确:sudo cp -R /path/to/backup/* /var/lib/mysql/sudo chown -R mysql:mysql /var/lib/mysql/sudo systemctl start mariadbmysqlbinlog解析日志,生成反向SQL:mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" /var/lib/mysql/mysql-bin.00000X > revert.sqlmysql -u 用户名 -p < revert.sqlFOR SYSTEM_TIME查询历史数据并导出:SELECT * FROM 表名 FOR SYSTEM_TIME AS OF 'YYYY-MM-DD HH:MM:SS' INTO OUTFILE '/tmp/data.sql'LOAD DATA INFILE '/tmp/data.sql' REPLACE INTO TABLE 表名/etc/mysql/my.cnf,添加innodb_force_recovery=1(逐步增加至6,最大值可强制启动)Percona Toolkit的pt-table-checksum和pt-table-sync修复主从不一致或表损坏mariabackup工具(官方推荐)进行物理备份与恢复,支持增量备份参考来源: