MySQL——全量,增量备份与恢复(理论篇)

  

数据备份的重要性

  
 <代码>在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果
  造成数据丢失的原因:
  程序错误
  人为错误
  计算机失败
  磁盘失败
  灾难和偷窃 
  

数据库备份的分类

  

物理备份:

  
 <代码>对数据库操作系统的物理文件(如数据文件,日志文件等)的备份 
  

物理备份又分为脱机备份(冷备份)和联机备份(热备份)

  
 <代码>冷备份:是在关闭数据库的时候进行的
  热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件 
  

逻辑备份:

  
 <代码>对数据库逻辑组件(如表等数据库对象)的备份 
  

从数据库的备份策略角度,备份可分为

  
 <代码>完全备份:每次对数据进行完整的备份
  差异备份:备份那些自从上次完全备份之后被修改过的文件
  增量备份:只有那些在上次完全备份或者增量备份后被修改的文件才会被备份 
  

MySQL完全备份

  
 <代码>完全备份是对整个数据库的备份,数据结构和文件结构的备份
  完全备份保存的是备份完成时刻的数据库
  完全备份是增量备份的基础 
  

完全备份的优点

  
 <代码>备份与恢复操作简单方便 
  

完全备份的缺点

  
 <代码>数据存在大量的重复
  占用大量的备份空间
  备份与恢复时间长 
  

, mysqldump备份库

  

MySQL数据库的备份可以采用用多种方式

  
 <代码>直接打包数据库文件夹,如/usr/地方/mysql/数据
  使用专用备份工具,mysqldump  
  

, mysqldump命令

  
 <代码> MySQL自带的备份工具,相当方便对MySQL进行备份
  通过该命令工具可以将指定的库、表和全部的库到处为SQL脚本,在需要恢复时可进行数据恢复 
  

, mysqldump命令对单个库进行完全备份

  
 <代码>,mysqldump - u用户名- p[密码][选项][数据库名]比;/备份路径/备份文件名 
  

单库备份例子

  
 <代码>,mysqldump - u root - p认证比;/备份/auth.sql
  ,mysqldump - u root - p mysql祝辞/备份/mysql.sql  
  

, mysqldump命令对多个库进行完全备份

  
 <代码>,mysqldump - u用户名- p[密码][选项)——数据库库1名(库名2]…比;/备份路径/备份文件名 
  

多库备份例子

  
 <代码>,mysqldump - u root - p - auth mysql数据库比;/返回/databases-auth-mysql.sql  
  

对所有库进行完全备份

  
 <代码>,mysqldump - u用户名- p[密码][选项)——所有数据库比;/备份路径/备份文件名 
  

多有库备份例子

  
 <代码>,mysqldump - u root - p -选择-所有数据库比;/备份/所有数据。sql代码 之前
  

, mysqldump备份表

  

在时间生产环境中,存在对某个特定表的维护操作,此时,mysqldump同样发挥重大作用

  

使用,mysqldump备份表的操作

  
 <代码>,mysqldump - u用户名- p[密码][选项]数据库名表名的在/备份路径/备份文件名 
  

备份表的例子

  
 <代码>,mysqldump - u root - p mysql用户比;/备份/mysql-user.sql  
  

恢复数据库

  

使用,mysqldump命令导出的SQL备份脚本,在进行数据恢复时可使用一下方法导入

  
 <代码>源命令
  mysql命令 
  

使用源恢复数据库的步骤

  
 <代码>登录到MySQL数据库
  执行源备份sql脚本的路径 
  

源恢复例子

  
 <代码> MySQL((没有))比;源/备份/all-data.sql  
  

使用mysql命令恢复数据

  
 <代码> mysql - u用户名- p[密码]& lt;库备份脚本的路径 
  

mysql命令恢复例子

  
 <代码> mysql - u root - p & lt;/备份/all-data.sql  
  

恢复表的操作

  

恢复表时同样可以使用源或者mysql命令进行

  

源恢复表的操作与恢复库的操作相同

  

当备份文件中只包含表的备份,而不包括创建库的语句时,必须制定库名,且目标库必须存在

  
 <代码> mysql - u用户名- p[密码]& lt;表备份脚本的路径
  mysql - u root - p mysql & lt;/备份/mysql-user.sql 

MySQL——全量,增量备份与恢复(理论篇)