在Ubuntu上备份和恢复MariaDB数据库可以通过多种方法实现,以下是一些常用的技巧和步骤:
mysqldump
备份:mysqldump -u [用户名] -p[密码] --all-databases > backup.sql
mysqldump -u [用户名] -p[密码] [数据库名] > backup.sql
mysqldump -u [用户名] -p[密码] [数据库名] [表名] > backup.sql
mysqlpump
备份(适用于大型数据库,提高备份速度):mysqlpump -u [用户名] -p[密码] --all-databases > backup.sql
cron
作业设置定时备份任务。例如,每天凌晨2点执行备份:0 2 * * * mysqldump -u [用户名] -p[密码] --all-databases > /path/to/backup/backup_$(date +\%F).sql.gz
gzip
压缩备份文件以节省空间:gzip backup.sql
mysql -u [用户名] -p[密码] < backup.sql
sed
和 grep
命令提取表数据并保存为新的SQL文件。mysql
命令恢复特定表:mysql -u [用户名] -p[密码] [数据库名] < extracted_table.sql
mysql -u [用户名] -p[密码] [备份文件名].sql
innobackupex
进行物理备份和恢复(适用于InnoDB存储引擎):innobackupex
:sudo apt-get install percona-xtrabackup-24
innobackupex --defaults-file="/etc/mysql/my.cnf" --user="root" --password="password" --socket="/var/lib/mysql/mysql.sock" /data/mysql/backup/
innobackupex --defaults-file="/etc/mysql/my.cnf" --user="root" --password="password" --socket="/var/lib/mysql/mysql.sock" --copy-back /data/mysql/backup/
mariabackup
进行备份和恢复(MariaDB官方提供的工具):mariabackup
:wget https://downloads.mariadb.org/mariadb/mariadb-10.5.5/source/mariadb-10.5.5.tar.gz
tar -zxvf mariadb-10.5.5.tar.gz
cd mariadb-10.5.5
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb
make -j4
sudo make install
mariabackup --user=root --password=password --backup --target-dir=/data/mysql/backup/
mariabackup --copy-back --target-dir=/data/mysql/backup/