标签:cat 最优 bin lse quic 管理 软件 logs mode
主要有两种连接mysql的方式:
mysql -uroot -pmysql -h 10.0.0.51 #TCP/IP mysql -uroot -pmysql -S /tmp/mysql.sock #socket
分布式系统架构中会使用多实例:在一个系统上要起多个mysql。
mysqld守护进程+Master thread + worker thread +专用内存 ====>实例
实例+数据 ====>完整的数据库管理系统
多实例==完整的数据库管理系统*n
一条SQL语句的执行过程:select user,authentication_string,host from mysql.user;
(1) 提供连接协议 TCP/IP Socket (2) 提供用户验证模块,加载授权表(mysql.user) user password (3) 提供连接线程 负责:所有会话相关的命令接收及回馈
#SQL语言种类 SQL :结构化的查询语言 DDL :数据定义语言 DCL :数据控制语言 DML :数据操作语言 DQL :数据查询语言 每一类语言,都有专门的模块来负责 #SQL层工作原理 (1) 验证语句语法(SQL 92, 99,移植性),SQL_MODE (2) 权限验证模块 (3) 语义验证模块 (4) 专用SQL解析器,SQL语句执行的方法(explain) (5) 优化器:选择一个代价最低的执行计划 代价:CPU MEM IO (6) 执行器:根据优化器的选择最优的执行计划,执行SQL语句,得出执行结果. (7) 提供查询缓存:query_cache ,现在一般用redis产品替代query_cache (8) 提供查询(变更类)日志:binlog
多种存储引擎,以插件形式支持. 不同存储引擎就像,不同的文件系统一样,提供不同数据存取模式. InnoDB: 一张表就是一个文件, .ibd文件,一个段,区,数据页(16K) 存储引擎根据,SQL层提供的执行结果,结构化层表的形式,返回给用户
1)对于Linux操作系统来讲,他的物理层是同柱面的扇区.
2)对于MySQL来讲,他是Linux系统之上的应用软件,他的物理层就是文件系统上的特定格式的文件,由MySQL<存储引擎>决定的
对于myisam引擎来说:
对于innodb引擎来说:(注意:mysql8.0中已经没有.frm文件了)
标签:cat 最优 bin lse quic 管理 软件 logs mode
原文地址:https://www.cnblogs.com/hujinzhong/p/11625571.html