MySQL学习笔记18

news2024/11/18 5:38:49

MySQL的备份与恢复:

制定数据库备份策略进行备份,并且把数据导入到测试环境。

核心技术:

1)掌握MySQL的备份工具使用及各自特点;

2)熟悉Shell脚本;

3)熟悉MySQL数据的导入导出;

场景任务:

对重要数据做好备份,是我们每个运维人员和DBA的重要职责,备份只是一种手段,我们最终目的是当数据出问题的时候能及时通过备份进行恢复,所以,现在需要对MySQL数据库进行备份策略的制定和实施。

任务要求:

1)选择合适的工具和方法对MySQL数据库进行备份。

2)编写脚本实现自动化备份。

课程目标:

1)了解MySQL常见的备份方法和类型;

2)能够使用mysqldump工具进行数据库的备份。如全库备份、库级别备份、表级别备份。

3)能够使用mysqldump工具+binlog日志实现增量备份。(高端一些)

4)理解xtrabackup工具实现全库备份和增量备份的原理和方法。

5)能够使用xtrabackup工具对数据进行全备和增备。

MySQL备份概述:

1、关于数据保存你要知道的:

思考:数据备份和数据冗余的区别:

数据备份:能够防止由于机械故障以及人为操作带来的数据丢失,例如将数据库中的数据导出成一个文件保存到其他地方。文件备份在某个地方,当服务器出现故障,我们第一时间把备份文件恢复到服务器中。

数据冗余:数据有多份冗余,但不等于数据备份,只能防止机械故障带来的数据丢失。例如:主备模式,主从架构,数据库集群。

主从架构,两个服务器,放着相同的数据,当主服务器出现故障的时候,立即调用从服务器。实时切换。这个叫冗余操作。

理论上,数据备份和数据冗余都要有的。

2、备份什么?

数据库:一堆物理文件的集合;日志文件(二进制文件)+ 数据文件 + 配置文件。

1)数据文件;

2)配置文件;my.cnf

3)日志文件(二进制日志文件)

MySQL体系结构:

连接池:数据库的连接,都先要连接到连接池; 用户身份认证、校验账号密码、权限等操作;

查询缓存:缓存所执行的select语句以及该语句的结果集。第一次查询时间稍微长点,第二次查询时间就非常短。缓存还没有失效。缓存可以加快查询的速度。

mysql> select * from tb_student;
+----+-----------+------+--------+---------+
| id | name      | age  | gender | subject |
+----+-----------+------+--------+---------+
|  1 | 孙行者    |  254 | 男     | ui      |
|  2 | 八戒      |  250 | 男     | python  |
|  3 | 唐僧      |   30 | 男     | yunwei  |
|  4 | 沙僧      |  150 | 男     | java    |
|  5 | 小白龙    |  100 | 男     | yunwei  |
|  6 | 白骨精    |   28 | 女     | ui      |
|  7 | 兔子精    |   22 | 女     | yunwei  |
|  8 | 狮子精    |   33 | 男     | yunwei  |
+----+-----------+------+--------+---------+
8 rows in set (0.00 sec)

分析器:词法分析、语法分析;主要是判断sql语句是否正确,是否符合MySQL的语法。

优化器:选择最优的执行方案去执行器中执行。select有很多执行方式。加快数据的查询。

执行器:检查用户权限、如果有权限,就去调用引擎接口,返回接口的执行结果。

存储引擎层:InnoDB、MyISAM、NDB...在MySQL中,我们可以使用show engines查看当前数据库版本支持哪些引擎。

简单来说,存储引擎就是数据在底层的存储方式。比较常见的是InnoDB和MyISAM。

存储引擎层:

MySQL的MyISAM和InnoDB引擎的区别:

 MyISAM引擎:擅长数据的查询操作,支持全文索引;

InnoDB引擎:支持事务处理,支持行级锁,支持外键;

CID字段,是分类表的主键、产品表的从键。关联删除。代码的方式进行关联操作。

备份的时候主要是围绕这两个引擎进行的。

MEMORY: 基于Hash,存储在内存中,临时不常用的放在临时表中。

BLACKHOLE:5.7版本出现这个引擎。/dev/null, 写到这个里面的数据都会消失。

