MySQL: 我可以 cron 备份文件夹而不是使用 mysqldump 以免暴露凭据吗?
MySQL: can i cron backup folder instead of using mysqldump so as not to expose credentials?
我想 运行 一个 cronjob 来备份数据库,但我不想公开凭据。我可以像这样备份相关文件夹吗
scp /var/lib/mysql/myDatabase remote@backupserver.io:/path/to/backup/myDatabase
而不是使用
mysqldump myDatabase > myDatabase.sql -uUser -pPassword; <--- makes me twitch
有没有更好的方法可以在不在脚本中公开凭据的情况下执行此操作?还是我白担心了?
简答:否
长答案:mysqldump
如果应用正确 (--single-transaction
),将创建一致的快照。复制文件会抓取一个不一致的、可能已损坏的快照,其中可能充满问题。
对于其他选项,请考虑 innobackupex
。
请记住,您可以将用户设为 只读 访问权限以进行备份。您还可以 运行 在本地备份过程并将加密的备份流保存在其他地方。然后,如果有人以某种方式拦截此流并保存它,他们仍然一无所有。
我想 运行 一个 cronjob 来备份数据库,但我不想公开凭据。我可以像这样备份相关文件夹吗
scp /var/lib/mysql/myDatabase remote@backupserver.io:/path/to/backup/myDatabase
而不是使用
mysqldump myDatabase > myDatabase.sql -uUser -pPassword; <--- makes me twitch
有没有更好的方法可以在不在脚本中公开凭据的情况下执行此操作?还是我白担心了?
简答:否
长答案:mysqldump
如果应用正确 (--single-transaction
),将创建一致的快照。复制文件会抓取一个不一致的、可能已损坏的快照,其中可能充满问题。
对于其他选项,请考虑 innobackupex
。
请记住,您可以将用户设为 只读 访问权限以进行备份。您还可以 运行 在本地备份过程并将加密的备份流保存在其他地方。然后,如果有人以某种方式拦截此流并保存它,他们仍然一无所有。