当前位置:首页 > 问答 > 正文

mysql数据库备份其实很简单,直接拷贝文件就能快速搞定,省时又方便

(来源:部分数据库管理员的经验分享)

很多人觉得mysql数据库备份是件特别复杂的事情,非得用专业工具或者输入一堆命令,其实有个特别简单直接的方法——直接拷贝数据库文件,这个方法就像平时在电脑上复制粘贴文件夹一样,不需要懂任何专业命令,非常适合对数据库不太熟悉的新手或者需要快速备份的情况。

具体操作起来很简单,首先你得找到mysql把数据存在哪里,如果是用xampp、phpstudy这类集成环境安装的mysql,数据库文件通常就在安装目录下,比如叫“data”的文件夹,如果是独立安装的mysql,在linux系统里一般在/var/lib/mysql这个路径,windows系统则可能在C:\ProgramData\MySQL\MySQL Server 8.0\Data(具体版本号可能不同),你直接打开这个文件夹,就能看到每个数据库对应一个同名的文件夹。

备份的时候,根本不需要登录mysql,你只需要把这个整个data文件夹,或者只拷贝里面某个你需要的数据库文件夹,直接复制到另一个安全的地方就行,比如移动硬盘或者另一台电脑,整个过程就是鼠标点几下的事情,速度还特别快,尤其是数据库比较大的时候,比用工具导出sql文件要省时得多。

(来源:一些网站站长处理突发情况的实践)

mysql数据库备份其实很简单,直接拷贝文件就能快速搞定,省时又方便

这种方法最大的好处就是快和直接,当网站突然出问题需要恢复时,你只要停止mysql服务(关掉mysql就行),然后把之前备份的文件夹覆盖回原来的位置,再启动mysql,数据就完全恢复到备份时的状态了,很多站长在网站被误操作或者中病毒后,就是这样快速恢复的。

直接拷贝文件这个方法有个很重要的前提:备份的时候,必须确保数据库没有在写入数据,简单说,就是最好在网站没人用的时候(比如深夜),或者把网站暂时关闭(比如放个维护页面)再备份,因为如果在拷贝过程中,正好有用户注册或者下了订单,这些新数据可能只写了一半,会导致备份文件不完整,以后用这个备份恢复就可能出问题。

(来源:程序员社区关于备份方法的讨论)

mysql数据库备份其实很简单,直接拷贝文件就能快速搞定,省时又方便

这种文件级备份和常用的sql转储备份是两回事,直接拷贝文件是把数据在硬盘上的存储格式原样复制,而导出sql是生成一堆创建表和插入数据的命令,前者恢复起来就是一键覆盖,后者还得像执行程序一样跑一遍脚本,对于数据量大的情况,直接拷贝物理文件在速度上有明显优势。

这个方法也不是完美的,主要问题就是前面说的,需要停服务或者确保数据库静止,对于需要24小时不停机的网站(比如电商平台),可能就不太合适,这种备份是整个数据库文件的完整拷贝,比较占硬盘空间,不像一些增量备份工具可以只备份变化的部分。

还有一点要注意的是,用这种方法备份的文件,通常只能恢复回相同版本或相近版本的mysql,如果你是从很老的mysql版本(比如5.1)备份的文件,想直接覆盖到新版本(比如8.0)上,可能会不兼容,所以最好记录一下备份时用的mysql版本号。

对于个人网站、测试环境、或者小型的项目,直接拷贝数据库文件是一个非常实用的“懒人备份法”,它不需要高深的技术,操作直观,恢复迅速,虽然对于要求高一致性的商业系统可能不够严谨,但在很多不那么严格的场景下,它确实提供了一种省时省力的解决方案,下次你需要备份mysql时,如果不方便用工具,不妨试试这个直接拷贝的“土办法”,可能会让你惊喜。