MySQL 三层结构
MySQL的三层架构及其作用: 连接层的主要作用是验证用户的合法性,包括IP、端口、用户名和密码等。它提供了socket和TCP/IP两种连接方式。Socket连接速度快,适用于本地连接,而TCP/IP连接则适用于远程连接。连接层还提供了一个与SQL层交互的专用线程。 SQL层的主要职责是处理SQL语句。它接收客户端发送的SQL语句,进行语法判断及语义判断(如DDL、DML、DCL和DQL)。此外,SQL层还会解析SQL语句并生成多种执行计划,选择最优的执行计划并执行。它还负责接收存储引擎层的数据,结构化成表的形式返回给客户端,并提供查询缓存和日志记录功能。 存储引擎层主要负责从磁盘文件中获取数据,并将数据返回给SQL层。它接收上层的执行结果,从磁盘文件中取出相应的数据,并返回给SQL层。 MySQL的启动可以通过mysqld、mysqld_safe和mysql.server三种方式进行。其中mysqld是二进制程序,是所有启动方式的最终调用目标。mysqld_safe和mysql.server则是shell程序,会调用mysqld,并在调用时传入必要的参数。mysql.server启动时会默认使用/etc/my.cnf配置文件信息和其他默认配置,进而调用mysqld_safe。 总的来说,MySQL的三层架构确保了数据库的高效、稳定运行,各层之间协同工作,共同完成了数据库的各项功能。
