1.备份概述:

备份:能够防止机械故障以及人为操作失误带来的数据丢失,例如将数据库文件保存在其他地方。

冗余:数据有多份冗余,但不等于备份,只能防止机械故障带来的数据丢失,例如主备模式、数据库集群。

1.备份内容:

1.数据文件

2.配置文件  =》 my.cnf

3.日志文件(主要是二进制文件)

2.扩展:mysql体系结构

1.存储引擎层(MYISAM与INNODB区别):

MYISAM:查询速度快,支持表级锁,支持全文索引

INNODB:支持事务,支持行级锁,支持外键

2. 存储层(MYISAM与INNODB区别):

MYISAM 在data目录对应数据库里生成三个文件

.frm :表结构框架文件

.MYD:表数据文件

.MYI:表索引文件

INNODB在该目录下生成两个文件并且在data目录下生成了一个文件

.ibd  :表索引以及表数据文件

ibdata1:此文件是innodb引擎生成的数据库中所有表的共享的一个公共文件

综上:MYISAM可以直接保存以上三个文件去做备份  ,INNODB不可以,需要专业工具去做备份

2.日志文件

此处主要记录两种类型:

error错误日志:存放数据库的启动,停止或运行时的错误信息 ,一般存放在/data下  文件名为    主机名.err或者mysql.err

binlog二进制日志:1.记录数据库的所有更改操作,2.主要应用于主从复制中,master将二进制日志中的更改操作发送个slave,保证主从一致。3.其次可以用于数据恢复,4.默认关闭 5.通过

2.备份必须考虑的因素

3.备份类型

4.备份方法

全量备份:备份所有数据

增量备份:基于全量备份,备份变化部分

5.mysql逻辑备份

1.mysql表级备份

导出的是sql语句文件,优点是无论什么引擎都可以使用mysqldump备成sql文件,缺点就是速度慢不支持增量备份,导入时可能格式不兼容

基本语法:

单表备份

mysqldump 数据库名 表名 > 目标路径线下的备份文件 -p 密码

单表恢复

mysql 数据库名 < .sql文件位置  -p 密码
或者进入mysql某个库中
source sql文件路径

2.mysql库级备份

mysqldump --databases  库名 > 备份文件全路径 -p 密码

还原与单表一样

3.mysql全库备份

前提:需要开启二进制日志

语法

mysqldump --all-databases  --master-data --single-transaction > 备份文件全路径 -p 密码

还原:

mysql < 备份文件  -p 密码

4.mysqldump  + binlog实现增量备份

核心思路:1.要有全量备份 2.增删查该数据 3.再次需要备份时,不需要进行全量备份,只需要备份binlog日志文件即可(binlog记录数据库增删改的所有sql)

1.准备数据,开启二进制日志(默认关闭)

2.做全量备份

mysqldump --all-databases  --master-data=2 --flush-logs --single-transaction > 备份文件全路径 -p 密码

加入--flush-logs 参数刷新了二进制日志文件(刷新后的二进制文件记录此次全量备份后的增删改sql记录)

3.做完备份后做增删改操作

4.模拟故障(类似于删库)

drop database 库名

5.立即备份二进制binlog文件,并全库恢复(此时恢复的不全)

1.复制二进制文件
cp binlog路径/binlog.00001.log  目标路径
2.全库恢复(此时恢复的不全)
mysql < 备份文件  -p 密码

6.通过binlog增量备份

先分析 mysqlbinlog  binlog文件 ,如下图at对应的数值是备份后对数据库操作的起始位置,寻找事故位置对应的临界点的at数值(可根据故障时间或者drop类似的操作来判断)

还原方法:

mysqlbinlog --start-position=4 --stop-position=xxx 备份文件 |mysql -p 密码

