04 2022 档案

摘要:在 MYSQL的启动过程中,可以看到在 mysqld_main() 函数的最后调用了 mysqld_socket_acceptor->connection_event_loop() 函数用来处理MySQL的连接,这里通过源码分析一下MySQL连接的建立与使用过程: 1. 在死循环中调用 m_list 阅读全文
posted @ 2022-04-14 19:31 卷毛狒狒 阅读(666) 评论(0) 推荐(0) 编辑
摘要:MySQL启动过程中 GTID 的处理: 1. 在核心模块启动函数 init_server_components() 会调用 gtid_server_init() 初始化 gtid server 2. 调用 init_server_auto_options() 初始化并获取数据库的 server_u 阅读全文
posted @ 2022-04-14 11:59 卷毛狒狒 阅读(613) 评论(0) 推荐(1) 编辑
摘要:当 MySQL关闭后,重启MySQL时,会进行 crash recovery操作,这里分析一下MySQL是如何进行的: 1. 首先在启动Innodb存储引擎时会回滚事务系统的事务列表中未在Innodb中提交的处于 TRX_STATE_ACTIVE 状态的不完整的事务【在事务的两阶段提交过程中,xa 阅读全文
posted @ 2022-04-13 11:59 卷毛狒狒 阅读(737) 评论(0) 推荐(0) 编辑
摘要:Innodb启动过程如下: 1. 初始化innobase_hton,它是一个handlerton类型的指针,以便在server层能够调用存储引擎的接口。 2. Innodb相关参数的检车和初始化,包括系统表空间,临时表空间,undo表空间,redo文件,doublewrite文件等。 3. inno 阅读全文
posted @ 2022-04-13 10:25 卷毛狒狒 阅读(1054) 评论(0) 推荐(0) 编辑
摘要:mysqld_main() 函数中,init_server_components() 函数负责MySQL核心模块的启动,包括mdl系统,Innodb存储引擎的启动等等: 1. mdl子系统初始化。 2. 初始化 table definition cache 和 hostname cache hash 阅读全文
posted @ 2022-04-07 14:17 卷毛狒狒 阅读(531) 评论(0) 推荐(0) 编辑
摘要:MySQL启动流程如下: 1. 设置进程名 2. 处理配置文件及启动参数以及部分模块初始化,这包括: 2.1 从配置文件中读取选项,把他们放在 argc 和 argv 已有的参数之前 2.2 处理标记为 early 的命令行选项,这其中包括:performance_schema,--help相关,b 阅读全文
posted @ 2022-04-07 14:17 卷毛狒狒 阅读(1636) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示