增量备份:使用binlog日志实现数据增量备份

增量备份:使用binlog日志实现数据增量备份

cp / tar / mysqldump
冷备的缺点:
cp
1.mysql是跨平台的,会出现冷备的文件格式不同系统上不兼容的问题.
windows fat16/32/ntfs linux ext2/3/4/xfs

mysqldump
2.备份恢复期间会锁表,影响访问
3.无法恢复备份后的新数据.

binlog日志的使用

1 日志介绍
也称作二进制日志,MySQL服务日志文件的一种,记录除查询之外的所有SQL命令,可用于数据备份和恢复,配置mysql主从同步的必要条件.

2 操作步骤:

1.启用日志(修改主配置文件)
log_bin(log-bin也可以)							#启用日志
server_id=50									#id只能是1-255
#max_binlog_size=数值							#默认是1G,超了1G就创建新的binlog日志
2.重启MySQL服务
systemctl restart mysqld
3.检查是否启用日志
1)进入数据库,show master status;					#查看本机的binlog日志文件
position ---> 偏移量 ---> 记录命令的编号?
2)查看/var/lib/mysql 可以看到binlog日志文件和日志的索引文件

命令:
1.手动生成新的日志文件							#每个binlog日志的偏移量从154开始
	-flush logs 或 mysql -uroot -p123456 -e ‘flush logs’
	-systemctl restart mysqld
	-mysqldump

2.清理日志
	1.删除指定日志文件前的所有日志 purge master logs to “binlog文件名”
	2.删除所有	reset master;

3.自定义存储名称
	1.在配置文件中配置,
	bin_log=/mylog/rzc
	2.重启服务即可

3.使用binlog日志恢复数据
1.命令格式1(恢复所有数据)
]# mysqlbinlog binlog日志名 | mysql -uroot -p密码
命令格式2(恢复制定范围的数据)
]# mysqlbinlog 选项 binlog日志名 | mysql -uroot -p密码

2.修改日志记录格式: #将二进制日志改为可读的命令
-查看日志默认记录格式:

show variables like “binlog_format”;
三种模式:								#作用:管理查看具体的命令
1.statement								#报表模式
2.row									#行模式
3.mixed									#混合模式

-修改日志记录格式:
#在配置文件改
vim /etc/my.cnf
binlog_format=mixed / statement / row
-恢复制定范围内的数据

选项:
-记录命令的起始时间
–start-datetime=”yyyy-mm-dd hh:mm:ss”

-记录命令的结束时间
–stop-datetime=”yyyy-mm-dd hh:mm:ss”

-记录命令的起始偏移量
–start-position=数字

-记录命令的结束偏移量
–stop-position=数字

你可能感兴趣的:(笔记,linux,MySQL)