mysql 技术内幕 Innodb 存储引擎 第二版 学习 first
2017-05-11 21:59
796 查看
mysql 是单进程多线程
1、查看mysql 进程
ps -ef | grep mysqld
![](https://img-blog.csdn.net/20170511204050404)
5098就是其进程
2、查看mysql 配置文件位置
mysql --help | grep my.cnf
![](https://img-blog.csdn.net/20170511204256388)
3、查看mysql 数据文件位置
1、编译安装的 /usr/local/mysql/bin/ vim mysql_config
![](https://img-blog.csdn.net/20170511204630924)
2、进入mysql 输入 命令 : show variables like 'datadir'\G
![](https://img-blog.csdn.net/20170511204740141)
INNODB 存储引擎
mysql 5.58 之后 mysql 默认的引擎就是 innodb
innodb 文件 是 .ibd文件 、
innodb 会为每一行 生成一个6字节左右 ROWID 并以此作为主键
MYISAM 存储引擎
数据文件
MYD 数据文件
MYI 索引文件
**可以使用myisampack 编码静态算法来压缩数据(压缩之后是只读的)
使用方法
Innodb 内存
![](https://img-blog.csdn.net/20170609153822081)
线程的主要功能就是负责刷新内存池中的数据(1、保证缓存池中的数据是最新的2、并将已修改的数据文件刷新到磁盘文件中*避免发生异常Innodb能恢复正常*)
线程分类:
Innodb引擎是多线程的的模型
1、master thread(核心线程刷新数据保证数据一致性)
2、IO thread(处理异步IO请求的回调)
linux 下不能设置 IO htread 的个数
3、purge thread(关于事务的)
主要用于回收undo页的
*****补充***********
mysql通过锁机制来实现事务的隔离性,用redo log实现事务的原子性和持久性,用undo log实现事务的一致性。undo并不是redo的逆过程,redo和undo都可以看做一种恢复过程,redo恢复事务修改的页操作,redo记录的是物理日志,记录的是页的物理修改操作,redo log基本上都是顺序写的,在数据库运行时不需要对redo log的文件进行读取操作。undo回滚行记录到某个版本,undo记录的是逻辑日志,根据每行记录进行记录,undo
log是需要进行随机读取的
*********************
![](https://img-blog.csdn.net/20170609164805595)
缓存池中 管理试用版LRU算法(在传统LRU中添入了midpoint位置:将最新读到的页不放在LRU列表首部而是放在midpoint位置 大约在LRU列表的5/8处) 默认的每页的大小为16K
可以通过 show variables like 'innoodb_old_blocks_pct'\G; 来查看
*未完待续*
1、查看mysql 进程
ps -ef | grep mysqld
5098就是其进程
2、查看mysql 配置文件位置
mysql --help | grep my.cnf
3、查看mysql 数据文件位置
1、编译安装的 /usr/local/mysql/bin/ vim mysql_config
2、进入mysql 输入 命令 : show variables like 'datadir'\G
INNODB 存储引擎
mysql 5.58 之后 mysql 默认的引擎就是 innodb
innodb 文件 是 .ibd文件 、
innodb 会为每一行 生成一个6字节左右 ROWID 并以此作为主键
MYISAM 存储引擎
数据文件
MYD 数据文件
MYI 索引文件
**可以使用myisampack 编码静态算法来压缩数据(压缩之后是只读的)
使用方法
Innodb 内存
线程的主要功能就是负责刷新内存池中的数据(1、保证缓存池中的数据是最新的2、并将已修改的数据文件刷新到磁盘文件中*避免发生异常Innodb能恢复正常*)
线程分类:
Innodb引擎是多线程的的模型
1、master thread(核心线程刷新数据保证数据一致性)
2、IO thread(处理异步IO请求的回调)
linux 下不能设置 IO htread 的个数
3、purge thread(关于事务的)
主要用于回收undo页的
*****补充***********
mysql通过锁机制来实现事务的隔离性,用redo log实现事务的原子性和持久性,用undo log实现事务的一致性。undo并不是redo的逆过程,redo和undo都可以看做一种恢复过程,redo恢复事务修改的页操作,redo记录的是物理日志,记录的是页的物理修改操作,redo log基本上都是顺序写的,在数据库运行时不需要对redo log的文件进行读取操作。undo回滚行记录到某个版本,undo记录的是逻辑日志,根据每行记录进行记录,undo
log是需要进行随机读取的
*********************
缓存池中 管理试用版LRU算法(在传统LRU中添入了midpoint位置:将最新读到的页不放在LRU列表首部而是放在midpoint位置 大约在LRU列表的5/8处) 默认的每页的大小为16K
可以通过 show variables like 'innoodb_old_blocks_pct'\G; 来查看
*未完待续*
相关文章推荐
- MySQL技术内幕-InnoDB存储引擎 笔记
- Mysql技术内幕——InnoDB存储引擎
- MySQL技术内幕-InnoDB存储引擎-读书笔记(二)
- MySQL技术内幕-InnoDB存储引擎-读书笔记(一)
- mysql 技术内幕:InnoDB存储引擎
- MySQL技术内幕 InnoDB存储引擎(二)
- Mysql技术内幕——InnoDB存储引擎
- MySQL 技术内幕:InnoDB存储引擎pdf
- MySQL技术内幕-InnoDB存储引擎读写笔记(性能调优)
- MySQL技术内幕 InnoDB存储引擎 第2版
- MySql技术内幕之——InnoDB存储引擎…
- MySQL技术内幕 InnoDB存储引擎 第2版
- MySQL技术内幕-InnoDB存储引擎读写笔记(索引概述)
- Mysql技术内幕——InnoDB存储引擎
- Mysql技术内幕——InnoDB存储引擎
- mysql存储引擎之innodb学习
- mysql dba系统学习(21)mysql存储引擎InnoDB
- 巴途_数据库存储引擎学习之《mysql,innoDB,MyISAM等相关数据库存储引擎分析》
- mysql 存储引擎 innodb 学习复习 之 锁
- mysql 存储引擎 innodb 学习复习 之 索引