mysql数据备份与导入(一)相关推荐

  1. mysql数据备份与导入(二)

    6.逻辑导出导入 1.数据逻辑导出: 注意点:需要指定导出的文件,在my.cnf中新增secure_file_priv=导出到的文件,且此文件所在目录需要mysql用户的rwx权限 select 需要 ...

  2. MySQL数据备份和导入

    # 备份也可以理解为存档 # 保存的位置 一定要写具体路径及sql后缀 # 这个备份的语法 一定是退出数据库 去执行 备份语法:mysqldump -h localhost -u root -p  数 ...

  3. mysql数据备份与导入

    # 远程链接新数据库 mysql -uroot -p1 -h106.14.42.253# 创建数据库 create database new_dbj charset=utf8mb4;# 退出 exit ...

  4. mysql 数据备份

    一:IDE工具介绍 生产环境还是推荐使用mysql命令行, 但为了方便我们测试 可以使用IDE 工具. 掌握 测试+链接数据库. 新建库 新建表,新增字段+类型+约束 设计表:外键 新增查询 备份库. ...

  5. mySQL的备份及导入

    mysql数据导入 1.登录mySQL mysql -u root  -p 2.显示数据库 show databases; 3.清理对应数据库 drop database 对应的数据库名; 4.创建数 ...

  6. mysql数据备份恢复

    数据备份恢复 一.概述 MySQL数据备份即databases Binlog my.cnf 所有备份数据都应放在非数据库本地,而且建议有多份副本.测试环境中做日常恢复演练,恢复较备份更为重要. 备份: ...

  7. mysql 数据备份(mysqldump)

    mysql 数据备份(mysqldump) ************************* mysqldump 使用 命令格式 root@7a72b2ffd688:/# mysqldump --h ...

  8. 7、 MySQL数据备份

    MySQL数据备份.恢复 引言:在生产环境中,数据的安全性至关重要,任何数据的丢失都可能产生严重的后果,那么对于数据的备份就将显的十分重要.对于MySQL而言,在其备份中,日志起到了很重要的作用 一. ...

  9. 写了个MySQL数据备份小工具,放出来跟大家分享一下,欢迎拍砖。

    自己写了个MySQL数据备份小工具,放出来跟大家分享一下,欢迎拍砖. 因为数据库中有blob类型的字段,用SQLyog等工具备份出的脚本都是乱码,没办法导入,可是又经常要备份MySQL数据库,以前一直 ...

最新文章

  1. Git详解之九 Git内部原理
  2. kickstart自动化安装
  3. 斩草除根-修复被剪断的鼠标引线
  4. andy the android ppt,新概念同步测试1.ppt
  5. 【转】SAP 条形码
  6. VTK修炼之道53:图形基本操作进阶_多分辨率策略(模型细化的三种方法)
  7. 四、启动OpenLDAP服务器
  8. 初学者UI设计临摹素材模板,请先搞清楚这4个分类!
  9. 【汇编基础】SIMD除法的实现
  10. 「1s」即可!用 VS Code 一键玩转 GitHub 代码!
  11. 如何基于数据快速构建用户模型(Persona)?
  12. OpenCV(一)---支持向量机 SVM
  13. FPGA的I2S采集数据处理
  14. 【Lua指南】lua脚本世界--快速入门
  15. 随机数字表法计算机分配,随机数字表法
  16. iOS信鸽推送:解决通过账号推送不成功的问题
  17. 基于vue开发的,三国杀新版卡牌在线制作
  18. Caffeine使用指南
  19. 英语各句子成分的主要作用
  20. Spring的基础用法

热门文章

  1. 阿妈3进服务器显示您已启动游戏,游戏代练有多装?口嗨老板帮会成员,冒充服务器神豪正好撞到本尊...
  2. ORA-65096 公用用户名或角色无效
  3. License使用成本估算
  4. 移动通信网络信号手机测试软件,手机信号强度怎么测试?
  5. 使用Android API最佳实践
  6. sql怎么两个表关联查询
  7. 猜数字游戏(java实现)
  8. 如何使用js(Javascript)发送http请求,以及xhr和fetch的区别
  9. 安乐高机器人图纸_乐高机器人拼装图纸 | 手游网游页游攻略大全
  10. 服装女装外贸好做吗?服装女装出口形势如何?外贸推广怎么做?