MySQL的日志管理以及备份和恢复

MySQL日志管理

mysql的日志默认保存位置为/usr/local/mysql/data

  vim /etc/my.cnf     #开启二进制日志功能

vim /etc/my.cnf
[mysqld]##错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启
log-error=/usr/local/mysql/data/mysql_error.log     #指定日志的保存位置和文件名
​
##通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
​
##二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启
log-bin=mysql-bin                  #也可以 log_bin=mysql-bin
​
##慢查询日志,用来记录所有执行时间超过long_query_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        #配置完重启服务
​
mysql -u root -p
show variables like 'general%';                    #查看通用查询日志是否开启
​
show variables like 'log_bin%';                    #查看二进制日志是否开启
​
show variables like '%slow%';                      #查看慢查询日功能是否开启
show variables like 'long_query_time';             #查看慢查询时间设置
​
set global show_query_log=ON;           #在数据库中设置开启慢查询的方法

数据库备份的分类

物理备份

直接对数据库的物理文件(数据文件、日志文件等)进行备份

  • 物理备份方法

    • 冷备份(脱机备份)

    • 热备份(联机备份):依赖数据库的日志文件

    • 温备份:数据库锁定表格,进入只可读不可写的状态下进行备份操作

逻辑备份

  • 逻辑备份:对数据库逻辑组件(如:库、表等数据库对象),以SQL语句的形式导出进行备份。

数据库的备份策略角度

  • 完全备份:每次对数据库或表数据进行完整的备份

  • 差异备份:只备份上次完全备份后的更新数据

  • 增量备份:每次备份只备份上次完全备份或增量备份后的更新数据

数据库上云迁移

  • 冷迁移

    • 物理冷备

    • 先关闭数据库,再打包备份+恢复

  • 热迁移

    • 阿里云 DTS

数据库完全备份分类

1、物理冷备:

  • 关闭MySQL数据库

  • 使用tar命令直接打包数据库文件夹

  • 直接替换现有MySQL目录即可

  • #默认数据库文件/usr/local/mysql/data/

2、mysqldump逻辑热备

备份一个或多个库及库中所有的表数据
mysqldump -uXXX -pXXX  --databases 库1 [库2 ....] > XXX.sql      备份所有的库
mysqldump -uXXX -pXXX  --all-databases > XXX.sql                  备份指定库中的所有的表数据,不包含库对象
mysqldump -uXXX -pXXX  库名 > XXX.sql                            备份指定库中的一个或多个表数据,不包含库对象
mysqldump -uXXX -pXXX  库名 表1 [表2 ....] > XXX.sql              

3、物理热备


xtrabackup

4、完全恢复

先登录到数据库,再执行source XXX.sql (如果sql文件只是备份了表数据的文件,需要先创建库并 use 切换库后再执行)

恢复库mysql -u用户名  -p密码  < 文件名.sql         cat 文件名.sql | mysql -u用户名 -p密码恢复表mysql -u用户名 -p密码 库名 < 文件名.sql    cat 文件名.sql | mysql -u用户名 -p密码 库名

七、MySQL数据库增量恢复

1、一般恢复

  • 将所有备份的二进制日志内容全部恢复

2、基于位置恢复

  • 数据库在某一时间点可能既有错误的操作也有正确的操作
  • 可以基于精准的位置跳过错误的操作

3、基于时间点恢复

  • 跳过某个发生错误的时间点实现数据恢复

通过刷新二进制日志间接实现增量备份
mysqladmin -uXXX -pXXX flush-logs查看二进制日志内容
mysqlbinlog --no-defaults --base64-output=decode-rows -v <BINLOG>

使用脚本增量备份mysql二进制日志

mysql数据库增量恢复

