mysql备份和恢复
mysql备份和恢复
数据丢失的原因:
程序错误
人为操作错误
运算错误
磁盘故障
灾难(火灾,地震)和盗窃
数据库备份分类
物理备份
数据库此操作系统的物理文件(数据文件,日志文件等)的备份
方法:冷备份(脱机备份):实在数据库关闭时进行
热备份(联机备份):数据库处于运行状态,依赖于数据库的日志文件
温备份:数据库在锁定表(不可写入可读)状态下进行备份
逻辑备份
对数据库逻辑组件(库,表等数据库对象以文本导出)的备份
数据库备份分类
从策略备份
完全备份:每次对数据库进行完整的备份
差异备份:备份自上次完全备份后之后被修改过的文件
增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份
备份策略通常是每周一完全备份后面几天增量备份
备份的方法
物理冷备份
备份时关闭数据库,直接打包数据库文件data目录打包 备份速度快,恢复也最简单
tar -zcf
专用备份工具mysqldump或mysqlhotcopy
mysldump常用的逻辑备份工具
mysqlhotcopy仅拥有备份myisqm和archive表
启用而矜持日志增量备份
进行增量备份,需要刷新二进制日志
第三方工具备份
免费的mysql热备份软件percona Xtrabackup
阿里云dts工具
备份
mkdir /backup
tar zcf /backup/mysql_all-$(data + %F).tar.gz /usr/local/mysql/data
恢复
迁移数据
冷备份迁移
systemctl stop mysql
tar zcf /opt/mysql_all-$(data + %Y%m%d).tar.gz /usr/local/mysql/data
.xz压缩包压缩时tar Jcvf
scp mysql_all-$(data + %Y%m%d).tar.gz 192.168.232.17:'pwd'
解压覆盖
mysqldump备份
mysqldump -uroot -pabc123 --databases kgc mysql > /opt/ky27/kgc.sql
通过--databases指定多个库
mysqldump -uroot -pabc123 --all-databases kgc mysql > /opt/ky27/kgc.sql
--all-databases 指定所有的库
mysqldump -uroot -pabc123 kgc member account > /opt/ky27/kgc.sql
member account为表明
使.sql文件更直观
grep -v "^$" kgc_men_acc.sql |grep -v "^--" |grep
-v "^/\*"
恢复
法一
mysql -uroot -pabc123 -e 'show databases;'-e 执行数据库内命令结束返回
mysql -uroot -pabc123 kgc< kgc_men_acc_t1.sql
生产环境中可以使用shell脚本定时备份mysqldump命令要用绝对路径去执行或者crontab -e
0 0 * * 1 /usr/local/mysql/bin/myaqldump -u root -pabc123 --all-databases > /opt/ky27/all-databases-$(data +%Y%m%d).sql
法二:恢复
create database kgc #备份时有--databases时不需要
use kgc
source /opt/ky27/kgc.sql
mysql没有提供直接的曾量备份方法
可通过mysql提供的二进制日志间接实现增量备份
mysql二进制日志对备份的意义
一般恢复,将所有备份的二进制日志内容全部恢复
基于位置恢复数据库某一时间可能存在错误操作也有正确的操作,可以精确的位置跳过错误的操作
基于时间点的恢复:跳过某个发生错误的时间点实现数据恢复
mysql日志默认保存位置 /usr/local/mysql/data
vim /etc/my.cnf
[mysqld]
##错误日志,用来记录当MySOL启动、停止或运行时发生的错误信息,默认已开启#指定日志的保存位置和文件名log-error=/usr/local/mysql/data/mysql error.log 指定日杂hi的文件路径和文件名
##通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的
general_log=ON
general_log_file=/usr/local/mysql/data/mysgl general.log
#二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启#也可以 log-bin=mysql-bin也可以用log_bin=mysql-bin
#慢查询日志,用来记录所有执行时间超过long guery time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的
slow_query_log=ON
slow_query_log file=/usr/local/mysql/data/mysql slow_query.log
long_query_time=5
#设置超过5秒执行的语句被记录,缺省时为10秒
systemctl restart mysqld
mysgl -u root -p
show variables like 'general%';#查看通用查询日志是否开启
show variables like 'log_bin%';#查看二进制日志是否开启
show variables like '%slow%';#查看慢查询日功能是否开启
show variables like 'long_query_time';
#查看慢查询时间设置
生成日志文件重启 mysqladmin -uroot -pabc23 flush-logs
sed -n '$p' mysql-bin.index看最新的日志
tail -1 mysql-bin.inde
二进制日志(binlog)有三种不同的记录格式:statement(基于sql语句),row(基于行),mixed(混合模式),默认格式时statement
sql语句高并发情况下易出现错误row准确行高
update member set address='beijing';
查看二进制日志以row输出的方法mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000003
vim /etc/my.cnf
[mysql]
binlog_format=MINED
重启服务
增量备份
完全备份后增量备份前先刷新mysqladmin -uroot -pabc123 flush-logs
cat mysql-bin.index | tail -2 | head -1 |awk -F/ '{print $2}' #获取昨天二进制的日志文件
#!/bin/bash
/usr/local/
完全备份和增量备份备份脚本
/usr/local/mysql/bin/mysqladmin -uroot -pabc123
mv 命令 移动旧binlog 到备份目录,按照时间格式保存
data -d "-1 day" +%Y%m%d
完全恢复
mysql -uroot -pabc123 < ky27_ky227_20230508.sql
增量恢复
mysqlbinlog --no-defaults mysql-binlog-20230507 | mysql -uroot -pabc123
mysqlbinlog --no-defaults mysql-binlog-20230508 | mysql -uroot -pabc123
位置恢复(时间点恢复)
at 269 即为位置
mysqlbinlog --no-defaults --start-position'632' /root/ky27/ | mysql -uroot
-pabc123
mysqlbinlog --no-defaults --start-position'269' --stop-position='748' /root/ky27/ | mysql -uroot
-pabc123
时间点恢复
时间如图
mysqlbinlog --no-defaults --start-datatime'2023-05-08 17:17:08' /root/ky27/ | mysql -uroot
-pabc123
如果恢复某条sql语句之前的所有数据,就stop在这个语句的前的位置节点或时间点
如果恢复某条sql语句之前的所有数据,就start在这个语句位置之后的位置节点
相关文章:

