数据库备份【主从同步,备份,DBA,读写分离,mycat】

主从同步

主从同步的原理(过程)

主:开启binlog日志

从:IO线程–>连接主库,复制主库中binlog日志文件的sql命令,到本机的中继日志里

SQL线程–>执行本机中继日志的sql命令,实现与主库数据一致

-结构类型

一主一从
一主多从
互为主从
主从从

逻辑备份:

执行备份时,根据已有的库表记录,生成对应的sql命令,sql命令保存到指定的文件,当数据丢失时,可以执行保存sql命令的文件,把数据重新写入数据库里

备份方式

完全备份 –备份所有数据 mysqldump
				(一张表,一个库,一台服务器)
				备份时,备份新产生的数据
差异备份  -备份自完全备份后,都有新产生的数据
增量备份  - 备份自上次备份后,所有新产生的数据

备份策略: 完全+差异 完全+增量

数据库完全备份

备份操作
– mysqldump 源库名 > 路径/xxx.sql

源库名的表示
– --all-databases 或 -A 所有库
– 数据库名 单个库
– 数据库名 表名 单张表
– -B 数据库1 数据库2 备份多个库
• 注意事项
– 无论备份还是恢复,都要验证用户及权限

mysqldump -uroot -p123456 -A > databa.sql 备份全部
mysqldump -uroot -p123456 db1 > databa1.sql 备份单个库
mysqldump -uroot -p123456 db4 t4 > databa2.sql 备份单个库的单张表

数据库完全恢复

恢复操作
– mysql 目标库名 < 路径/xxx.sql

mysql -uroot -p123456 userdb < /databak/databa.sql

增量备份

 启动mysql服务的binlog日志文件实现实时增量备份

   binlog日志(2进制文件)介绍:mysql服务日志文件的一种,记录用户连接后执行的除查询之外的sql命令。默认没有开启

修改配置文件
	server_id=50     			  # 指定编号
	log_bin=/logdir/plj        #启用binlog日志并指定存放路径及名字
								要记得修改所属主组
	binlog_format=”mixed” 		  #指定记录格式

三种记录格式:
	1. statement:每一条修改数据的sql命 令都会记录在binlog日志中。
	2. row:不记录sql语句上下文相关信息, 仅保存哪条记录被修改。
	3. mixed: 是以上两种格式的混合使用。

max_binlog_size= 数字m   # 指定多少M更换且新增加一个日志文件

查看日志文件的内容

	msyqlbinlog binlog日志文件

binlog相关文件 
	– 主机名-bin.index           记录已有日志文件名
	– 主机名-bin.000001           第1个二进制日志
	– 主机名-bin.000002           第2份二进制日志

数据库输入sql语句后会自动记录在指定的日志存放目录里(除了查询不记录)

binlog日志文件记录sql命令的方式

偏移量 pos
时间点 time

执行binlog日志文件记录的sql命令恢复数据

mysqlbinlog 选项 binlog日志文件 | mysql -uroot -p密码
	使用 mysqlbinlog 工具 
		– 格式:mysqlbinlog  [选项]  binlog日志文件名
	 • 常用选项 
	– --start-datetime="yyyy-mm-dd hh:mm:ss"    #起始时间点
	– --stop-datetime="yyyy-mm-dd hh:mm:ss"    #结束时间点(不指默认到结尾)
	– --start-position=数字                   #起始偏移量
      –--stop-position=数字                  #结束偏移量(不指默认到结尾)

例子:mysqlbinlog --start-position=298 --stop-position=400 plj.000001 | mysql -uroot -p123456

手动生成新的日志文件:
	1. 重启mysql服务
	2. 执行SQL操作 mysql> flush logs;
	3. mysqldump    --flush-logs
       4. mysql -uroot -p密码 -e 'flush logs'


清理binlog日志
	• 删除早于指定版本的binlog日志 
		– purge  master  logs  to  "binlog文件名";
	• 删除所有binlog日志,重建新日志 
		– reset  master;

Mysql >show master status; ##记录日志名和偏移量的位置

xtrabackup

percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm ##安装包
libev-4.15-1.el6.rf.x86_64.rpm ##依赖包
innobackupex基本选项
常用选项 含 义
–host 主机名
–user 用户名
–port 端口号
–password 密 码
–databases 数据库名
–no-times

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值