怎么对MySQL数据库进行备份与恢复
副标题[/!--empirenews.page--]
MySQL的备份与恢复 前言:前面我们已经了解了MySQL数据库的安装及使用,但随着自动化办公与电子商务的不断发展,企业对信息系统的依赖性越来越高,而数据库在信息系统中担任着非常重要的角色。尤其是一些对数据可靠性要求高的行业,如果发生数据丢失,其损失是非常严重的。因此,我们对数据库指定详细的数据库备份与灾难恢复的策略是完全有必要的。 文档大纲: 一、数据库备份的一些概念 1.造成数据丢失的原因 程序错误、人为操作错误、运算错误、磁盘故障、灾难(火灾、地震)和盗窃等 2.数据备份的类型 1)从物理与逻辑的角度分类 物理备份可分为:
说白了物理备份是对数据库操作系统的物理文件(如数据文件、日志文件等)的备份,这种类型的备份适用于在出现问题时需要快速恢复的大型重要数据库。 逻辑备份是对数据库逻辑组件(如表等数据库对象)的备份,这种类型的备份使用于可以编辑数据值或表结构较小的数据量,或者在不同的机器体系结构上重新创建数据。 2)从数据库的备份策略角度分类 从备份策略可分为:
如图所示: 3.常见的备份方法 1)物理冷备份 需要在数据库关闭状态下进行,能够较好的保证数据库的完整性。一般用于非核心业务,这类业务一般都允许终端,物理冷备份的特点就是速度快,恢复操作简单。 通常通过直接打包数据库文件夹(如:/usr/local/mysql/data)来实现 2)专用备份工具mysqldump或mysqlhotcopy mysqldump是客户端常用逻辑备份程序,能够产生一组被执行以再现原始数据库对象定义和表数据的SQL语句。它可以转储一个到多个MySQL数据库,对其进行备份或传输到远程SQL服务器。Mysqldump更为通用,因为它可以备份各种表。 Mysqlhotcopy是由Tim Bunce最初编写和贡献的Perl脚本。Mysqlhotcopy仅用于备份MyISAM和ARCHIVE表。它只能运行在UNIX或linux上,因为使用范围很小,在这里就不细说了。 3)通过启用二进制日志进行增量备份 MySQL支持增量备份,进行增量备份时必须启用二进制日志。二进制日志文件为用户提供复制,对执行备份点后进行的数据库更改所需的信息进行恢复。如果进行增量备份,需要刷新二进制日志。 4)通过第三方工具备份 Percona XtraBackup是一个免费的MySQL热备份软件,支持在线热备份Innodb和XtraDB,也可以支持MySQL表备份,不过MyISAM表的备份要在表锁的情况进行。由于内容太多,这里就不详细讲解了,有兴趣的话可以查阅该软件的详细介绍了解一下。 二、MySQL的完全备份与恢复 1.物理冷备份与恢复 物理冷备份一般用tar命令直接打包数据库文件夹,而在进行备份之前需要使用先关闭mysql服务。 1)备份数据库 创建一个/backup目录作为备份数据存储路径,使用tar创建备份文件。整个数据库文件夹备份属于完全备份。如下图: 2)恢复数据库 模拟故障,将/usr/local/mysql/data移动到/bak目录下。如下图: 从备份文件恢复数据。如下图: 2.mysqldump备份与恢复 通过mysqldump命令可以将指定的库、表或全部的库导出为SQL脚本,便于该命令在不同版本的MySQL服务器上使用。例如,当需要升级MySQL服务器时,可以先使用mysqldump命令将原有库信息导出,然后直接在升级后的MySQL服务器中导入即可。 1)备份数据库 使用mysqldump命令导出数据时,默认会直接在终端显示,若要保存到文件,还需要结合shell的">"重定向输出操作。命令格式如下图: 常用的选项:-u:指定用户名;-p:指定密码 (编辑:财气旺网 - 海宁网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |