数据库MySQL
文章平均质量分 84
四库全书的酷
格物致知,所有未知都可变成已知!
展开
-
Mysql架构<九> Mysql中的锁
文章目录前言锁的分类全局锁表级锁表读写锁表读写锁实例演示元数据锁自增锁行级锁行级锁概念意向锁记录锁间隙锁临界锁加锁规则插入意向锁锁相关参数会当凌绝顶,一览众山小!加油!前言在实际的数据库系统中,每时每刻都在发生锁定,当某个用户在修改一部分数据时,MySQL会通过锁定防止其他用户读取同一数据。在处理并发读或者写时,通过实现一个由两种类型的锁组成的锁系统来解决问题。两种锁通常被称为共享锁(shared lock)和排他锁(exclusive lock),也叫读锁(read lock)和写锁(write l原创 2022-04-19 18:13:49 · 200 阅读 · 0 评论 -
Mysql<八> Mysql中为什么使用B+树作为数据的存储结构,索引如何优化?
文章目录前言概念优点缺点索引的分类索引的数据结构索引需要满足什么基本需求?考虑以下数据结构:Hash表二叉查找树红黑树B树B+树MySQL索引实现Myisam引擎的索引主键索引辅助查询总结INNIDB引擎的索引聚簇索引辅助索引什么是回表查询?总结索引优化组合查询最左匹配原则覆盖查询索引下推 ICP索引创建的原则哪些情况需要创建索引索引优化建议前言概念索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。一般来说索引本身也很大,不可能全部存储原创 2022-04-18 20:06:45 · 1586 阅读 · 0 评论 -
Mysql<七> 事务的MVCC机制原理解析
文章目录前言MVCC的概念MVCC实现原理undo loginsert undo logupdate undo logReadView==ReadView怎么产生,什么时候生成?====如何判断可见性?==MVCC在隔离机制RC和RR的实现案例RC的MVCC机制实现RC的MVCC机制实现总结前言查看当前运行的事务的SQL语句:-- 查看当前运行的事务SELECTa.trx_id,a.trx_state,a.trx_started,a.trx_query,b.ID,b.USER,b.DB,b.CO原创 2022-04-17 18:19:06 · 843 阅读 · 1 评论 -
Mysql<六> 事务特性与底层原理
文章目录事务概念:事务底层原理:丢失更新问题解决方法LBCC (Lock Based Concurrency Control) 基于锁的并发控制MVCC (Muliversion concurrency control) 多版本并发控制事务概念:事务提交:分为手动提交和自动提交,任何的DML数据操作语言:insert,update,drop,truncate等都会触发事务。可以通过属性参数设置:set @@autocommit = 0; #关闭自动提交。(不建议)谈到事务,就必须知道事务原创 2022-04-17 16:01:42 · 775 阅读 · 0 评论 -
Mysql架构<五> innoDB内存引擎架构 之磁盘文件层面的存储结构
文章目录储存结构-表的结构段区【Extent】页【Page】行【Row】内存数据落盘数据库灵魂三问:脏页落盘==什么是脏页==?==为什么不是每次更新直接写入磁盘呢==?==怎么确保日志就能安全的写入系统呢==?==这样做不就等同于数据直接写入磁盘吗==?redo日志落盘CheckPoint检查点机制什么是CheckPoint?Checkpoint分类Double Write双写脏页落盘出现的问题该怎么解决这个问题?Double write崩溃恢复小结储存结构-表的结构段表空间由各个段(Segmen原创 2022-04-16 19:48:19 · 895 阅读 · 0 评论 -
Mysq架构l<四> innoDB内存引擎架构 之 内存层面&磁盘文件层面 分析
文章目录前言innoDB架构分析内存结构:缓冲池 Buffer pool修改缓冲 change buffer自适应哈希索引(AHI)日志缓冲磁盘结构表空间系统表空间独立表空间其他通用表空间共享表空间Undo 表空间临时表空间前言show engine innodb status;可以查看inoDB引擎的一些状态信息,包括文件IO状态,缓冲池配置,自适应hash索引配置等信息。innoDB架构分析上图:理解INNODB的结构,从两方面去分析:内存中的部分;磁盘的部分。后台线程内存结原创 2022-04-16 17:22:27 · 679 阅读 · 0 评论 -
Mysql框架<三> MySQL服务器架构
文章目录前言分析认识第一个:连接池认识第二个: 查询缓存认识第三个: server中组件认识第四个: 存储引擎会当凌绝顶,一览众山小!加油!前言先上图:Connectors:连接器,负责跟客户端建立连接、获取权限、维持和管理连接。Management Serveices & Utilities:系统管理和控制工具Connection Pool: 连接池,管理用户连接,负责监听对 MySQL Server 的各种请求,接收连接请求,转发所有连接请求到线程管理模块。SQL Interfa原创 2022-04-14 22:03:33 · 885 阅读 · 0 评论 -
Mysql Linux C++编程API调用
文章目录安装MySQL连接示例代码安装MySQL可以参考这篇文章《在Ubuntu上安装MySQL》连接具体可以看官方的MySQL参考手册示例代码#include<iostream>#include<mysql/mysql.h>/*mysql_init() 获取或初始化MYSQL结构mysql_real_connect() 连接到MySQL服务器。mysql_query() 执行指定为“以Null终结的字符串”的SQL查询。mysql_use_result()原创 2022-04-10 10:48:58 · 232 阅读 · 0 评论 -
Linux 下 MySQL-5.7版本安装
文章目录1、下载安装包2、解压3、准备依赖包4、安装并初始化5、登录6、修改密码7、退出8、停止服务9、创建配置文件10、防⽕墙配置1、下载安装包下载到/usr/local目录下wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz2、解压tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz3、准备依赖包ap原创 2022-04-10 10:15:49 · 520 阅读 · 0 评论 -
Mysql框架<二> 行式存储与列式存储
文章目录数据处理场景分类OLTP 联机事务处理OLAP 联机分析处理行式存储和列式存储概念特点对比数据处理场景分类OLTP 联机事务处理OLTP : on-line transaction processing为传统的数据库的主要应用场景。偏向事务处理方向的适合:增删改查,事务处理不适合:海量数据处理OLAP 联机分析处理OLAP: on-line analytical processing为分布式数据库主要应用场景,通常应用于数据报表。适合:海量数据;不适合:实时性要求高,原创 2022-04-14 21:28:36 · 1679 阅读 · 0 评论 -
Mysql框架<一> MySQL日志
文章目录前言MySQL日志1. 错误日志2. 二进制日志3. 查询日志3.1 通用查询日志3.2 慢查询日志4、其他前言你需要了解一些基本命令的使用:show variables like '%%'; --查询变量show status like '%%'; --查询状态和计数器配置文件为 /etc/mycnf。部分服务器(某云)可能对该文件做了限制,可能在/etc/mysql/mysql.conf.d/mysqld.cnf中进行配置即可。注意此时切换至root用户操作数据库。mysq原创 2022-04-14 21:07:15 · 232 阅读 · 0 评论