分类目录归档:Mysql

Mysql DBA-索引篇

索引类型:

1.按照数据结构角度:B+树索引,哈希索引,FULLTEXT索引

1)B+树索引:

B+的特性:1.所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的;2.不可能在非叶子结点命中;3.非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层; 继续阅读

Yum Repository自定义版本安装Mysql

以前安装Mysql都是要自己去网上选择一个特定版本,然后再下载到服务器安装,而且不同版本的相关命令也有所不同,学习记忆成本也非常高。现在官网可以通过安装yum的依赖库自由选择安装,非常的方便,今天来分享下。

1. Adding the MySQL Yum Repository

sudo rpm -Uvh mysql57-community-release-el6-n.noarch.rpm

2. Selecting a Release Series

yum repolist all | grep mysql

通过这个命令可以看到不同版本的默认启用情况,然后我们可以选择自己的需要的版本,如果需要变更,需要修改/etc/yum.repos.d/mysql-community.repo的文件。 继续阅读

Mysql技术内幕InnoDB存储引擎-事务&备份&性能调优

事务

transaction是数据库区别于文件系统的重要特性之一,innodb引擎完全符合事务的ACID特性。

Atomicity 原子性

Consistency一致性

Isolation 隔离性

Durability 持久性

7.1、事务概述

Atomicity 原子性:整个数据库事务是不可分割的工作单位。

Consistency一致性:事务将数据库从一种状态转变为下一种一致的状态。

Isolation 隔离性:一个事务的影响在该事务提交前对其他事务都不可见。

Durability 持久性:事务一旦提交,其结果就是永久性的。 继续阅读

Mysql技术内幕InnoDB存储引擎-表&索引算法和锁

4.1、innodb存储引擎表类型

innodb表类似oracle的IOT表(索引聚集表-indexorganized table),在innodb表中每张表都会有一个主键,如果在创建表时没有显示的定义主键则innodb如按照如下方式选择或者创建主键。
首先表中是否有唯一非空索引(unique not null),如果有则该列即为主键。
不符合上述条件,innodb存储引擎会自动创建一个6字节大小的指针,rowid()。

4.2、innodb逻辑存储结构

innodb的逻辑存储单元由大到小分别是 tablespace,segment,extent,page(block)组成

4.2.1、表空间(tablespace)

所有数据都是存放在表空间中的,启用了参数innodb_file_per_table,则每张表内的数据可以单独放到一个表空间中,每张表空间内存放的只是数据,索引和插入缓冲,其他类的数据,如undo信息,系统事务信息,二次写缓冲等还是存放在原来你的共享表空间。 继续阅读

Mysql技术内幕InnoDB存储引擎-InnoDB存储引擎

自己工作也有几年了,最近打算把过去的知识点与学习内容再整理整理。Mysql重量级数据《Mysql技术内幕InnoDB存储引擎》。

一.mysql体系结构和存储引擎

1.1、数据库和实例的区别

         数据库:物理操作系统或其他形式文件类型的集合。在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件。

数据库实例:由数据库后台进程/线程以及一个共享内存区组成。数据库实例才是真正用来操作数据库文件的。

mysql数据库是单进程多线程的程序,与sql server比较类似。也就是说,Mysql数据库实例在系统上的表现就是一个进程。 继续阅读