MySQL数据备份以及安全规则
今天把SAE数据库上的数据都迁到阿里云服务器上了,过程还算顺利,但也遇到了几个问题。在这个过程中,我也学到很多知识。
刚开始直接利用phpmyadmin导出数据,但导出的数据不全,后来就用了新浪开发的DeferJobs导出,一共50M的SQL文件。
我先在本地测试了以便SQL导入,用Navicat软件。导入结果提示我“Got a big packet",后搜索一下,原因是MySQL允许的最大导入字节,默认是10M,但我的文件有50M。因此需要修改一下配置,我直接就临时修改了一下:
mysql> set max_allowed_packet=500000000;
修改后再导入就没问题了。
我把我的SQL文件传到了远程服务器上。但利用命令导入的过程汇总,一直提示错误。于是乎,我想远程登录一下,然后用Navicat导入。
对于阿里云ECS,他是默认关闭3306端口的,需要在安全规则里设置。我觉得这点非常好,真的挺安全的。设置过程很简单,只要入方向添加了3306端口即可。不过,生产服务器的MYSQL暴露在外网是非常危险的,因此我为了安全考虑,IP设置只允许我的IP访问。
开放端口之后算完了吗?错了, 还要再MySQL配置文件中修改一项:bind-address=127.0.0.1,要把这行去掉。
至此,可以远程登录了。
导完数据算是完成了第一步,也让我离SAE又远了一步,哈哈。
接下来要设计数据备份的问题。
阿里云给了我一个RDS半年的使用权,40G的,我刚开始是想做主从备份的,但我考虑到半年之后还要续费,而我并不真正需要它,就放弃了。
我先是设计了硬盘快照,此外,我打算部署在服务器脚本,定期将数据备份到服务器数据硬盘上,此外也要把数据备份到本地。备份的数据包括MySQL和Redis的数据。
我认为这是目前,我觉得比较合适的备份方式。
微信分享/微信扫码阅读