![](https://img-blog.csdnimg.cn/a3f443db39ee4fca81d4faf6dc20d37a.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
文章平均质量分 95
蛋饼吧
这个作者很懒,什么都没留下…
展开
-
【MySQL高级篇笔记-数据库备份与恢复(下) 】
数据迁移(data migration)是指选择、准备、提取和转换数据,并将数据从一个计算机存储系统永久地传输到另一个计算机存储系统的过程。此外,验证迁移数据的完整性和退役原来旧的数据存储,也被认为是整个数据迁移过程的一部分。数据库迁移的原因是多样的,包括服务器或存储设备更换、维护或升级,应用程序迁移,网站集成,灾难恢复和数据中心迁移。根据不同的需求可能要采取不同的迁移方案,但总体来讲,MySQL 数据迁移方案大致可以分为物理迁移和逻辑迁移两类。通常以尽可能自动化。原创 2023-06-14 11:25:31 · 1263 阅读 · 0 评论 -
【MySQL高级篇笔记-主从复制(下) 】
在实际工作中,我们常常将Redis作为缓存与MySQL配合来使用,当有请求的时候,首先会从缓存中进行查找,如果存在就直接取出。如果不存在再访问数据库,这样就提升了读取的效率,也减少了对后端数据库的访问压力。Redis的缓存架构是高并发架构中非常重要的一环。此外,一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是采用数据库集群的方案,做主从架构、进行读写分离,这样同样可以提升数据库的并发处理能力。原创 2023-06-14 09:49:29 · 872 阅读 · 0 评论 -
【MySQL高级篇笔记-其他数据库日志(下) 】
中继日志只在主从服务器架构的从服务器上存在。从服务器为了与主服务器保持一致,要从主服务器读取二进制日志的内容,并且把读取到的信息写入本地的日志文件中,这个从服务器本地的日志文件就叫中继日志。然后,从服务器读取中继日志,并根据中继日志的内容对从服务器的数据进行更新,完成主从服务器的数据同步。搭建好主从服务器之后,中继日志默认会保存在从服务器的数据目录下。文件名的格式是:从服务器名 -relay-bin.序号。原创 2023-06-13 23:26:06 · 1005 阅读 · 0 评论 -
【MySQL高级篇笔记-多版本并发控制MVCC(下) 】
MVCC (Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC 是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性读操作有了保证。换言之,就是为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值,这样在做查询的时候就不用等待另一个事务释放锁。MVCC没有正式的标准,在不同的DBMS中MVCC的实现方式可能是不同的,也不是普遍使用的(大家可以参考相关的DBMS文档)。原创 2023-06-13 22:09:35 · 599 阅读 · 0 评论 -
【MySQL高级篇笔记-锁(下) 】
锁是计算机协调多个进程或线程并发访问某一资源的机制。在程序开发中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤其是针对一些敏感的数据(比如订单、金额等),我们就需要保证这个数据在任何时刻最多只有一个线程在访问,保证数据的完整性和一致性。在开发过程中加锁是为了保证数据的一致性,这个思想在数据库领域中同样很重要。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。为保证数据的一致性,需要对并发操作进行控制,因此产生了锁。同时锁机制。原创 2023-06-13 16:55:45 · 785 阅读 · 0 评论 -
【MySQL高级篇笔记-MySQL事务日志(下) 】
此笔记为篇部分内容那么事务的四种特性到底是基于什么机制实现呢?事务的隔离性由 锁机制实现。而事务的原子性、一致性和持久性由事务的 redo 日志和undo 日志来保证。REDO LOG 称为 重做日志,提供再写入操作,恢复提交事务修改的页操作,用来保证事务的持久性。UNDO LOG 称为 回滚日志,回滚行记录到某个特定版本,用来保证事务的原子性、一致性。有的DBA或许会认为 UNDO 是 REDO 的逆过程,其实不然。其实不然。REDO和UNDO都可以视为是一种恢厦操作。原创 2023-06-13 13:18:42 · 1012 阅读 · 0 评论 -
【MySQL高级篇笔记-事务基础知识(中) 】
一组逻辑操作单元,使数据从一种状态变换到另一种状态。保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交(commit),那么这些修改就永久地保存下来;要么数据库管理系统将放弃所作的所有修改,整个事务回滚(rollback)到最初状态。3、事务的ACID特性。原创 2023-06-09 22:31:47 · 628 阅读 · 0 评论 -
【MySQL高级篇笔记-数据库其它调优策略(中) 】
尽可能 节省系统资源 ,以便系统可以提供更大负荷的服务。(吞吐量更大)合理的结构设计和参数调整,以提高用户操作 响应的速度 。(响应速度更快)减少系统的瓶颈,提高MySQL数据库整体的性能。原创 2023-06-09 21:54:19 · 703 阅读 · 0 评论 -
【MySQL高级篇笔记-数据库的设计规范(中) 】
在关系型数据库中,关于数据表设计的基本原则、规则就称为范式。可以理解为,一张数据表的设计结构需要满足的某种设计标准的级别。要想设计一个结构合理的关系型数据库,必须满足一定的范式。规范化 vs 性能1. 为满足某种商业目标 , 数据库性能比规范化数据库更重要2. 在数据规范化的同时 , 要综合考虑数据库的性能3. 通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间4. 通过在给定的表中插入计算列,以方便查询。原创 2023-06-09 16:57:47 · 3201 阅读 · 0 评论 -
【MySQL高级篇笔记-索引优化与查询优化(中) 】
索引是高效找到行的一个方法,但是一般数据库也能使用索引找到一个列的数据,因此它 不必读取整个行。毕竟索引叶子节点存储了它们索引的数据;当能通过读取索引就可以得到想要的数 据,那就不需要读取行了。一个索引包含了满足查询结果的数据就叫做覆盖索引。非聚簇复合索引的一种形式,它包括在查询里的SELECT、JOIN和WHERE子句用到的所有列 (即建索引的字段正好是覆盖查询条件中所涉及的字段)。简单说就是, 索引列+主键包含 SELECT 到 FROM之间查询的列。原创 2023-06-06 18:48:48 · 2463 阅读 · 1 评论 -
【MySQL高级篇笔记-性能分析工具的使用 (中) 】
官网介绍定位了查询慢的SQL之后,我们就可以使用EXPLAIN或DESCRIBE工具做针对性的分析查询语句。DESCRIBE语句的使用方法与EXPLAIN语句是一样的,并且分析结果也是一样的。MySQL中有专门负责优化SELECT语句的优化器模块,主要功能: 通过计算分析系统中收集到的统计信息,为客户端请求的Query提供它认为最优的执行计划(他认为最优的数据检索方式,但不见得是DBA认为是最优的,这部分最耗费时间)。原创 2023-06-03 23:34:37 · 2806 阅读 · 0 评论 -
【MySQL高级篇笔记-索引的创建与设计原则 (中) 】
MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。从 功能逻辑 上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。按照 物理实现方式 ,索引可以分为 2 种:聚簇索引和非聚簇索引。按照 作用字段个数 进行划分,分成单列索引和联合索引。原创 2023-06-03 13:43:56 · 748 阅读 · 0 评论 -
【MySQL高级篇笔记-InnoDB数据存储结构 (中) 】
页a、页b、页c …页n这些页可以不在 物理结构上相连,只要通过双向链表相关联即可。每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用 二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录。原创 2023-06-02 17:17:41 · 528 阅读 · 0 评论 -
【MySQL高级篇笔记-索引的数据结构 (中) 】
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法。原创 2023-05-30 19:57:59 · 911 阅读 · 0 评论 -
【MySQL高级篇笔记 (上) 】
举例: 数据库a , 表b。1、如果表b采用InnoDB,data\a中会产生1个或者2个文件:如果采用模式的,数据信息和索引信息都存储在 ibdata1 中如果采用存储模式,data\a中还会产生 b.ibd 文件(此外:① MySQL5.7 中会在data/a的目录下生成。比如:字符集、比较规则。而MySQL。② MySQL8.0中。如果表b采用MyISAM,data\a中会产生MySQL5.7 中: b.frm :描述表结构文件,字段长度等。原创 2023-05-23 23:43:54 · 696 阅读 · 0 评论 -
【CentOS7下载安装MySQL】
如果当前系统中已经安装有MySQL数据库,安装将失败。#登录mysql(使用临时密码登录),就能以 root 帐号登录 mysql。%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了。#查询当前系统中安装的名称带mariadb的软件。第一个*是数据库,可以改成允许访问的数据库名称。第二个 是数据库的表名称,代表允许访问任意的表。#查询当前系统中安装的名称带mysql的软件。安装好了mysql源后安装mysql。#查询当前系统中安装的所有软件。安装报错,提示公钥尚未安装。原创 2022-12-18 23:25:59 · 2938 阅读 · 4 评论