mysql备份和恢复

一、备份(全量+增量)
# 全量备份
mysqldump  -uroot -proot --databases 数据库名> /home/mysql-backup/数据库名_`date +%Y%m%d`.sql;
#删除增量数据
mysql -uroot -p数据库密码
# 删除当前的binlog文件
reset master;
# 删除slave的中继日志
reset slave;
# 删除指定日期前的日志索引中binlog日志文件
purge master logs before '2019-03-09 14:00:00';
# 删除指定日志文件
purge master logs to 'master.000003';
exit
二、恢复
#登录msql
mysql -uroot -proot
show master status;                 
show binlog events in 'back.000001'; 
exit
mysqlbinlog --no-defaults  back.000001 | mysql -uroot -p数据库密码
# 从日志开头截止到某个时间点的恢复
mysqlbinlog --no-defaults --database=数据库名 --stop-datetime="2023-02-16 19:43:00" back.000001 | mysql -uroot -proot -s -N -f -D 数据库名
# 从某个时间点到日志结尾的恢复
mysqlbinlog --no-defaults --database=数据库名 --start-datetime="2023-02-16 19:43:00" back.000001 | mysql -uroot -proot -s -N -f -D 数据库名
# 从开始position到结束position,一般是SET @@SESSION.GTID_NEXT= 'ANONYMOUS'之前的position
mysqlbinlog --start-position=开始节点 --stop-position=结束节点 --skip-gtids back.000001|mysql -uroot -p数据库密码 -s -N -f 
三、测试
# 创建表
CREATE TABLE IF NOT EXISTS `t_user`(
   `id` INT UNSIGNED AUTO_INCREMENT,
   `name` VARCHAR(100) NOT NULL,
   PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
# 增删查
insert into t_user(name) values('cgh');
delete from t_user where name='cgh';
select * from t_user;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值