另类的MySQL数据库备份方法 – 拷贝MySQL原始文件

2018年2月2日 评论 1,579 903字阅读3分0秒

现在的php架构的网站已经是趋势,一般我们的网站都是采用php+mysql架构,对于网站文件我们可以采用直接FTP下载、压缩下载或者是通过脚本和工具自动推送到远程服务器和FTP空间备份。我们单单备份网站文件是不够的,网站还有数据库需要备份,大鸟在博客中分享过一些数据库备份的方法。比如直接通过phpmyadmin导出备份,或者通过帝国备份王第三方工具备份,也可以通过mysqldump导出备份。

如果我们不确定备份的完整性,可以同时采用多种方式备份,这样可以确保各种看可能的问题。或者我们还可以测试备份的数据库是否可以恢复数据。最近一段时间,大鸟准备整理没有接触到的MySQL数据库备份和恢复方法,包括一些增量备份。今天采用一个较为原始的办法,直接拷贝数据库用户目录的原始文件。

一个网站、一个数据库用户是有一个文件夹存储数据库原始文件的,比如会是.frm和.ibd等文件。我们今天就采用直接拷贝这个原始文件的备份和还原数据库的办法。

第一、准备工作

1、原始文件的备份虽然看似简单,但是需要确保我们备份的数据库文件拷贝下来之后恢复需要在同版本号的数据库, 要不可能会出现无法恢复的问题。

2、数据库锁表

严格操作的话,我们在备份数据库拷贝文件之前是需要进行锁表只读的,这样会减少万一在拷贝这么短时间出现的数据写入冲突问题。如果我们数据量读写可控,也可以不锁表。

FLUSH TABLES WITH READ LOCK;

 

mysql-backup-1-1

第二、拷贝数据库原始文件

 

mysql-backup-1-2

我们直接到数据库安装原始目录,找到对应的数据库文件夹直接拷贝到对应目录备份或者拷贝到本地。

第三、恢复数据库

这里我们可以模拟数据库出现故障,或者拷贝到其他服务器环境,但是最好确保当前数据库和环境是一样的,这样不容易出现错误。

将备份下来的数据库原始文件,拷贝到对应的数据库目录中。最后再重启数据库生效。如果有报错,我们需要检查下当前数据库目录是否有写入权限,如果没有需要给予写入权限。

最后,我们打开网站看看是否有报错。上面这个拷贝MySQL数据库原始文件的办法,还是比较陈旧的,一般适合较少的数据库和读写不大的。当然这个适合有需要的人,虽然说用处不大,但是可能无意中会帮助到有需要的人。

  • 我的微信
  • 分享风间由美中文字幕建站技术交流等!
  • weinxin
  • 微信公众号
  • 关注本博公众号
  • weinxin
大鸟
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: