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




posted on   晨哥  阅读(337)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示