Mysql体系结构
- 连接池组件:授权,线程重用,链接限制,内存检查
- 管理服务和工具组件: 备份,恢复,安全,复制,集群,管理权限配置,迁移
- SQL接口组件:DML,DDL,存储过程视图,触发器
- 查询分析组件:查询翻译
- 优化器组件:访问路径,数据统计
- 缓冲组件:全局缓冲 或者 指定引擎缓冲
- 插件式存储引擎
- 物理文件
各存储引擎之间的比较
InnoDB存储引擎
- 面向在线事务处理的应用OLTP
- 行级锁
- 外键
MyISAM
- 不支持事务
- 表锁
- 支持全文索引
- 在线分析数据库OLAP
- 缓冲池只缓存索引文件
- MYD存放数据MYI存放索引
NDB
- 集群
- 内存数据库
- JOIN操作在数据库层完成,效率低
Memory
- 内存数据库
- 无磁盘持久,丢了就完蛋了
- 默认Hash索引
- 表锁
- 不支持Text,Bolg
Archive
- 只支持insert和select操作
- 行锁
- 使用zlib算法将数据行压缩存储
链接Mysql
TCP/IP
命名管道和共享内存
windows系列使用
启用配置文件中启用–enable-named-pipe选项。
连接时,客户端需要使用–protocol=memory。
Unix域套接字
配置文件中指定套接字文件的路径。
mysql -u用户名 -s 套接字文件路径
SQL
- show engine; 参看所有存储引擎
- use mysql;select * from user; 查看mysql用户