mysql备份和恢复
mysql备份和恢复 数据丢失的原因: 程序错误 人为操作错误 运算错误 磁盘故障 灾难(火灾,地震)和盗窃 数据库备份分类 物理备份 数据库此操作系统的物理文件(数据文件,日志文件等)的备份 …...

新闻月刊 | GBASE 4月市场动态一览
产品动态 4月,GBASE南大通用大规模分布式并行数据库GBase 8a MPP Cluster中标人保财险“2022年基础软件产品及服务采购”项目。这是自2019年GBASE与人保财险达成合作以来支持建设的第三期项目。项目上线后,将极大满足人保财险大数据中心及研发中心的增量…...

Java --- springboot2数据响应与内容协商
目录 一、数据响应与内容协商 1.1、响应json 1.1.1、返回值解析器 1.1.2、springMVC支持的返回值类型 1.1.3、HttpMessageConverter原理 1.2、内容协商 1.2.1、引入依赖 1.2.2、 postman分别测试返回json和xml 1.2.3、开启浏览器参数方式内容协商功能 1.3、自定义 Message…...
“中特估”乘风破浪!后续机遇在哪?
5月第一个交易日,“中特估”继续乘风破浪,A股银行板块集体大涨。 随着新一轮国企改革正在推进,中特估体系也在积极构建之中。在市场缺乏增量资金背景下,市场选股范式已经转向数字经济AI、央国企价值重估的两条主线,此…...

OpenShift 4 - 在 CI/CD Pipeline 中创建 KubeVirt 容器虚拟机 - 方法3
《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在支持 OpenShift 4.12 的 OpenShift 环境中验证 文章目录 创建并运行 CI/CD Pipeline访问 VMPipeline 的 Task 解读 创建并运行 CI/CD Pipeline 执行命令,生成公钥-私钥对。 $ ssh-keygen$ l…...

