backup https://github.com/meskyanichi/backup 是一个很好用的 gem.
当我配置好 backup 所需的内容后,定制了一个定期备份的任务,其中有一任务: 每天晚上 10 点备件远程服务器的 mysql 数据到本机。
但是有一个问题,每天备份的时候会遇到问题:
mysqldump: Got error: 1130: Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server when trying to connect
意思是说:远程服务器不允许 ip:xxx.xxx.xxx.xxx 的主机操作数据库。
我处理的方法是: 用 mysql 客服端登录到远程服务器的 mysql 并修改 ip:xxx.xxx.xxx.xxx 的权限, 然后再执行 backup 的备份。
我这样做只是处理了眼前的问题,已经遇到很多次类似的问题. 我本机的 ip 对内网是固定的 ip,但是外网还好像会动态改变. 所以每次备份的时候访问远程服务器的 ip 会改变 同时相应的权限也就不能访问远程数据库了. 你们有没有什么好的方法来处理这类事件?