MySQL服务器的关闭过程
MySQL服务器的关闭过程可以总结为以下几点:
1 初始化关闭过程
2 如果必须服务器创建一个关闭进程
3 服务器停止接受新的连接
4 服务器结束当前的活动
5 存储引擎结束或是关闭
6 服务器结束
更为详细的描述如下:
1 初始化关闭过程
可 以用几种方法来初始服务器关闭。例如,一个有着SHUTDOWN权限的用户可以执行mysqladmin shutdown命令。mysqladmin可以在MySQL支持的任何平台上运行。其他与操作系统相关的实始化方法也是可以的:在Unix系统上,当服 务器接收到一个SIGTERM信号时服务器就会结束。在Windows系统上以服务运行的服务器可以在任务管理器中结束。
2 如果必须服务器会创建一个结束进程
依 据如何初始化结束,服务器也许会创建一个进程来处理结束过程。如果结束是由客户端请求,就会创建一个结束进程。如果结束是由接收到SIGTERM信号引起 的,信号进程将会处理结束过程,或者他会创建一个单独的进程来处理。如果服务器试着创建一个结束进程但是却创建失败时,他会显示如下的错误信息:
Error: Can't create thread to kill server
3 服务器停止接受新的连接
为了避免在结束过程中新的活动,服务器停止新收新的连接。这样做的方法是结束平时监听的网络连接:TCP/IP端口,Unix套接字文件,Windows命令管道,Windows上的共享主存.
4 服务器结束当前的活动
为每一个与客户端相关的进程,到客户端的每一个连接断开并且每一个进程被标识为死亡.当进程发现他们被进行了这样的标识时就会死掉.空连接的进程会很快死掉.当前正在进行查询的进程会检查他们的状态并且过后死掉.
对于有一个开放事务的进程,事务会滚回.在这里我们要注意的是如果一个进程在更新一个非事务表,例如多行更新或是插入的操作,将会使得表部分更新,因为这样的操作会在完成之前结束.
如果这个服务器是一个主复制服务器,与当前连接的从服务器的进程也会被当作其他的客户端进程对待.也就是说,每一个进程都会被标识为死亡,当下一次检查状态时退出.
如果这个服务器是一个从复制服务器,I/O与SQL进程,如果是活动,将会在客户端进程被标识为死亡之前被停止.SQL进程会允许结束当前的语句然后退出.如果SQL进程此时正在进行事务处理,事务将会滚回.
5 存储引擎结束或是关闭
在这一步,数据表缓存将会被刷新,而所有打开的表都会被关闭.
收藏 http://www.qqread.com/mysql/z348264.html相关专题
- Windows操作系统安装 (15669篇文章)
- MySQL数据备份 (1918篇文章)
- 系统安装手册 (20918篇文章)
- MySQL (1794篇文章)
- MySQL安全 (9903篇文章)
- 城域网专题 (7840篇文章)
- 数据库安装与卸载 (10561篇文章)
- (313篇文章)
- Mysql安装与卸载 (200篇文章)
- 专访MySQL CEO:无形之手指导开源发展 (0次浏览)
- 专访MySQL CEO:MySQL与企业级应用 (0次浏览)
- 深入了解MySQL系统日常管理 (0次浏览)
- 如何保护MySQL重要数据 (0次浏览)
- 浅析MySQL数据库常用管理 (0次浏览)
- 缓存PHP页面代码 可减轻CPU和MYSQL负担 (0次浏览)
- 浅析Tomcat5配置Mysql JDBC数据库连接池 (0次浏览)
- MySQL数据库敏感数据安全保护六大措施 (0次浏览)
- apache+php+mysql+serv_u迷你傻瓜安装程序 (0次浏览)
- Oracle,SQL Server,MySQL的自增变量设置 (0次浏览)



