我正在使用mysql-5.5和rhel5,我的意图是使用mysqldump来进行加密备份和压缩备份
因为我正在使用mysqldump,如下所示
mysqldump -u root -p db_name | gzip >file_name.sql.gz
它将提供压缩备份但不加密
答案 0 :(得分:2)
除非你真的喜欢GPG,否则你可以使用可能内置的OpenSSL,并且没有真正的依赖结构来制作易于移植和可解密的备份,而不是坦率地使用GPG。通过这种方式,您可以轻松解密任何Linux系统(以及许多其他平台)上的备份,而无需任何密钥环,只需知道密码即可。
答案 1 :(得分:1)
这个怎么样:
mysqldump -u root -p db_name | gpg --encrypt -r 'user_id' | gzip >file_name.sql.gz
当然,您需要要加密的用户的公钥。
e.g。
gpg --import keyfile
答案 2 :(得分:0)
另请注意,通过命令行使用-p
非常糟糕,因为密码可以通过ps aux
读取。
我建议使用openssl
因为pgp
对大文件的速度变慢。
我目前在工作中经常使用的最佳解决方案是mysqldump-secure。
它提供openssl加密和压缩以及其他更多功能,甚至还附带一个nagios监控插件。
答案 3 :(得分:0)
我使用以下Bash脚本使用Dropbox将备份直接同步到我们自己的公司服务器(然后自动备份该数据)。用您自己的脚本变量替换脚本变量。然后我将它添加到我的crontab中,每12小时运行一次。
FILENAME=dbname.$(date +%Y-%m-%d-%H-%M)
SQLFILE=/root/Desktop/$FILENAME.sql
ZIPFILE=/root/Desktop/$FILENAME.zip
GPGFILE=/root/Dropbox/SQL-Backups/$FILENAME.gpg
mysqldump --user=dbuser --password=password --port=3306 --default-character-set=utf8 --single-transaction=TRUE --databases "dbname" --result-file="$SQLFILE"
zip -9 $ZIPFILE $SQLFILE
gpg --output "$GPGFILE" --encrypt --recipient "recipient@company.com" "$ZIPFILE"
unlink $ZIPFILE
unlink $SQLFILE
这使用GnuPG加密生成的压缩SQL转储。切记永远不要将私有密钥导入Web服务器。 Web服务器的GPG设置只需要公钥。
您可以使用大多数平台可用的GPG software来创建密钥并将公钥发布到密钥服务器。