在项目的开发过程中数据库的备份是非常重要的,为了防止数据库受到破坏,造成不可估量的损失,所以一定要进行数据库的备份,并且需要掌握数据库恢复方法,在发生数据库损坏的时候,能快速进行数据库恢复。
本文主要介绍MySQL数据表备份与恢复主要的三种方法,包括直接复制数据库、使用命令行、使用MySQL Workbench工具。
目录
一、直接复制数据库文件进行备份和恢复
1、创建备份目录
2、查看目录
3、停止服务
4、复制数据库文件
二、使用命令行工具进行备份和恢复
1、备份数据库
2、恢复数据库
三、使用MySQL Workbench工具进行数据库备份与恢复
1、备份数据库
2、恢复数据库
MySQL中的每一个数据库和数据表分别对应文件系统中的目录和其下的文件。在Linux下数据库文件的存放目录一般为/var/lib/mysql。在Windows下这个目录视MySQL的安装路径而定。Windows操作系统下直接找到安装路径下的数据库文件复制备份即可,本文以Linux操作系统为例进行数据库备份及恢复。
使用创建目录命令创建用于存放备份数据库文件目录,“mkdir -p /var/lib/mysql/bk”,如下图所示:
通过“cd /var/lib/mysql”以及“ls -al”命令查看Linux下数据库文件存放目录,如下图所示:
备份文件前,需要将MySQL服务停止,使用“net stop mysql”命令进行数据库停止操作。
使用文件复制命令复制数据库文件。使用“cp –r /var/lib/mysql/test /var/lib/mysql/bk”命令复制文件。通过该命令将test目录下所有文件复制到第一步准备好的备份文件夹bk下。
恢复数据数据库时,需要先创建好一个数据库(不一定同名),然后将备份出来的文件(注意,不是目录)复制到对应的MySQL数据库目录中。
使用这一方法备份和恢复数据库时,需要新旧的MySQL版本一致,否则可能会出现错误。
(1)导出整个数据库可以使用如下命令:
mysqldump –u用户名 p密码 -d 数据库名 表名 > 脚本名
导出整个数据库结构和数据:
mysqldump -h localhost -uroot -p123456 database > dump.sql
导出单个数据表结构和数据:
mysqldump -h localhost -uroot -p123456 database table > dump.sql
导出整个数据库结构(不包含数据):
mysqldump -h localhost -uroot -p123456 -d database > dump.sql
导出单个数据表结构(不包含数据):
mysqldump -h localhost -uroot -p123456 -d database table > dump.sql
导出全部数据库数据:
mysqldump -uroot -p --all-databases > alldb.sql
本例中仍然以test数据库为例进行操作“mysqldump -uroot -p test > /var/lib/mysql/bk/test.sql”,并可以通过ls查看到bk目录下已经备份出来的test.sql文件,如下图所示:
mysql -u root –password=root密码 数据库名 < 备份文件.sql
使用MySQL Workbench工具进行数据库备份与恢复非常直观易用,以下为备份及恢复步骤。
步骤1:选择Server菜单下Data Export菜单项,打开数据导出页面,如下图所示:
步骤2:选择需要备份的数据库,指定备份文件存放的位置,如下图所示:
步骤3:点击Export Progress页面,选择Start Export按钮执行备份操作,如下图所示:
选择Server菜单下Data Export菜单项,打开数据导入页面,如下图所示:
在数据导入页面下,执行以下操作,完成数据恢复。