这里我们主要讲讲MySQL高级内容,基础部分我们之前已经说过,可以查看之前的博客。
一、高级MySQL概述—这些需要很深的功底
- MySQL内核
- SQL优化
- MySQL服务器的优化
- 各种参数常量设定
- 查询语句优化
- 主从复制
- 软硬件升级
- 容灾备份
- SQL编程
二、MySQL配置文件
- 二进制日志log-bin -----主从复制
- 错误日志log-error ----默认关闭,记录严重的警告和错误信息,每次启动和关闭的详细信息
- 查询日志log ----默认关闭,记录查询的SQL语句,开启会降低MySQL整体性能,因为日志也是需要消耗系统资源的
- 数据文件
- frm文件 -----存放表结构
- myd文件 -----存放表数据
- myi文件 -----存放表索引
- 如何配置
- windows ----my.ini文件
- Linux ----/etc/my/cnf文件
三、MySQL逻辑架构介绍
- 概述
- 连接层
- 业务逻辑层
- 可拔插式存储引擎
- 文件存储层
插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取相分离,这种架构确保了MySQL的灵活性,可以根据业务需求和实际需要选择合适的存储引擎,默认是innoDB引擎
四、MySQL存储引擎
- 查看命令
show engines;
show variables like ‘%storage_engin%’;
4.1MyISAM和InnoDB的区别
innoDB | MyiSAM | |
---|---|---|
主外键 | 支持 | 不支持 |
事务 | 支持 | 不支持 |
行表锁 | 行锁,页面锁,表锁都支持,行锁适合高并发 | 只支持表锁,不适合高并发 |
缓存 | 不仅缓存索引,还缓存真实数据,对内存要求较高 | 只缓存索引,不缓存真实数据 |
表空间 | 大 | 小 |
关注点 | 事务 | 性能 |