合集-Re_Study_MySQL(高级篇)

摘要:C-01.Linux下MySQL的安装和使用 前置说明,MySQL高级部分,需要前置知识,为Linux操作系统。如果没有该部分知识,这里推荐韩顺平老师的Linux操作系统的教程。韩老师Linux教程 1.安装前准备 1.1 Linux系统及工具的准备 安装并启动好两台虚拟机: CentOS7版本 掌 阅读全文
posted @ 2024-03-07 23:01 长名06 阅读(211) 评论(0) 推荐(1) 编辑
摘要:C-02.MySQL的数据目录和表文件解析 1.MySQL8的主要目录结构 [root@LinuxCentOS7-132 dbtest1]# find / -name mysql /etc/logrotate.d/mysql /etc/selinux/targeted/active/modules/ 阅读全文
posted @ 2024-03-11 00:14 长名06 阅读(317) 评论(0) 推荐(0) 编辑
摘要:1.用户管理 MySQL用户可以分为普通用户和root用户。root用户是超级管理员,拥有所有权限,包括创建用户、删除用户和修改用户的密码等管理权限。普通用户只拥有被授予的各种权限。 MySQL提供了很多语句用来管理用户账号,这些语句可以用来管理包括登录和退出MySQL服务器,创建用户,删除用户、密 阅读全文
posted @ 2024-03-17 17:02 长名06 阅读(236) 评论(0) 推荐(0) 编辑
摘要:C-04.逻辑架构 1.逻辑架构剖析 1.1 服务器处理客户端请求 首先MySQL是典型的C/S架构,即Client/Server架构,客户端使用的是mysql,服务器端程序使用的mysqld。 不论客户端进程和服务器进程是采用那种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本 阅读全文
posted @ 2024-03-25 23:08 长名06 阅读(140) 评论(0) 推荐(0) 编辑
摘要:C-05.存储引擎 为了方便管理,把连接管理,查询缓存,语法解析,查询优化这些不涉及真实数据存储的功能划分为MySQL Server的功能,把真实存取数据的功能划分为存储引擎的功能。所以在MySQL Server完成了查询优化后,只需按照生成的执行计划调用底层存储引擎提供的API,获取到数据后返回给 阅读全文
posted @ 2024-04-19 22:24 长名06 阅读(82) 评论(0) 推荐(0) 编辑
摘要:1.为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构,就好比一本书的目录部分,通过目录中找到对应文章的页码,便可快速定位到需要的文章。MySQL中的索引也是一样的道理,进行数据查找时,首先查看查询条件是否命中某条索引,符合则通过索引查找相关数据,如果不符合则需要全表扫描,即需要一条条 阅读全文
posted @ 2024-04-21 22:57 长名06 阅读(124) 评论(0) 推荐(0) 编辑
摘要:C-07.InnoDB数据存储结构 1.数据库的存储结构:页 索引结构给我们提供了高效的索引方式,不过索引信息以及数据记录都是保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MySQL服务器上的存储引擎负责对表中数据的读取和写入工作。不同存储引擎中存放的格式一般是不同的, 阅读全文
posted @ 2024-04-27 00:05 长名06 阅读(113) 评论(0) 推荐(0) 编辑
摘要:C-08.索引的创建和设计原则 1.索引的声明和使用 1.1 索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 从功能逻辑上分类,索引主要有4种,分别是普通索引,唯一索引,主键索引,全文索引。 按照物理实现方式,索引可以分为2种,聚簇索引和非聚簇索引。 阅读全文
posted @ 2024-05-03 21:34 长名06 阅读(371) 评论(0) 推荐(0) 编辑
摘要:1.数据库服务器的优化步骤 当遇到数据库调优问题时,思考的流程如下图。 整个流程划分成了观察(Show status)和行动(Action)两个部分。字母S的部分代表观察(会使用相应的分析工具),字母A代表的部分是行动(对应分析可以采取的行动)。 上图,就是数据库调优的思路。如果发现执行SQL时存在 阅读全文
posted @ 2024-05-08 21:26 长名06 阅读(145) 评论(0) 推荐(0) 编辑
摘要:C-10.索引优化与查询优化 都有那些维度可以进行数据库调优?简言之: 索引失效,没有充分利用到索引 -- 索引建立 关联查询太多JOIN(设计缺陷或不得已的需求) -- SQL优化 服务器调优及各个参数设置(缓冲,线程数等) -- 调整my.cnf 数据过多 -- 分库分表 关于数据库调优的知识点 阅读全文
posted @ 2024-05-23 23:31 长名06 阅读(196) 评论(0) 推荐(0) 编辑
摘要:C-11.数据库的设计规范 1.为什么需要数据库设计 我们在设计数据表的时候,要考虑很多问题。比如: 用户需要什么数据?需要在数据表中保存那些数据? 如何保证数据表中数据的正确性,当插入,删除,更新的时候该进行怎样的约束检查? 如何降低数据表的数据冗余度,保证数据表不会因为用户量的增长而迅速扩张? 阅读全文
posted @ 2024-06-05 23:03 长名06 阅读(282) 评论(0) 推荐(0) 编辑
摘要:C-12.数据库其他调优策略 1.数据库调优的措施 1.1 调优的目标 尽可能节省系统资源,以便系统可以提供更大负荷的服务。(吞吐量更大) 合理的结构设计和参数调整,以提高用户操作响应的速度。(响应速度更快) 减少系统的瓶颈,提高MySQL数据库整体的性能。 1.2 如何定位调优问题 不过随着用户量 阅读全文
posted @ 2024-06-10 00:26 长名06 阅读(100) 评论(0) 推荐(0) 编辑
摘要:1.数据库事务概述 事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库始终保持一致性,同时我们还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。 1.1 存储引擎支持情况 SHOW ENGINES命令来查看当前MySQL支持的存储引擎都有那 阅读全文
posted @ 2024-06-18 22:26 长名06 阅读(63) 评论(0) 推荐(0) 编辑
摘要:C-14.MySQL事务日志 事务有4种特性:原子性,一致性,隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢? 事务的隔离性由锁机制实现。 事务的原子性,一致性和持久性由事务的redo日志和undo日志来保证。 REDO LOG称为重做日志,提供再写入操作,恢复提交事务修改的页操作,用来 阅读全文
posted @ 2024-06-23 17:21 长名06 阅读(107) 评论(0) 推荐(0) 编辑
摘要:C-15.锁 事务的隔离性由本章讲述的锁来实现。 1.概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在程序开发中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤其是针对一些敏感的数据(比如订单,金额等),我们就需要保证这个数据在任何时刻最多只有一个线程在访问,保证数据的完整性 阅读全文
posted @ 2024-07-02 21:52 长名06 阅读(60) 评论(0) 推荐(0) 编辑
摘要:C-16.多版本并发控制 1.什么是MVCC MVCC(Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性读操作有了保证。换言之,就是为了查询一些 阅读全文
posted @ 2024-07-03 23:11 长名06 阅读(167) 评论(0) 推荐(0) 编辑
摘要:C-17.其他数据日志 在之前的数据库事务的章节中,已经讲过,redo log和undo log。 对于线上数据库应用系统,突然遭遇数据库宕机怎么办?在这种情况下,定位宕机的原因就非常关键。我们可以查看数据库的错误日志。因为日志中记录了数据库运行中的诊断信息,包括了错误,警告和注释等信息。比如:从日 阅读全文
posted @ 2024-07-07 12:17 长名06 阅读(49) 评论(0) 推荐(0) 编辑
摘要:C-18.主从复制 1.主从复制概述 1.1 如何提升数据库并发能力 在实际工作中,我们常常将Redis作为缓存与MySQL配合来使用,当有请求的时候,首先会从缓存中进行查找,如果存在就直接取出。如果不存在再方法数据库,这样就提升了读取的效率,也减少了对后端数据库的访问压力。Redis的缓存架构是高 阅读全文
posted @ 2024-07-09 22:50 长名06 阅读(90) 评论(0) 推荐(0) 编辑
摘要:C-19.数据库备份与恢复 在任何数据库环境中,总会有不确定的意外情况发生,比如例外的停电、计算机系统中的各种软硬件故障、人为破坏、管理员误操作等是不可避免的,这些情况可能会导致数据的丢失、服务器瘫痪等严重的后果存在多个服务器时,会出现主从服务器之间的数据同步问题。 为了有效防止数据丢失,并将损失降 阅读全文
posted @ 2024-07-11 20:40 长名06 阅读(97) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示