我设置了一个脚本来自动备份数据库并将其上传到我的Dropbox帐户,这是代码:
#!/bin/bash
DATE=$(date +"%Y-%m-%d-%H-%M-%S")
mysqldump -u USER -PASSWORD DB_NAME | gzip -9 > /tmp/$DATE.sql.gz
./root/Dropbox-Uploader/dropbox_uploader.sh upload /tmp/$DATE.sql.gz /
rm /tmp/$DATE.sql.gz
我把文件放在/etc/cron.hourly
它仅适用于文件,唯一的问题是它会导致MySQL
在此期间无法接听来自NGINX
的任何来电(当它创建备份时,取决于大小,20 MB大约需要20个秒,我认为这是数据库变大时的严重问题),这会导致502 Bad Gateway
错误。
有什么方法可以阻止这种情况发生吗?
答案 0 :(得分:1)
https://stackoverflow.com/a/12142501/3953404
刚刚将其添加到命令中:
--single-transaction --quick
在我的代码的上下文中:
mysqldump -u USER -PASSWORD --single-transaction --quick DB_NAME
问题解决了:))