MySQL 服务器关闭过程

MySQL 服务器关闭过程

  1. 关闭过程将启动

  2. 如果需要,创建一个关闭线程

    • 如果是客户端发起的关闭请求,会创建一个关闭线程

    • 如果关闭是因为收到 SIGTERM 信号,则信号线程可能会自行处理关闭,也可能会创建一个单独的线程来执行关闭操作

  3. 服务器停止接收新的连接

  4. 服务器终止当前活动

    • 断开连接并中止线程

    • 对于事务性表,未提交的事务,回滚

    • 对于非事务性表,update/insert 可能导致部分更新

    • 对于主从复制的从节点,会停止 I/O 和 SQL 线程。

      • 为确保从节点崩溃安全,必须开启 –relay-log-recovery
  5. 服务器关闭或关闭存储引擎
    • 服务器刷新表缓存并关闭所有打开的表

    • InnoDB 将其缓冲池刷新到磁盘 (除非 innodb_fast_shutdown=2),将当前 LSN 写入表空间,并终止其自己的内部线程。

    • MyISAM 刷新表的所有未决索引写入

  6. 服务器停止

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注