本地MySQL数据库备份和恢复方案
本方案适用于vika私有化版本自带的MySQL数据库备份,可通过以下不同方法进行备份:
备份方法
方法一:使用 docker exec 和 mysqldump 直接备份到宿主机
不进入容器,直接使用Docker命令进行备份。
运行备份命令:
# 创建数据库备份文件夹 mkdir -p /data/vikadata/backup
# 开始备份到指定backup目录 docker exec vikadata-mysql-1 mysqldump --single-transaction -u root -p'数据库密码' apitable > /data/vikadata/backup/apitable-240806.sql
MySQL的root用户密码可咨询vika方,然后将备份直接输出到宿主机指定的路径。
方法二:定时备份
可以使用 cron 定时任务来自动备份数据库,结合上述方法中的指令。
编辑 cron 任务:
crontab -e
添加定时任务:
0 2 * * * docker exec vikadata-mysql-1 mysqldump -u root -p'数据库密码' apitable > /data/vikadata/backup/apitable-_$(date +\%F).sql
这样,每天凌晨2点自动备份数据库。
恢复方法
直接使用 docker exec 从宿主机恢复
不进入容器,直接使用Docker命令从宿主机恢复数据库。
运行恢复命令:
docker exec -i vikadata-mysql-1 mysql -u root -p'数据库密码' apitable < /data/vikadata/app/backup/apitable-240806.sql