MySQL备份恢复之mysqldump备份_SQL语句模式

mysqldump备份_SQL语句模式
mysql备份类型
1.分为冷备和热备
冷备就是在数据库shutdown以后进行备份
热备就是在数据库open进行备份

2.又可以分为物理备份和逻辑备份
(1)物理备份:将数据页拷贝出来
(2)逻辑备份:将数据行拷贝出来

备份产生的问题
1.备份对IO的影响(特别是物理备份对IO影响很大)
2.备份占用网络资源
3.备份会产生锁的问题

总之,备份对生产的影响很大

恢复原理
总体原理:备份+binlog(binlog里面记录着所有对表的操作)实现灵活备份

注意:binlog恢复的起点永远是备份开始的时刻

逻辑备份:对数据行的备份
1.mysqldump工具

(1)在数据库open时
(2)导出的是数据行,原来的物理结构没有导出来
(3)恢复原理
innodb表
【1】备份一个一致性时刻(mvcc)
【2】使用binlog追加恢复
对于myisam表:加锁

2.关于mysqldump的几种用法
[root@mysql1 tpcc-mysql]# mysqldump --help
(1)mysqldump [OPTIONS] database [tables] //可以备份某一个数据库的某一个表
(2)mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3…]
(3)mysqldump [OPTIONS] --all-databases [OPTIONS]
关于options,里面分为两类参数
(1)开关参数
(2)需要赋值的参数
(3)开关参数的默认值可以查看下面的默认值部分

我们需要着重关注的mysqldump参数
(1)登录参数
例如:-u -p -P -h -s
(2)与锁相关的参数
-l:保证每一个库是一致的,但是对于不同的数据库,数据是不一致的
-x:保证mysql中所有的库和表是一致的
加的是读锁
会对生产产生严重的影响,一般不会采用这种方式保持数据的一致性

对于myisam表来说,
只能使用上面的方法来保持数据的一致性
对于innodb表来说,
可以使用MVCC特性
–single-transaction参数来保持数据的一致性

现在几乎所有的系统都在使用innodb引擎,因此我们使用–single-transaction来实现数据的备份,备份期间不锁表
不锁表,说的是不锁DML和select,但是对于备份期间的DDL操作还是会被阻塞

举例:
[root@mysql1 mysql]# mysqldump -uroot -p123 -F --single-transaction test > /tmp/test.sql
释义:-F:强行切换binlog --single-transaction保持数据一致性 最后将内容重定向到/tmp/test.sql

对于mysqldump最重要的一个知识点就是如何确定备份的起点时间
(1)关注备份文件的建立文件
(2)关注binlog的切换时间(强行切换时间,文件大小一定不是1G)

对于mysqldump的灵活备份恢复
(1)可以备份所有的数据库,可以恢复指定的数据库
(2)可以备份指定需要备份的数据库
(3)备份某一些表
(4)备份某个表的某些数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值