在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
- 使用图形界面工具备份(如 MySQL Workbench):
- 连接到MariaDB服务器。
- 选择要备份的数据库。
- 右键点击并选择“数据导出”。
- 配置导出选项并执行备份。
- 自动化备份:
- 使用 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
- 恢复单个数据库:
- 停止MariaDB服务。
- 删除损坏的数据库。
- 使用备份文件恢复数据库:
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/
评论(已关闭)
评论已关闭