使用二进制日志增量恢复
mysqlbinlog --no-defaults <BINLOG> | mysql -uXXX -pXXX断点恢复
基于位置点恢复
mysqlbinlog --no-defaults --start-position='开始位置点' --stop-position='结束位置点'  <BINLOG> | mysql -uXXX -pXXX基于时间点恢复
mysqlbinlog --no-defaults --start-datetime='YYYY-mm-dd HH:MM:SS' --stop-position='YYYY-mm-dd HH:MM:SS'  <BINLOG> | mysql -uXXX -pXXX如果需要恢复到某条sql语句之前的所有数据,就stop在这个语句的位置点或时间点之前
如果需要恢复某条sql语句及其之后的所有数据,就从这个语句的位置点或时间点开始start

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

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

相关文章

LabVIEW的便携式车辆振动测试分析

随着计算机和软件技术的发展&#xff0c;虚拟仪器正逐渐成为机械工业测试领域的主流。在现代机械工程中&#xff0c;特别是车辆振动测试&#xff0c;传统的测试方法不仅设备繁杂、成本高昂&#xff0c;而且操作复杂。为解决这些问题&#xff0c;开发了一款基于美国国家仪器公司…

postman使用-03发送请求

文章目录 请求1.新建请求2.选择请求方式3.填写请求URL4.填写请求参数get请求参数在params中填写&#xff08;填完后在url中会自动显示&#xff09;post请求参数在body中填写&#xff0c;根据接口文档请求头里面的content-type选择body中的数据类型post请求参数为json-选择raw-选…

[DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]

文章目录 概要I Introduction小结 概要 提出的架构&#xff0c;双注意力U-Net与特征融合&#xff08;DAU-FI Net&#xff09;&#xff0c;解决了语义分割中的挑战&#xff0c;特别是在多类不平衡数据集上&#xff0c;这些数据集具有有限的样本。DAU-FI Net 整合了多尺度空间-通…

TiDB 7.1 多租户在中泰证券中的应用

本文详细介绍了中泰证券在系统国产化改造项目中采用 TiDB 多租户技术的实施过程。文章分析了中泰证券数据库系统现状以及引入 TiDB 资源管控技术的必要性&#xff0c;探讨了 TiDB 多租户的关键特性&#xff0c;并阐述了在实际应用中的具体操作步骤。通过该技术的应用&#xff0…

python学习14

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…

【论文阅读】Resource Allocation for Text Semantic Communications

这是一篇关于语义通信中资源分配的论文。全文共5页&#xff0c;篇幅较短。 目录在这里 摘要关键字引言语义通信资源分配贡献公式符号 系统模型DeepSC TransmitterTransmission ModelDeepSC Receiver 语义感知资源分配策略Semantic Spectral Efficiency &#xff08;S-SE&#…

百度飞桨文心生态成果最新披露:开发者达1070万 模型数超86万

前言 12月28日&#xff0c;由深度学习技术及应用国家工程研究中心主办的WAVE SUMMIT深度学习开发者大会2023在北京召开。百度首席技术官、深度学习技术及应用国家工程研究中心主任王海峰现场公布了飞桨文心五载十届最新生态成果&#xff0c;文心一言最新用户规模破1亿&#xf…

PAT 乙级 1028 人口普查

解题思路&#xff1a;此题我想到俩种方法&#xff0c;一种是排序方法&#xff0c;一种是不排序的方法&#xff0c;首先都是看是否是有效年龄&#xff0c;然后一种是排序&#xff0c;另一种是维护最大值和最小值的变量&#xff0c;一定要注意如果有效数字是0那就只输出0就可以了…

Vue学习day_02

水果店的案例: 要求: 可以动态删除 一个对个数的修改,以及点击全选的时候,水果前面的按钮都要标记为选中,要把价格,结算的个数等都要动态变化出来. 分析: 1:渲染功能: v-if进行条件的判断,要是数组里面有数据的话,就把主页面显示出来,要是没数据的话,就显示另外一个盒子v-e…

【Java基础系列】body参数前后端不一致

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

一文详解Ehcache

