MySQL中高级知识-MySQL架构介绍

对于MySQL5.6,在Linux上安装好之后把配置文件/usr/share/mysql/my-default.cnf 拷贝为/etc/my.cnf作为配置文件。log-bin为二进制日志文件,log-error默认是关闭的,记录严重的错诶和警告信息,查询日志log默认关闭,记录查询的SQL语句,如果开启会降低MySQL的整体性能。frm文件存放表结构,myd存放数据,myi文件存放索引。

MySQL架构介绍

MySQL中高级知识-MySQL架构介绍

MySQL是典型的分层设计架构,第一层为连接层Connectors,是一些客户和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信方式。主要完成一些类似于连接处理、授权认证相关的安全方案。紧接着是连接池Connection Pool,引入线程池的概念,为通过安全认证接入的客户端提供线程。下一层是服务层,完成核心的服务功能,SQL接口、SQL的分析优化、过程、函数等。MySQL在这一层解析查询并创建相应的内部解析树,并完成相应表的优化如确定查询表的顺序,是否利用索引等,最后生成相应的操作。下一层是各种可拔插的存储引擎(数据存储引擎层),MySQL使用插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离,可以根据不同的业务需求选择合适的存储引擎。底层为文件存储层,将数据存储在文件系统上。

存储引擎

重点关注InnoDB和MyISAM
MySQL中高级知识-MySQL架构介绍