在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/