MySQL持久化和主从复制
MySQL执行过程
连接器
负责和客户端的通信,是半双工模式,所以某一时刻只能客户端向服务端请求或服务端向客户端发送数据,不能同时进行。mysql通过TCP/IP连接到客户端。
验证用户账户和密码是否正确,如果正确会在mysql自带的权限表中查询用户权限
分析器
将客户端发过来的sql语句进行分析,包括预处理和解析过程。解析sql语句,关键词和非关键词提取解析,生成解析树
优化器
sql语句的优化,根据执行计划进行最优选择,匹配合适索引。
执行器
调用存储引擎的API
存储引擎
MySQL常用的存储引擎:InnoDB和MyISAM
两者区别:
1.InnoDB支持事务,MyISAM不支持事务.InnoDB默认将每条语句封装为事务,自动提交,这样会影响效率,可以将多条SQL放在begin和commit之间,封装成一个事务。
2.InnoDB支持外键,MyISAM不支持,将带有外键的InnoDB转换为MyISAM会失败。
3.InnoDB是聚集索引,索引和数据存在一个文件中。辅助索引要查询两次,叶子节点存储的是主键,再通过主键查询。MyISAM是非聚集索引,叶子节点存储的是数据文件的指针。MyISAM有三个文件:*.firm 表结构文件 .MYD 数据文件 .MYI 索引文件。
4.InnoDB不保存具体的行数,