功率放大器在Lamb波信号波包模型验证研究中的应用
实验名称:窄带激励条件下的兰姆波时域信号参数估计研究 研究方向:Lamb波 测试目的: 基于Lamb波的二阶频散理论,提出了时域信号的波包模型,为全文奠定理论基础。模型考虑两种情况:初始激励以单模态传播和…...
Apache Hadoop
一、Apache Hadoop入门 1.1、Hadoop介绍 狭义上:hadoop指的是Apache一款java开源软件,是一个大数据分析处理平台。 Hadoop HDFS:分布式文件系统。 解决了海量数据存储问题。 Hadoop Distributed File System (HDFS™)Hadoop MapReduce&…...

PHP+vue大学生心理健康评价和分析系统8w3ff
本整个大学生心理健康管理系统是按照整体需求来实现各个功能的,它可以通过心理健康测评来检测大学生的心理健康,并且给予预警,还可以预约医生来解决问题。并且,管理员可以查看用户信息,发布一些关于心理健康的文章。该…...

【图像分割】【深度学习】SAM官方Pytorch代码-Mask decoder模块MaskDeco网络解析
【图像分割】【深度学习】SAM官方Pytorch代码-Mask decoder模块MaskDeco网络解析 Segment Anything:建立了迄今为止最大的分割数据集,在1100万张图像上有超过1亿个掩码,模型的设计和训练是灵活的,其重要的特点是Zero-shot(零样本迁…...

A Restful API
SpringBoot 定义Restful API 定义POJOOrderBuyer 定义RestfulControllerGet API for queryPost API for addPut API for updateDelete API for delete 定义AjaxResponse Patavariable RequestParm RequestBodyRequestHeader 定义POJO Order import java.util.Date; import ja…...
从零开始学习JSP,让你全面掌握Web开发技能
JSP(Java Server Pages),是一种动态网页技术,它允许开发者使用Java代码和HTML标签来创建网页。在这篇文章中,我们将详细介绍JSP的基本概念、语法和应用。 一、JSP的基本概念 1.1 JSP的含义 JSP是一种网页技术&#…...

java基于知识库的中医药问询系统
本系统主要包含了等系统用户管理、中医药常识管理、科室信息管理、知识库管理多个功能模块。下面分别简单阐述一下这几个功能模块需求。 管理员的登录模块:管理员登录系统对本系统其他管理模块进行管理。 用户的登录模块:用户登录本系统,对个…...

【新星计划-2023】什么是ARP?详解它的“解析过程”与“ARP表”。
一、什么是ARP ARP(地址解析协议)英文全称“Address Resolution Protocol”,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确…...

自动驾驶行业观察之2023上海车展-----车企发展趋势(2)
自主品牌发展 比亚迪:展示3款新车,均于2023年年内上市 比亚迪在本次展会上推出了3款新车:宋L概念车(王朝系列)、驱逐舰07(海洋系列)、海鸥(海洋系列)。 • 宋L&#x…...
通知所有员工所需的时间
题目描述 公司里有 n 名员工,每个员工的 ID 都是独一无二的,编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。 在 manager 数组中,每个员工都有一个直属负责人,其中 manager[i] 是第 i 名员工的直属负责人。对于总负责…...
Docker:bash: vim: command not found
进入docker容器 docker exec -it [容器ID] /bin/bash docker exec -it e56e7bbe85ad /bin/bash 在使用 Docker 容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是…...
排序算法之选择排序
选择排序(Selection Sort)是一种简单直观的排序算法,其基本思路是在未排序的数据序列中找到最小元素,将其放在已排序的数据序列的末尾。重复该过程,直到整个序列排序完成。 具体实现过程如下: 首先&#x…...

5_服务编排_docker-compose
服务编排之Docker Compose 微服务架构的应用系统中一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,维护的工作量会很大。 要从Dockerfile build image 或者去dockerhub拉取image 要创建多个container 要…...

Java基本数据类型以及包装类型的常量池技术
Java 中的基本数据类型 Java 中有 8 种基本数据类型,分别为: 6 种数字类型: 4 种整数型:byte、short、int、long2 种浮点型:float、double 1 种字符类型:char1 种布尔型:boolean。 这 8 种基本…...
P1054 [NOIP2005 提高组] 等价表达式
题目描述 明明进了中学之后,学到了代数表达式。有一天,他碰到一个很麻烦的选择题。这个题目的题干中首先给出了一个代数表达式,然后列出了若干选项,每个选项也是一个代数表达式,题目的要求是判断选项中哪些代数表达式…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...