随笔分类 - mysql
摘要:在上一篇文章:Mysql索引(一篇就够le) 中介绍了索引的基本使用,分类和原理,也强烈建议先读Mysql索引(一篇就够le),然后继续本文的阅读 我们也知道mysql的优化可以从很多的方面进行,比如硬件,换个ssd的磁盘也很爽,环境的搭建,比如读写分离等,参数的配置,表结构的设计,字段类型的合理选
阅读全文
摘要:我想很多人对mysql的认知可能就是CRUD(代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)操作),也不敢说自己会用和熟悉mysql,当然我就是其中一个,虽然知道mysql有很多东西,但是一直都没有深入的了解和掌握,最近想着好好的把Mysql原理学习下
阅读全文
摘要:本篇文章主要从事务的分类,操作,事务隔离级别几个方面进行阐述。 一、概述 事务是数据库系统区别文件系统的一个重要特性。事务会把数据库从一种状态转为另一种状态。要么都修改,要么都不改。事务可以是一个简单的sql,也可以是一个复杂的sql,事务是访问并更新数据库中各个数据项的一个程序执行单元 事务的四大
阅读全文
摘要:本篇主要根据innodb存储引擎的锁进行阐述,包括分类,算法,以及锁的一些问题 一、锁的概述 为了保证最大程度的利用数据库的并发访问,又要确保每个用户能以一致的方式读取和修改数据,为此锁就派上了用场,也就是锁的机制。锁机制也是用于区别数据库系统和文件系统的一个关节特性。 锁是为了支持对共享资源进行访
阅读全文
摘要:对于DBA来说,数据的备份和恢复是一项很基本的操作。在意外的情况下(服务器宕机,磁盘损坏,RAID卡损坏等),要保证数据不丢失,或者是最小程度的丢失,是每个DBA每时每刻应该关心数据库的备份了。本来说明下备份的工具,原理以及使用。 一、备份与恢复的概述 按照是否能够继续提供服务,将数据库备份类型划分
阅读全文
摘要:本文从两个方面进行阐述,常规的日志文件(不区分存储引擎),第二就是讲innodb存储引擎的事务日志。第三就是看下binlog日志和事务日志的对比。 一、基本日志文件 1.1、基本日志文件分类:错误日志(error log)慢查询日志日志(slow query log)二进制日志(binlog)查询日
阅读全文
摘要:在阅读本篇文章可能需要一些B树和B+树的基础 一、B树和B+树的区别 1、B树的键值不会出现多次,而B+树的键值一定会出现在叶子节点上,而且在非叶子节点也可能会重复出现2、B数存储真实数据,B+数叶子节点存储真实数据,非叶子节点存储只存储键值3、B树的查找效率和键在树中所在的位置有关,B+树的复杂度
阅读全文
摘要:一、mysql安装 创建用户和用户组: groupadd mysqluseradd -g mysql mysql -s /sbin/nologin 解压压缩文件并创建软链接 tar -xvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/loc
阅读全文
摘要:一、背景 1.1文件组织架构 首先看一下mysql数据系统涉及到的文件组织架构,如下图所示: msyql文件组织架构图 从图看出: 1、日志文件:slow.log(慢日志),error.log(错误日志),general.log(基本日志) 2、配置文件:my.cnf 3、数据库:performan
阅读全文
摘要:一、Innodb体系架构 1.1、后台线程 后台任务主要负责刷新内存中的数据,保证缓冲池的数据是最近的数据,此外还将修改的数据刷新到文件磁盘,保证在数据库发生异常的情况下Innodb能恢复到正常的运行状态。 1、Master Thread主要负责缓冲池的数据异步刷新到磁盘,保证数据的一致性,包括脏页
阅读全文