MySQL英文文献及翻译 第2页
• 服务器初始化模块
• 连接管理器
• 线程管理
• 线程连接
• 用户身份验证模块
• 访问控制模块
• 分析器
• 指挥调度
• 查询缓存模块
• 优化
• 表管理器
• 表改造模块
• 表文护模块
• 状态报告模块
• 引分析存储引起接口(标处理程序)
• 存储引擎实现(MyISAM, InnoDB, MEMORY, Berkeley DB)
• 日志记录模块
• 复制主模块
• 复制从模块
• 客户端/服务器协议的API
• 低级别网络I/O的API
• 核心的API
模块的核心作用
当服务器在命令行下启动运行,初始化模块对它进行控制。它解析配置文件和命令行参数,分配全局内存缓冲区,初始化的全局变量和结构,加载访问控制表,并执行其它初始化任务。一旦初始化工作完成后,初始化模块传递到连毕业论文
http://www.751com.cn )的保护。线程连接可以创造新的,或者从线程缓存和检索要求中提取旧的。一旦线程连接接受控制,它首先调用用户身份验证模块。在对用户的身份信息进行验证后,客户端可以发出请求。
线程连接将请求的数据传输到指挥调度。一些要求在MySQL代码术语中被称为命令,可以通过指挥调度直接运行,但一些更复杂的需要传载的别的模块中。一个典型的命令可以要求服务器进行查询,更改活动数据库,报告状态,发送不断更新的复制场,关闭连接或执行一些其他操作。
在MySQL服务器术语中,有两种类型的客户请求语句:查询和命令。查询是任何经过分析器的请求。命令是一个无需调用分析器执行的请求。我们将使用MySQL内部范围的长期查询。因此,不仅只有一个选择,并且也有删除和插入在我们的术语中才称为查询。有时我们也将查询语句称为SQL语句。
如果启用了完整的日志记录查询,指挥调度会要求日志记录模块登陆查询或者命令调用纯文本。因此,在整个日志配置中的查询要求将无耻悲鄙下流的网.学,网总是抄辣|文,论-文.网,本网不再提供完整内容. 的情况下,执行在这点短暂短路,缓存的结果返回给用户,线程连接接受控制,并准备另一个命令的过程。如果查询缓存模块报告出一个错误,这个查询将转发到分析器去,它将在查询类的基础上对如何进行传输控制做出决定。
人们可以识别以下模块,可以继续从该点:优化器,表修改模块,表文护模块,复制模块和状态报告模块。选择查询转发到优化,更新,插入,删除和表创造和模式,改变查询到各自的表改造模块,查询,检查,文修,更新重要统计数据,或整理表到表文护模块;查询有关复制到复制模块;和地位的请求转到状态报告模块。也存在一表改造模块的数量:删除模块,建立模块,更新模块。
在这一点上,该模块将接收从分析器控制每个传递在查询清单涉及到访问控制模块表,然后,成功后,到表管理器,打开表并获得必要的锁。现在表操作模块已准备好进行其具体任务,并会发行数量要求的抽象存储引擎模块的低级别如插入或更新记录操作,检索基础上的纪录关键值,或表级别上执行的操作,如修理,或更新索引统计信息。
抽象存储引擎模块将自动转换到调用存储引擎的具体方法,通过相应的模块对象的多态性。换句话说,当一个存储引擎对象时,调用者认为它在处理一个抽象的,而实际上更具体的对象类型是:它存储引擎对象是对应于给定的表型。该接口方法是虚拟的,它创造了透明效果。正确的方法将被调用,调用方没有需要的确切知道对象的类型存储引擎对象。
当查询或命令被处理过后,相应的模块将把一部分结果设置成语句因为它们是可用的。它可以同时发送警告或错误信息。如果错误讯息已发出,客户端和服务器都了解,查询或命令失败,并采取适当的措施。客户端将不接受任何更多的是给定的查询结果集,警告或错误信息数据,而服务器将始终控制转移到线程连接后发出了一个错误。注意,因为MySQL不使用例外实施稳定和可移植性,在所有层次的所有要求的理由,必须是检查与控制的故障的情况下适当的传输错误。
如果低层次的模块以某种方法多数据进行了修改,并且如果二进制更新日志被激活,模块将负责要求记录模块将记录更新事件的二进制更新日志,有时也被称为复制日志,或者,在MySQL的开发者和主要用户,binlog
一旦任务完成后,执行流程返回到连接线,它执行必要的清理和对另一个查询或等待命令从客户端。这次会议继续进行,直到客户端发出的退出命令。
除了与固定客户的互动,一个服务器可能会收到一个命令从复制奴隶连续读取的二进制更新日志。此命令将复制母版处理模块。
如果该服务器作为复制从配置,初始化模块将调用复制从模块,从而将启动两个线程,所谓的SQL线程和I / O线程。他们利用宣传更新发生在主模块到从模块。它是在同一台服务器可以被配置成主模块和从模块。
网络与客户沟通贯穿于客户机/服务器协议模块,这对包装在适当的格式的数据负责,并视连接设置上,压缩它。客户机/服务器协议模块反过来使用低级别的网络I / O模块,这是负责发送和收到关于在跨平台的数据套接字级别可移植的方式。这也是用于加密数据使用OpenSSL库负责调用如果连接选项设置正确。
当他们履行各自的任务,服务器的核心部件大量依赖在核心的API。核心API提供了一个丰富的功能设置,包括文件的I / O,内存管理,字符串操作,实现各种数据结构和算法,以及其他许多有用的功能。 MySQL的开发者鼓励以避免直接的libc调用,并使用核心API以方便市民前往新口岸平台和代码优化的未来。
上一页 [1] [2] [3] 下一页
MySQL英文文献及翻译 第2页下载如图片无法显示或论文不完整,请联系qq752018766