mysql数据备份与导入(一)
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数据备份与导入(一)相关推荐
- mysql数据备份与导入(二)
6.逻辑导出导入 1.数据逻辑导出: 注意点:需要指定导出的文件,在my.cnf中新增secure_file_priv=导出到的文件,且此文件所在目录需要mysql用户的rwx权限 select 需要 ...
- MySQL数据备份和导入
# 备份也可以理解为存档 # 保存的位置 一定要写具体路径及sql后缀 # 这个备份的语法 一定是退出数据库 去执行 备份语法:mysqldump -h localhost -u root -p 数 ...
- mysql数据备份与导入
# 远程链接新数据库 mysql -uroot -p1 -h106.14.42.253# 创建数据库 create database new_dbj charset=utf8mb4;# 退出 exit ...
- mysql 数据备份
一:IDE工具介绍 生产环境还是推荐使用mysql命令行, 但为了方便我们测试 可以使用IDE 工具. 掌握 测试+链接数据库. 新建库 新建表,新增字段+类型+约束 设计表:外键 新增查询 备份库. ...
- mySQL的备份及导入
mysql数据导入 1.登录mySQL mysql -u root -p 2.显示数据库 show databases; 3.清理对应数据库 drop database 对应的数据库名; 4.创建数 ...
- mysql数据备份恢复
数据备份恢复 一.概述 MySQL数据备份即databases Binlog my.cnf 所有备份数据都应放在非数据库本地,而且建议有多份副本.测试环境中做日常恢复演练,恢复较备份更为重要. 备份: ...
- mysql 数据备份(mysqldump)
mysql 数据备份(mysqldump) ************************* mysqldump 使用 命令格式 root@7a72b2ffd688:/# mysqldump --h ...
- 7、 MySQL数据备份
MySQL数据备份.恢复 引言:在生产环境中,数据的安全性至关重要,任何数据的丢失都可能产生严重的后果,那么对于数据的备份就将显的十分重要.对于MySQL而言,在其备份中,日志起到了很重要的作用 一. ...
- 写了个MySQL数据备份小工具,放出来跟大家分享一下,欢迎拍砖。
自己写了个MySQL数据备份小工具,放出来跟大家分享一下,欢迎拍砖. 因为数据库中有blob类型的字段,用SQLyog等工具备份出的脚本都是乱码,没办法导入,可是又经常要备份MySQL数据库,以前一直 ...
最新文章
- Git详解之九 Git内部原理
- kickstart自动化安装
- 斩草除根-修复被剪断的鼠标引线
- andy the android ppt,新概念同步测试1.ppt
- 【转】SAP 条形码
- VTK修炼之道53:图形基本操作进阶_多分辨率策略(模型细化的三种方法)
- 四、启动OpenLDAP服务器
- 初学者UI设计临摹素材模板,请先搞清楚这4个分类!
- 【汇编基础】SIMD除法的实现
- 「1s」即可!用 VS Code 一键玩转 GitHub 代码!
- 如何基于数据快速构建用户模型(Persona)?
- OpenCV(一)---支持向量机 SVM
- FPGA的I2S采集数据处理
- 【Lua指南】lua脚本世界--快速入门
- 随机数字表法计算机分配,随机数字表法
- iOS信鸽推送:解决通过账号推送不成功的问题
- 基于vue开发的,三国杀新版卡牌在线制作
- Caffeine使用指南
- 英语各句子成分的主要作用
- Spring的基础用法
热门文章
- 阿妈3进服务器显示您已启动游戏,游戏代练有多装?口嗨老板帮会成员,冒充服务器神豪正好撞到本尊...
- ORA-65096 公用用户名或角色无效
- License使用成本估算
- 移动通信网络信号手机测试软件,手机信号强度怎么测试?
- 使用Android API最佳实践
- sql怎么两个表关联查询
- 猜数字游戏(java实现)
- 如何使用js(Javascript)发送http请求,以及xhr和fetch的区别
- 安乐高机器人图纸_乐高机器人拼装图纸 | 手游网游页游攻略大全
- 服装女装外贸好做吗?服装女装出口形势如何?外贸推广怎么做?