因为上次的人肉运维时间,博主有点吃不消了,所以现在博主一直在研究:
1、怎样合理备份mysql文件
2、怎么将备份内容自动上传到百度云盘,或者其它云盘去(原因:①云盘空间大,费用小 ②云盘多地共享,远程办公)
3、把服务器的VPN搭建好,这样可以避免远程登录安全性问题
4、做好服务器安全过滤,防火墙策略
当然可能还有很多要做的事情,但是作为一个PHPer来说,做好以上策略已经可以保证我们很好的工作了,虽然之前这些内容都有做过,但是没有形成流程化,标准化,工具化博主对于未来的想法,是一款php程序,填上自己的云盘账号等信息以及数据库的位置就可以智能化完成这一切
OK,今天要说的问题是数据库备份,针对数据库备份这种文章可以从百度搜索出成千上万篇文章,但是博主一直在思考一个问题,文件完全备份和导出sql文件备份到底有什么关系和区别呢?
不说网上有得,就说为什么不用文件备份,从很多角度来说文件备份好像比sql备份更加安全,因为sql很多时候遇到特殊字符中断等情况,为了解释这个问题?楼主亲自做了实验,发现在innodb条件下,只有.frm文件,没有.myi和.myd文件,这样的貌似拷贝文件无效!经过查询得知需要拷贝ibdata1的文件,并且做好备份端的扩展,并重启
数据库备份参考:http://www.cnblogs.com/frankielf0921/p/5924365.html
innodb文件备份失败解决办法:http://blog.csdn.net/u012403455/article/details/40535975
扩展文件相关操作参考:http://blog.csdn.net/hittata/article/details/46429637
异常启动处理办法:http://blog.chinaunix.net/uid-12427199-id-3491227.html
强制启动数据库的级别:http://blog.itpub.net/22664653/viewspace-1441389/
罗列下遇到的问题和解决办法:
1、本地数据库开启了独享模式,需要关闭,独享模式,因为远程数据库拷贝过来只有一个.frm文件(innodb_file_per_table参数的值off)
2、当时因为远程数据库的ibdata是64M,但是小编觉得,那么我放大1M会不会更好呢?
结果提示:
InnoDB: Error: data file ./ibdata1 is of a different size
InnoDB: 4096 pages (rounded down to MB)
解决办法:用4096/64 =64M,不能大于这个值,否则报错
3、以上迁移过来了,数据库也启动了,发现表打不开,提示 innodb_force_recovery > 0 的问题,因此查看强制启动数据库覆盖的级别,于是将级别设置在 innodb_force_recovery = 4,这样远程服务器的库是导入成功了,但是本地的innodb数据引擎的库却打不开,但是myisam数据引擎库却没有问题,所以再次设置 innodb_force_recovery = 1启动发现两表共存了!
OK,以上便是博主一些心得,有问题!欢迎一起交流解决!