06 2022 档案
摘要:第19章 数据库备份与恢复 在任何数据库环境中,总会有 不确定的意外 情况发生,比如例外的停电、计算机系统中的各种软硬件故障、人为破坏、管理员误操作等是不可避免的,这些情况可能会导致 数据的丢失、服务器瘫痪 等严重的后果。存在多个服务器时,会出现主从服务器之间的数据同步问题。 为了有效防止数据丢失,
阅读全文
摘要:第18章 主从复制 1. 主从复制概述 1.1 如何提升数据库并发能力 在实际工作中,我们常常将 Redis 作为缓存与 MySQL 配合来使用,当有请求的时候,首先会从缓存中进行查找,如果存在就直接取出。如果不存在再访问数据库,这样就提升了读取的效率,也减少了对后端数据库的 访问压力 。Redis
阅读全文
摘要:第17章 其它数据库日志 我们在讲解数据库事务时,讲过两种日志:重做日志、回滚日志。 对于线上数据库应用系统,突然遭遇 数据库宕机 怎么办?在这种情况下,定位宕机的原因 就非常关键。我们可以查看数据库的 错误日志 。因为日志中记录了数据库运行中的诊断信息,包括了错误、警告和注释等信息。比如:从日志中
阅读全文
摘要:第16章 多版本并发控制 1. 什么是MVCC MVCC (Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC 是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性读操作有了保证。换言之,就是为了查
阅读全文
摘要:第14章 MySQL事务日志 事务有4种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢? 事务的隔离性由锁机制实现。 而事务的原子性、一致性和持久性由事务的 redo 日志和undo 日志来保证。 REDO LOG 称为重做日志,提供再写入操作,恢复提交事务修改的页
阅读全文
摘要:第15章 锁 1. 概述 锁 是计算机协调多个进程或线程 并发访问某一资源 的机制。在程序开发中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤其是针对一些敏感的数据(比如订单、金额等),我们就需要保证这个数据在任何时刻 最多只有一个线程在访问,保证数据的 完整性 和 一致性。在开发过程
阅读全文
摘要:第13章 事务基础知识 1. 数据库事务概述 事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库始终保持 一致性,同时我们还能通过事务的机制 恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。 1.1 存储引擎支持情况 SHOW ENGINES 命令来查看当
阅读全文
摘要:第12章 数据库其它调优策略 1. 数据库调优的措施 1.1 调优的目标 尽可能节省系统资源,以便系统可以提供更大负荷的服务。(吞吐量更大) 合理的结构设计和参数调整,以提高用户操作 响应的速度。(响应速度更快) 减少系统的瓶颈,提高MySQL数据库整体的性能。 1.2 如何定位调优问题 不过随着用
阅读全文
摘要:第11章 数据库的设计规范 1. 为什么需要数据库设计 我们在设计数据表的时候,要考虑很多问题。比如 用户都需要什么数据?需要在数据表中保存哪些数据 如何保证数据表中数据的 正确性,当插入、删除、更新的时候该进行怎样的 约束检查? 如何降低数据表的 数据冗余度 ,保证数据表不会因为用户量的增长而迅速
阅读全文
摘要:第10章 索引优化与查询优化 都有哪些维度可以进行数据库调优?简言之: 索引失效、没有充分利用到索引——索引建立 关联查询太多JOIN(设计缺陷或不得已的需求)——SQL优化。 服务器调优及各个参数设置(缓冲、线程数等)――调整my.cnf 数据过多――分库分表 关于数据库调优的知识点非常分散。不同
阅读全文
摘要:第09章 性能分析工具的使用 1. 数据库服务器的优化步骤 当我们遇到数据库调优问题的时候,该如何思考呢?这里把思考的流程整理成下面这张图。 整个流程划分成了 观察(Show status) 和 行动(Action) 两个部分。字母 S 的部分代表观察(会使用相应的分析工具),字母 A 代表的部分是
阅读全文
摘要:第08章 索引的创建与设计原则 1. 索引的声明与使用 1.1 索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 从功能逻辑上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。 按照物理实现方式,索引可以分为 2 种:聚簇索引和非聚
阅读全文
摘要:第07章 InnoDB数据存储结构 1. 数据库的存储结构:页 索引结构给我们提供了高效的索引方式,不过索引信息以及数据记录都保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MySQL服务器上的存储引擎负责对表中数据的读取和写入工作。不同存储引擎中存放的格式一般不同的,甚
阅读全文
摘要:第06章 索引的数据结构 1. 为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构,就好比一本教课书的目录部分,通过目录中找到对应文章的页码,便可快速定位到需要的文章。MySQL中也是一样的道理,进行数据查找时,首先查看查询条件是否命中某条索引,符合则通过索引查找相关数据,如果不符合则
阅读全文
摘要:第05章 存储引擎 为了管理方便,人们把连接管理、查询缓存、语法解析、查询优化这些并不涉及真实数据存储的功能划分为MySQL server 的功能,把真实存取数据的功能划分为存储引擎的功能。所以在MySQL server完成了查询优化后,只需按照生成的执行计划调用底层存储引擎提供的API,获取到数据
阅读全文
摘要:第03章 用户与权限管理 1. 用户管理 1.1 登录MySQL服务器 启动MySQL服务后,可以通过mysql命令来登录MySQL服务器,命令如下: mysql –h hostname|hostIP –P port –u username –p DatabaseName –e "SQL语句" -h
阅读全文
摘要:第04章 逻辑架构 1. 逻辑架构剖析 1.1 服务器处理客户端请求 首先MySQL是典型的C/S架构,即 Client/Server 架构,服务器端程序使用的mysqld。 不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(SQL语句),服务
阅读全文
摘要:第02章 MySQL的数据目录 1. MySQL8的主要目录结构 find / -name mysql 安装好MySQL 8之后,我们查看如下的目录结构: 1.1 数据库文件的存放路径 MySQL数据库文件的存放路径:/var/lib/mysql/ MySQL服务器程序在启动时会到文件系统的某个目录
阅读全文
摘要:注:笔记记录于B站尚硅谷宋红康老师的MySQL课程 第01章 Linux下MySQL的安装与使用 1. 安装前说明 1.1 Linux 系统及工具的准备 安装并启动号俩台虚拟机:Centos 7 掌握克隆虚拟机的操作 mac地址的修改 主机名的修改 ip地址的修改 uuid的修改 安装Xshell和
阅读全文
摘要:第01章_数据库概述 1. 为什么要使用数据库 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。 持久化的主要作用是将内存中的数据存储
阅读全文
浙公网安备 33010602011771号