存储层(数据文件和日志文件)

问题:存储引擎到底是如何保存数据文件的。

mysql> create database db_itheima default charset=utf8;
Query OK, 1 row affected (0.00 sec)

提出问题:我能不能不进入MySQL终端,然后在命令行中直接创建一个数据库呢?-e

MyISAM引擎: 

db_itheima: 数据库文件夹。创建一个数据库,就生成一个数据库文件夹。

db.opt 存放的是数据库的编码格式。

 

MyISAM引擎会生成三个文件。

.frm: 框架文件,定义数据表结构。

.MYI  索引文件INDEX:主要用于存放索引文件。目录索引、主键索引。

.MYD 数据文件。

把三个文件备份下,找个位置可以还原的。这个机制比较简单。

InnoDB引擎(默认引擎):

mysql> create table tb_user (
    -> id int,
    -> name char(1)
    -> )engine=innodb default charset=utf8;
Query OK, 0 rows affected (0.01 sec)


mysql> show create table tb_user;
+---------+--------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                                                                             |
+---------+--------------------------------------------------------------------------------------------------------------------------+
| tb_user | CREATE TABLE `tb_user` (
  `id` int(11) DEFAULT NULL,
  `name` char(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+---------+--------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

只产生了两个文件。.frm和.ibd 两个文件。

.frm 框架文件,定义数据表文件。

.ibd  索引文件+数据文件。

其实InnoDB引擎不仅仅会产生以上两个文件,其在外部data目录中也会产生一个文件(确切来说不能叫做产生文件,而应该叫做共享文件)。

所以由此可知,InnoDB引擎的数据备份不能简简单单的通过拷贝方式实现,必须使用专业的备份工具。

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

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

相关文章

苹果 CMS 原生 Java 白菜影视 App 源码【带打包教程】

苹果 CMS 原生 Java 白菜影视 App 源码是一款功能强大的影视应用程序,支持画中画、投屏、点播、播放前广告和支持普通解析等多种功能。与萝卜 App 源码相比,该套源码更加稳定,且拥有画中画投屏和自定义广告等功能,提高了安全性。 …

PMP考前学习计划

很多小伙伴在刚刚接触到PMBOK时,无从下手,也不知道如何合理地安排自己的学习时间,没有一个学习计划作为指导。 今天我就给大家分享一份详细的PMP考前学习计划,这份计划整理并无私分享,欢迎大家分享给身边备考PMP的同事…

Java分支结构:一次不经意的选择,改变了我的一生。

👑专栏内容:Java⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、顺序结构二、分支结构1、if语句2、switch语句 好久不见!命运之轮常常在不经意间转动,有时一个看似微…

SEO的优化教程(百度SEO的介绍和优化)

百度SEO关键字介绍: 百度SEO关键字是指用户在搜索引擎上输入的词语,是搜索引擎了解网站内容和相关性的重要因素。百度SEO关键字可以分为短尾词、中尾词和长尾词,其中长尾词更具有针对性和精准性,更易于获得高质量的流量。蘑菇号-…

【MATLAB源码-第39期】基于m序列/gold序列的直接扩频通信仿真,编码方式采用卷积码,调制方式采用BPSK。

1、算法描述 直接序列扩频通信系统的仿真一般包括以下几个主要步骤:信号产生、扩频、卷积编码、BPSK调制、信道传输、BPSK解调、卷积码译码和解扩。 信号产生: 首先,产生一个二进制数据序列作为待发送的信息位。 扩频: 采用m序列…

windows11系统没有系统散热方式的解决办法

一、问题描述 当我们查看Win11系统的(同时按下键盘的WinR键即可打开运行窗口)【控制面板】-->【硬件和声音】-->【电源选项】-->【更改计划设置】-->【 更改高级电源设置】-->【处理器电源管理】下没有系统散热方式的选项,如下…

黑马JVM总结(二十五)

(1)字节码指令-cinit 构造方法可以分为两类,一类是cinit 一类init cinit是整个类的构造方法 putstatic:进行static变量的赋值,是到常量池里找到名字一个叫做i的变量 (2)字节码指令-init in…

Anchors

这是源代码定义的anchors概念: 实现过程: 假如有一张500500的图片,那么经过第一步深度卷积网络之后(4次池化),最终就会变成一个3232的特征: 在开源代码实现里面: 所以经过卷积完之后…

word中给公式加序号的方法

①首先,用word插入一个公式 然后呢,在公式后面敲上这个公式在整篇文章中的序号。我的这个公式在整篇文章中是第三号,所以就敲上(3),如下图所示: 然后,在公式和序号之间,按住shift3(#) 切忌,…

makdown文法

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

【Win11 搭建miniconda 的pytorch1.12环境】

请不要质疑我一直在水文章,因为我电脑被格式化了,需求又变了,这不得多多与时代接轨哦! 为我的GRCNN抓取打基础,之前是在Ubuntu上跑:【机械臂视觉抓取从理论到实战】,没错现在就是在WIN11上跑&am…

《数据结构、算法与应用C++语言描述》使用C++语言实现数组栈

《数据结构、算法与应用C语言描述》使用C语言实现数组栈 定义 栈的定义 把线性表的插入和删除操作限制在同一端进行,就得到栈数据结构。因此,栈是一个后进先出(last-in-first-out,LIFO)的数据结构。 栈&#xff08…

测试用例的八大基本准则

测试用例的八大基本准则 测试用例的八大基本准则功能测试性能测试兼容性测试安全测试可靠性测试易用性测试数据库测试接口测试 测试案例 测试用例的八大基本准则 上节测试用例的设计中我们讨论如何设计一个测试用例,知道了测试用例的设计有:“边界值&am…

【搭建yolox深度学习环境】

这里写目录标题 一、环境配置二、安装所需库文件2.1 安装apex 一、环境配置 首先进行yolox模型的下载:YOLOX(gitcode) 或者YOLOX(github) 并选择自己所需的权重模型,如-s-m-l等(.pth文件) 如果需要进行labview的使用,…

正则表达式贪婪模式和非贪婪模式

一、贪婪模式 贪婪模式表示尽可能多的匹配字符串&#xff0c;正则表达式六个量词元字符?、、*、{n}、{n,m}、{n,}默认是贪婪模式 接下来引入一个场景来分析说明 获取html a标签href属性的值 <a href"https://www.baidu.com/" attr"abc"></a>…

可控情感的表现力语音驱动面部动画合成

高度逼真的面部动画生成需求量很大&#xff0c;但目前仍然是一项具有挑战性的任务。现有的语音驱动面部动画方法可以产生令人满意的口部运动和嘴唇同步&#xff0c;但在表现力情感表达和情感控制的灵活性方面仍存在不足。本文提出了一种基于深度学习的新方法&#xff0c;用于从…

stm32之1602+DHT11+继电器

描述&#xff1a; 1、DHT11监测温室度&#xff0c;并显示到1602液晶上 2、通过串口打印&#xff08;或通过蓝牙模块在手机上查看&#xff09; 3、当温度大于24度时&#xff0c;开启继电器。小于时关闭继电器&#xff08;继电器可连接风扇---假想O(∩_∩)O哈哈~&#xff09; 一、…

【Axure教程】用中继器制作双坐标柱状折线图

双坐标柱状折线图常用于同时展示两组数据的图表类型&#xff0c;每组数据都有自己的纵坐标轴&#xff08;Y轴&#xff09;。一组数据通常用柱状图表示&#xff0c;而另一组数据则用折线图表示。这种图表类型有助于比较两组数据之间的关系和趋势。 那今天作者就教大家&#xff…

服务断路器_Resilience4j限流

限流YML配置 ratelimiter:instances:backendA:# 限流周期时长。 默认&#xff1a;500纳秒limitRefreshPeriod: 5s# 周期内允许通过的请求数量。 默认&#xff1a;50limitForPeriod: 2先写Controller /*** 限流* return*/GetMapping("/limiter")RateLimiter(nam…

【AI视野·今日NLP 自然语言处理论文速览 第四十二期】Wed, 27 Sep 2023

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 27 Sep 2023 Totally 50 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Attention Satisfies: A Constraint-Satisfaction Lens on Factual Errors of Language Models Authors Mert …