Linux MariaDB备份恢复工具全景
工具分类与定位
常用工具与典型用法
mysqldump(逻辑备份)
备份:mysqldump -u root -p --single-transaction --routines --triggers --all-databases > backup.sql
恢复:mysql -u root -p < backup.sql
要点:InnoDB建议加**–single-transaction获取一致性快照;可配合–master-data记录binlog位点;常用–routines/–triggers/–events**保留对象定义。
mysqlpump(逻辑备份,并行)
备份:mysqlpump -u root -p --all-databases > backup.sql
特点:支持并行导出,提升大库备份速度;用法与mysqldump相近。
mariabackup / Percona XtraBackup(物理热备)
全量:mariabackup --backup --target-dir=/backup/full
增量:mariabackup --backup --target-dir=/backup/inc1 --incremental-basedir=/backup/full
准备:mariabackup --prepare --target-dir=/backup/full
恢复:mariabackup --copy-back --target-dir=/backup/full
要点:面向InnoDB的在线热备,支持增量;XtraBackup与mariabackup命令语法相近,注意版本匹配。
文件系统/快照与rsync
快照思路:短暂FLUSH TABLES WITH READ LOCK → 创建LVM/云盘快照 → 解锁;随后从快照拷贝数据。
rsync示例(停机一致性):systemctl stop mariadb → rsync -a --delete /var/lib/mysql /path/to/backup/mysql_backup → systemctl start mariadb。
SELECT … INTO OUTFILE / LOAD DATA INFILE(表级数据导入导出)
导出:SELECT * FROM tbl INTO OUTFILE '/tmp/tbl.txt';
导入:LOAD DATA INFILE '/tmp/tbl.txt' INTO TABLE tbl;
要点:需有文件权限与唯一文件名,常用于旁路批量导出/导入。
phpMyAdmin(图形化)
操作:源库“导出”SQL → 传输文件 → 目标库“导入”SQL;适合轻量或临时维护。
选型建议与注意事项