以下是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工具(官方推薦)進行物理備份與恢復,支持增量備份參考來源: