mysql的备份和

news2024/11/27 22:41:02

备份:完全备份 增量备份

完全备份:将整个数据库完整的进行备份

增量备份:在完全备份的基础之上,对后续新增的内容进行备份

备份的需求

1、在生产环境中,数据的安全至关重要,任何数据的都可能产生非常严重的后果

2、数据为什么会丢失,程序操作,运算错我,磁盘故障,不可预期的时间(地震之类),人为操作

冷备份:关机备份,停止mysql服务,然后进行备份

热备份:开机备份,无须关闭mysql服务,进行备份

物理备份:对数据库系统的物理文件(数据文件,日志文件),进行备份

逻辑备份,只是对数据库的逻辑组件进行备份,(表结构),以sql语句的形式,把库,表结构,表数据进行备份保存

(直接在数据库系统中删除全部文件)

物理备份:完全备份,对整个数据库进行完整的打包备份

优点:操作简单

缺点:数据库文件占用量是很大,占用空间太大,备份和恢复的时间很长,且需要暂定数据库服务

打包备份最好是把服务关掉,避免有新的数据进入,被覆盖,也可能会导致恢复失败

冷备份实验

终端
关闭mysql服务

 systemctl stop mysqld.service 
安装xz服务

yum -y install xz
进入mysql目录下

cd /usr/local/mysql/
打包
tar Jcvf /opt/mysql_all_$(date+%F).tar.xz  data
解压刚刚压缩的文件

cd  /opt/

tar Jxvf mysql_all_.tar.xz
删除源文件

恢复数据
把解压过的文件复制到mysql的目录下

表数据没有发生变化,保持原有的数据

远程复制

把终端2 的mysql的data文件删除

通过远程复制,复制终端1的mysql的data文件到终端2

在复制mysql目录下

注意点:在复制到mysql目录下查看data文件的文件所属ll

热备份当中的逻辑备份

mysqldump 这是mysql自带的工具

mysqldump

备份单个库

mysqldump -u root -p123456 --databases 库名 > /opt/文件名.sql

备份多个库

mysqldump -u root -p123456 --databases 库名1 库名2 > /opt/文件名.sql

备份所有库

mysqldump -u root -p123456 --all-databases > /opt/文件名.sql

指定连接mysql之后执行完命令,自动退出

mysql -u root -p123456 -e 'show databases;'

实例

备份单个库

删除这个库

还原 

命令行备份和恢复

创建库
create database xiaobu;
创建表
create table info (
  id int(4) not null primary key,
  name char(5) default null,
  hobby varchar(10) default null
);
对多个库备份
备份
mysqldump -u root -p --databases 库名1 库名2 > /opt文件名.sql
删除
mysql -u root -p -e 'drop database 库名1;'
mysql -u root -p -e 'drop database 库名2;'
恢复多个
mysql -u root -p < /opt/库名.sql

备份所有
mysqldump -uroot -p --all-databases > /opt/	文件名.sql
删除
mysql -u root -p -e 'drop database 库名1;'
mysql -u root -p -e 'drop database 库名2;'
恢复多个
mysql -u root -p < /opt/库名.sql

如何恢复指定库,指定表

单个表备份
mysqldump -u root -p 库名 表名 > /opt/文件名.sql
不进入数据库删除
mysql -u root -p -e 'drop table 库名.表名'
恢复
mysql -u root -p 库名 < /opt/文件名.sql

多个表
mysqldump -u root -p 库名 表名1 表名2  > /opt/文件名.sql
删除
mysql -u root -p -e 'drop table 库名.表名1'
mysql -u root -p -e 'drop table 库名.表名2'
恢复
mysql -u root -p 库名 < /opt/文件名.sql

物理冷备份和物理热备份

特点:简单

数据量,占用的备份空间比较大

mysqldump 这是mysql自带的备份文件的命令

特点:方便,简单,但是只能给予逻辑上的表结构和表数据恢复,物理删除之后再用逻辑恢复会报错

它也可以作为数据迁移,占用大空间,比较物理备份相对来说占的空间要小的多

增量备份

mysqldump 支持增量备份

没有重复数据,备份量小,时间端

mysqldump增量备份恢复表数据期间,表会锁定(优点)

缺点:备份时锁表,必然会影响业务,超过10G,耗时会比较长,导致服务不可用

增量备份的过程

1、mysql提供的二进制日志文件的实现增量备份

二进制文件怎么来?

修改配置文件(vim /etc/my.conf)

log-bin=mysql-bin
​
binlog_format=MIXED 

mysql二进制记录格式有三种

1、STATENET:基于sql语句

纪录修改的sql语句,高并发情况下,纪录sql语句时候的顺序可能会出错,恢复数据时可能会导致丢失和误差,效率比较高

2、ROW:基于行

精确纪录每一行的数据,准确率高,但是恢复的时效率低

3、MIXED :既可以根据SQL语句,也可以根据行

在正常情况下使用STATEENT,一旦发生高并发,会智能自动切换到row行

重启服务

查看备份的二进制文件(必须在data目录下查看)

mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000001

mysqladmin -u root -p flush-logs 刷新日志文件(打印断点)

就会生成一个日志文件00002

删除表里的内容(删除之前要断点)

如何恢复

mysqlbinsql --no-defaults mysql-bin.000003 | mysql -u root -p

  1. 增量备份,位置节点和时间点,注意一下断点

基于位置节点

从某一个点开始,恢复到最后

mysqlbinlog --no-defaults --start-position='位置点' 文件名 | mysql -u root -p

从开头,一直恢复到某个位置

mysqlbinlog --no-defaults --stop-position='位置点' 文件名 | mysql -u root -p

从指定点---指定结束点

mysqlbinlog --no-defaults --start-position='位置点' --stop-position='位置点' 文件名 | mysql -u root -p

从某一个点开始,恢复到最后

从开头,一直恢复到某个位置

从指定点---指定结束点

基于时间点

1、从某个时间点开始 恢复到最后

mysqlbinlog --no-defaults --start-datetime='时间点' 文件 | mysql -u root -p

2、从开头,到指定的结尾时间点

mysqlbinlog --no-defaults --stop-datetime='时间点' 文件 | mysql -u root -p

3、指定时间范围

mysqlbinlog --no-defaults --start-datetime='时间点'  --stop-datetime='时间点' 文件 | mysql -u root -p

从某个时间点开始 恢复到最后

从开头,到指定的结尾时间点

指定时间范围

总结

在生产中,通过binlog进行增量恢复是非常好用的方法

我们只要需要对binlog文件进行备份,随时可以进行备份和恢复

附加题

写个脚本,每个月的20号,对数据库打一个断点

断点之后进行自动进行增量备份

如何纪录日志文件的错误日志

log-error=/usr/local/mysql/data/mysql_error.log

general_log=ON

general_log_file=/usr/local/mysql/data/mysql_general.log

slow_query_log=ON

slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log

long_query_time=5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1177229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络溯源-PSEXEC-简单

题干&#xff1a; 我们的入侵检测系统&#xff08;IDS&#xff09;已发出警报&#xff0c;指示涉及使用PsExec的可疑横向移动活动。为了有效响应此事件&#xff0c;您作为 SOC 分析师的角色是分析存储在 PCAP 文件中的捕获网络流量。 攻击者首次攻击成功的计算机源网络IP地址…

『亚马逊云科技产品测评』活动征文|如何搭建低成本亚马逊aws云服务器

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 0. 环境 win10 火狐浏览器 1. 登录 https://aws.amazon.com/cn/ ->…

SAP ABAP BDC录屏 保姆级教程

ME47修改报价请求中项目的信息记录更新这个字段. 1.输入TCODE: SHDB 2.点击创建记录 3.输入记录(也就是一个名称)和事务码(就是你想录的那个tcode的事务码),最后点击开始,之后就会跳到该事务码的初始屏幕上去了,然后就按照正常去操作,尽量一步到位不要有多余的操作!! 4.我…

PackageManagerService 深入理解Android 卷2 学习笔记

PackageManagerService是Android核心服务之一&#xff0c;负责系统中Package的管理&#xff0c;应用程序的安装、卸载、信息查询等。 1、初识PMS PMS由SystemServer创建&#xff1a; SystemServer的run函数调用startBootstrapServices&#xff0c;startBootstrapServices调用…

开发抖音群控软件的费用在什么范围内?

随着抖音等社交媒体的普及&#xff0c;越来越多的企业和个人开始注重在社交媒体平台上的营销和推广&#xff0c;而开发一款抖音群控软件&#xff0c;可以帮助用户更好地管理和运营其在抖音平台上的账号&#xff0c;提高账号的曝光率和关注度&#xff0c;那么&#xff0c;开发一…

速卖通发布公告,屏蔽对欧洲资质和标签不合规商品——站斧浏览器

近日全球速卖通发布关于公告&#xff0c;根据欧盟法规要求&#xff0c;商品卖向欧盟和英国市场需要满足欧盟商品资质合规的要求。对于资质和标签不满足合规要求的商品&#xff0c;平台已经陆续开始执行屏蔽管控&#xff0c;卖家为了保障欧盟市场的正常售卖&#xff0c;需要尽快…

【计算机网络】数据链路层-MAC和ARP协议

文章目录 1. 认识以太网2. MAC协议MAC帧的格式MAC地址和IP地址的区别MTU 3. 局域网通信原理碰撞检测和避免 4. ARP协议ARP数据报的格式ARP缓存 1. 认识以太网 网络层解决的是跨网络点到点传输的问题&#xff0c;数据链路层解决的是同一网络中的通信。 数据链路层负责在同一局域…

Power Apps-1.1通过函数修改组件属性

修改字体颜色 1.点击想要根据条件变化的文本组件&#xff0c;出现右侧边栏后&#xff0c;点击下方的“颜色”标题 2.修改函数设置 If(判断条件,判断结果为true时执行的颜色,判断结果为false时执行的颜色) 颜色代码可参考&#xff1a; Power Apps 中的颜色和边框属性 - Power…

单点登录与OAuth2.0 的区别

前言&#xff1a;SSO是Single Sign On(单点登录)的缩写&#xff0c;OAuth是Open Authority&#xff08;开放授权&#xff09;&#xff0c;这两者都是使用令牌的方式来代替用户密码访问应用。流程上来说他们非常相似&#xff0c;但概念上又十分不同。很多人会将其混为一谈&#…

操作系统·操作系统引论

1.1 操作系统的目标和作用 1.目前常见操作系统&#xff1a; 微软&#xff1a;Windows系列&#xff08;以前MS-DOS&#xff09; UNIX&#xff1a;Solaris, AIX, HP UX, SVR4, BSD, ULTRIX 自由软件&#xff1a;Linux, freeBSD, Minix IBM: AIX, zOS(OS/390), OS/2, OS/400, PC…

JAVA客户端使用账号密码调用influxdb2报错:{“code“:“unauthorized“,“message“:“Unauthorized“}

问题&#xff1a;JAVA客户端访问influxdb2报错 说明&#xff1a;当前influxdb版本&#xff1a;2.6.1 使用依赖&#xff1a; <dependency><groupId>org.influxdb</groupId><artifactId>influxdb-java</artifactId><version>2.10</vers…

提升企业知名度必备!媒体发稿的5个关键要点

近年来&#xff0c;媒体发稿成为企业提升知名度和品牌形象的重要手段。无论是大型企业还是中小企业&#xff0c;都倾向于选择媒体发稿来扩大影响力。然而&#xff0c;很多企业在发稿后并没有如预期般获得良好效果。这可能是因为他们没有掌握正确的技巧。那么&#xff0c;在媒体…

带你一文搞懂 Linux 网络 Phy 驱动

概述 上图来自 瑞昱半导体 (RealTek) 的 RTL8201F 系列网卡 PHY 芯片手册。按OSI 7层网络模型划分&#xff0c;网卡PHY 芯片(图中的RTL8201F)位于物理层&#xff0c;对应的软件层就是本文讨论的 PHY 驱动层&#xff1b;而 MAC 位于 数据链路层&#xff0c;也是通常软件上所说的…

【黑马程序员】Git 的概述

文章目录 前言一、概述1. 开发中的实际场景2. 版本控制器的方式3. SVN4. Git5. Git 工作流程图 总结 前言 跟着B站的黑马程序员学习 Git&#xff0c;语言为java&#xff0c;目前是第一个内容 课程传送门&#xff1a;Git 的概述 一、概述 1. 开发中的实际场景 场景一&#xf…

高效解决香港服务器负载过高的方法

​  当我们在使用香港服务器时&#xff0c;有时会遇到服务器负载过高的问题。这会导致网站加载速度变慢甚至无法正常使用。为了解决这个问题&#xff0c;我们需要采取一些高效的方法来提升服务器的负载能力。 1.考虑对服务器进行升级维护。通过增加硬件资源&#xff0c;如CPU…

综合布线可视化管理系统价值分析

传统综合布线管理&#xff0c;全部依靠手工登记&#xff0c;利用标签标示线缆&#xff0c;利用文档资料记录链路的连接和变更&#xff0c;高度依赖网络管理员的管理能力&#xff0c;维护效率低下。同时&#xff0c;网络接入故障和非法接入难以及时发现。在以往的文章中小编一直…

灵活调整宣传策略,媒体发稿和新闻发布的优势所在

企业在当今信息爆炸的时代&#xff0c;要想在市场竞争中脱颖而出&#xff0c;提高公信力是至关重要的。而媒体发稿和新闻发布是提升企业公信力的重要手段之一。下面将从门户网站的权威展示、搜索引擎排名的提升、内容的持续稳定有效性、内容的可改性以及协助增加网站流量等方面…

深度剖析.locked1勒索病毒的威胁:如何保护您的数据

导言&#xff1a; .locked1勒索病毒是当今数字时代中最神秘的网络威胁之一。这种恶意软件以其毫不留情的数据加密技术而著称&#xff0c;常通过欺诈邮件附件、恶意链接或漏洞利用等方式传播。本文91数据恢复将深入探讨.locked1勒索病毒的运作方式&#xff0c;提供数据恢复的方…

北京陪诊小程序|陪诊系统开发|陪诊小程序未来发展不可小觑

近几年随着互联网快速发展&#xff0c;各行业领域都比较注重线上服务系统&#xff0c;通过陪诊小程序开发可以满足更多用户使用需求&#xff0c;同时还能提高用户使用体验。现在陪诊类的软件应用得到全面推广&#xff0c;在医疗行业当中陪诊小程序更贴近用户生活&#xff0c;可…

【QT】QT自定义类封装,附简单例子

提升为主要是可以使用自定义的部件&#xff0c;所以先要写好自定义控件后&#xff0c;再添加&#xff0c;在频繁使用同一控件时&#xff0c;的确非常的高效。 下面以自定义的QPushButton作一个很简单的例子。 先新建默认Qt Widgets Application项目 一、自定义类 建立项目后…