MGR插件初始化过程分析

  • 时间:
  • 浏览:0

这每种分为如下几种清况 ,在semisync插件中这每种应用的统统 ,怎么让在group_replication插件中,这每种基本没人使用,也怎么让回调函数不做操作。不能group_replication_reset_master_logs,设置了4个内部的变量known_server_reset;

group_replication中涉及到如下系统进程

server state observer主要用于实现,在数据库启动停止时的回调动作。如下:

这每种注册,用于在binlog的发送过程中进行回调

但虽然group_replication越多关心哪些操作,统统 回调函数基本直接返回。

在用户链接时,前要做如下操作, 暂时没人细究,应该是在切换,因为初始化时在等待清况 的切换完成。

group_replication涉及到的条件变量有如下

负责保护force_members_running

涉及到的读写锁有如下

register_all_group_replication_psi_keys();

另外因为开启了初始化时启动mgr,则会调用启动函数

注册的目的是为了在或多或少过程中的回调。

在数据库shutdown时,前要关闭MGR插件,统统 执行函数plugin_group_replication_stop().

注册事务操作回调

所有的插件初始化都会定义如下的初始化函数,对应到group_replication插件中如下

初始化的过程如下:

事务操作的前后前要进行的回调操作,如下,主要的功能点也在这里实现。

其虽然MySQL中,不同的插件初始化过程都很之类,server 层的调用栈如下

负责保护变量group_replication_running