mysql的备份与还原操作

Mysql的备份与还原的操作步骤


mysql备份与还原

@1:物理备份:

1.备份
#关闭mysql,备份data目录
service mysqld stop
yum -y install xz 

#压缩备份data目录
tar Jcvf /opt/mysql_all_$(date +%F).tar.xz data目录
 

 
2. 恢复
#解压之前备份的数据库data目录,不用删除原目录,会自动替换

tar Jxvf /opt/mysql_all_2021-11-28.tar.xz -C ./
# 解压恢复之后重启mysql数据库服务

service mysqld start

@2:命令备份

#>1备份出数据库脚本文件
mysqldump -u root -p[密码] --databases 库名1 [库名2] … > /备份路径/备份文件名.sql	

#>2全库备份
mysqldump -u root -p[密码] --all-databases > /备份路径/备份文件名.sql

#3备份指定的数据库表
mysqldump -u root -p[密码] 库名 [表名1] [表名2] … > /备份路径/备份文件名.sql


恢复:
   mysql -u root -p <  /备份路径/备份文件名.sql
   mysql -u root -p 数据库名 <  /备份路径/备份文件名.sql

@3:binlog(二进制)恢复方式

## 二进制binlog恢复方式主要需要先开启binlog
@1:开启binlog
vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin
#指定二进制日志(binlog)的记录格式为 MIXED
binlog_format = MIXED	

@2:重启mysql服务
service mysqld restart

@3:查看是否生成binlog日志 可进入数据库的data目录下进行查看
目录下回生成 mysql-bin.00001 mysql-bin.00002等的文件

@4执行命名刷新最新的二进制备份
mysqladmin -u root -p flush-logs

@5:查看二进制日志文件的内容
mysqlbinlog --no-defaults --base64-output=decode-rows -v /数据文件目录/mysql-bin.000001


二进制恢复
@1:一般恢复
mysqlbinlog --no-defaults /数据文件目录/mysql-bin.000001 | mysql -u root -p
重启mysql服务
service mysqld restart
这样会恢复在mysql-bin.00001文件中删除的数据

@2:基于位置点恢复数据
# 刷新生成新的二进制日志文件
mysqladmin -u root -p flush-logs 	
# 进入到data目录
cd /data目录/	
#查看二进制日志文件

mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.0000002	
# at 88948										#断点
#211551  7:58:18 								#时间
insert into message values(1,'测试','new','hello')     #插入的数据


恢复到插入数据之前的数据情况,先刷新下二进制日志
mysqladmin -u root -p flush-logs 

进行恢复操作:
mysqlbinlog --no-defaults --stop-position='88948' mysql-bin.000002 | mysql -u root -p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值