Ehcache 快速入门 EhCache 是一个纯 Java 的进程内缓存框架&#xff0c;具有快速、精干等特点&#xff0c;是 Hibernate 中默认的 CacheProvider。 img 一、简介 Ehcache 虽然也支持分布式模式&#xff0c;但是分布式方案不是很好好&#xff0c;建议只将其作为单机的进程内缓存…

CAS-手写自旋锁

CAS与自旋锁&#xff0c;借鉴CAS思想 什么是自旋锁&#xff1f; CAS是实现自旋锁的基础&#xff0c;CAS利用CPU指令保证了操作的原子性&#xff0c;以达到锁的效果&#xff0c;至于自旋 锁---字面意思自己旋转。是指尝试获取锁的线程不会立即阻塞&#xff0c;而是采用循环的…

【CSAPP】探究BombLab奥秘:Phase_2的解密与实战

&#x1f4cb; 前言 ​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《斯坦福大学之CSAPP》⏰诗赋清音&#xff1a;桃花灼灼春风暖&#xff0c;心随乐曲扬徐徐。 苦尽甘来梦未阑&#xff0c;岁月长河任舟游。 ​ &#x1f389;欢迎…

来来来,带你实现最炫酷的卡片效果

&#x1f4e2; 鸿蒙专栏&#xff1a;想学鸿蒙的&#xff0c;冲 &#x1f4e2; C语言专栏&#xff1a;想学C语言的&#xff0c;冲 &#x1f4e2; VUE专栏&#xff1a;想学VUE的&#xff0c;冲这里 &#x1f4e2; CSS专栏&#xff1a;想学CSS的&#xff0c;冲这里 &#x1f4…

掌汇云 | 公司库聚合企业,为垂直领域提供产品与服务展示窗口

11月29日晚&#xff0c;拼多多美股盘中市值首次超越阿里巴巴。拼多多是赢了&#xff0c;但也有人说阿里未必就输了&#xff0c;因为阿里拼的是整个阿里生态。 阿里生态使其庞大且屹立不倒&#xff0c;拼多多将社交用于撮合交易&#xff0c;通过平台连接消费者和供应商&#xf…

【没有哪个港口是永远的停留~论文简读】HRNet+OCR

一、Deep High-Resolution Representation Learning for Human Pose Estimation &#xff08;HRNet&#xff09; 论文&#xff1a;https://arxiv.org/pdf/1902.09212.pdf 代码&#xff1a;https://github.com/leoxiaobin/deep-high-resolution-net.pytorch 二、Deep high-res…

JVM篇:JVM的简介

JVM简介 JVM全称为Java Virtual Machine&#xff0c;翻译过来就是java虚拟机&#xff0c;Java程序&#xff08;Java二进制字节码&#xff09;的运行环境 JVM的优点&#xff1a; Java最大的一个优点是&#xff0c;一次编写&#xff0c;到处运行。之所以能够实现这个功能就是依…

ctf_show(web入门笔记)持续更新中

信息收集 1-2&#xff1a;查看源代码 3&#xff1a;bp抓包 4&#xff1a;robots.txt&#xff08;这个文件里会写有网站管理者不想让爬虫的页面或其他&#xff09; 5&#xff1a;网站源代码泄露index.phps 6&#xff1a;同样也是源码泄露&#xff0c;&#xff08;拿到以后还…

C++力扣题目347--前k个高频元素

给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2]示例 2: 输入: nums [1], k 1 输出: [1] 提示&#xff1a; 1 < nums.length < 105k 的取…

别再写一堆的 for 循环了!Java 8 中的 Stream 轻松遍历树形结构,是真的牛逼!

可能平常会遇到一些需求&#xff0c;比如构建菜单&#xff0c;构建树形结构&#xff0c;数据库一般就使用父id来表示&#xff0c;为了降低数据库的查询压力&#xff0c;我们可以使用Java8中的Stream流一次性把数据查出来&#xff0c;然后通过流式处理。 我们一起来看看&#x…