一般我们的网站会采用php+mysql架构,对于网站文件我们可以采用直接FTP下载、压缩下载或者是通过脚本和工具自动推送到远程服务器和FTP空间备份。我们单单备份网站文件是不够的,网站还有数据库需要备份,老蒋在博客中分享过一些数据库备份的方法。比如直接通过phpmyadmin导出备份,或者通过帝国备份王第三方工具备份,也可以通过mysqldump导出备份。
如果我们不确定备份的完整性,可以同时采用多种方式备份,这样可以确保各种看可能的问题。或者我们还可以测试备份的数据库是否可以恢复数据。最近一段时间,老蒋准备整理没有接触到的MySQL数据库备份和恢复方法,包括一些增量备份。今天采用一个较为原始的办法,直接拷贝数据库用户目录的原始文件。
一个网站、一个数据库用户是有一个文件夹存储数据库原始文件的,比如会是.frm和.ibd等文件。我们今天就采用直接拷贝这个原始文件的备份和还原数据库的办法。
老蒋写过的可能需要的数据库备份文章:
1、Linux VPS网站文件、数据库备份及更换主机搬家过程记录
2、Linux VPS自动定时备份MySQL数据库发送至邮箱实现脚本
3、利用WDCP面板备份网站文件及数据库以及网站还原恢复方法
第一、准备工作
1、原始文件的备份虽然看似简单,但是需要确保我们备份的数据库文件拷贝下来之后恢复需要在同版本号的数据库, 要不可能会出现无法恢复的问题。
2、数据库锁表
严格操作的话,我们在备份数据库拷贝文件之前是需要进行锁表只读的,这样会减少万一在拷贝这么短时间出现的数据写入冲突问题。如果我们数据量读写可控,也可以不锁表。
FLUSH TABLES WITH READ LOCK;
第二、拷贝数据库原始文件
我们直接到数据库安装原始目录,找到对应的数据库文件夹直接拷贝到对应目录备份或者拷贝到本地。
第三、恢复数据库
这里我们可以模拟数据库出现故障,或者拷贝到其他服务器环境,但是最好确保当前数据库和环境是一样的,这样不容易出现错误。
将备份下来的数据库原始文件,拷贝到对应的数据库目录中。最后再重启数据库生效。如果有报错,我们需要检查下当前数据库目录是否有写入权限,如果没有需要给予写入权限。
最后,我们打开网站看看是否有报错。上面这个拷贝MySQL数据库原始文件的办法,还是比较陈旧的,一般适合较少的数据库和读写不大的。
本文出处:老蒋部落 » MySQL数据库备份方法整理 - 拷贝MySQL原始文件 | 欢迎分享( 公众号:老蒋朋友圈 )