在Ubuntu上使用MariaDB进行数据备份与恢复,可以遵循以下步骤:
使用mysqldump工具
mysqldump
是MySQL和MariaDB自带的备份工具。你可以使用它来备份整个数据库或特定的表。
备份整个数据库:
mysqldump -u [用户名] -p[密码] [数据库名] > [备份文件名].sql
注意:-p
后面紧跟密码,中间没有空格。
备份特定表:
mysqldump -u [用户名] -p[密码] [数据库名] [表名] > [备份文件名].sql
使用--all-databases
选项备份所有数据库:
mysqldump -u [用户名] -p --all-databases > [备份文件名].sql
使用xtrabackup工具
xtrabackup
是Percona提供的一个开源工具,用于热备份InnoDB和XtraDB存储引擎的数据。它支持全量备份和增量备份。
安装xtrabackup
:
sudo apt-get install percona-xtrabackup-24
注意:根据你的MariaDB版本选择合适的xtrabackup
版本。
进行全量备份:
xtrabackup --backup --target-dir=/path/to/backup --user=[用户名] --password=[密码]
进行增量备份(基于上一次全量备份):
xtrabackup --backup --target-dir=/path/to/incremental --incremental-basedir=/path/to/last-full-backup --user=[用户名] --password=[密码]
使用mysqldump备份恢复
恢复整个数据库:
mysql -u [用户名] -p[密码] [数据库名] < [备份文件名].sql
恢复特定表:
mysql -u [用户名] -p[密码] [数据库名] < [备份文件名].sql --tables [表名]
使用xtrabackup备份恢复
准备备份(将备份数据应用到数据文件):
xtrabackup --prepare --target-dir=/path/to/backup
恢复数据到新的数据目录:
xtrabackup --copy-back --target-dir=/path/to/backup --datadir=/path/to/new/datadir
修改数据目录权限(如果需要):
chown -R mysql:mysql /path/to/new/datadir
重启MariaDB服务:
sudo systemctl restart mariadb
请注意,在执行备份和恢复操作之前,建议先停止对数据库的写操作,以确保数据的一致性。此外,定期测试备份文件的可用性也是一个好习惯。