MySQL的服务器关机进程教程

可以用多种方法启动服务器的关闭。例如,拥有SHUTDOWN权限的用户可以执行MySQLadmin shutdown命令。mysqladmin可以用于所有支持MySQL的平台上。其它操作系统相关的关闭开始方法还可能有:在Unix中,当接收到SIGTERM信号后,服务器关闭。对于在Windows中作

  服务器关闭进程可以概括为:

  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.服务器终止当前的活动

  对于每个与客户端连接相关的线程,与客户端的连接被中断,线程被标记为“杀掉的”。当线程注意到此类标记后则线程终止。空闲连接的线程很快终止。当前正处理查询的线程定期检查它们的状态,终止的时间较长。关于线程终止的详细信息,参见13.5.5.3节,“KILL语法”,特别是关于对MyISAM表的杀掉的REPAIR TABLE或OPTIMIZE TABLE操作。

  对于有打开事务的线程,事务被回滚。请注意如果某个线程正在更新非事务表,多行UPDATE或INSERT等操作会使表部分更新,因为操作在完成前会终止。

  如果服务器是主复制服务器,与当前连接的从服务器相关的线程的处理方式同其它客户端线程。即每个线程被标记为杀掉的,在下次检查他的状态后会退出。

  如果服务器是从复制服务器,在客户端线程标记为杀掉的之前,激活的I/O和SQL线程被停止。SQL线程允许先结束它当前的语句(以避免造成复制问题)然后停止。如果此时SQL线程正位于事务中部,事务则 回滚。

  5.存储引擎被停掉或关闭

  在该阶段,表缓存被清空,所有打开的表被关闭。

  每个存储引擎执行它管理的表需要的任何动作。例如,MyISAM清空任何挂起的表索引写操作。InnoDB将它的缓冲池清空到硬盘上(除非innodb_fast_shutdown为2),将当前的LSN写入表内,并终止自己的内部线程。

  6.服务器退出

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

魔客吧为什么打不开了?相信很多站长朋友都想知道!尤其是一些已经购买了魔客吧的会员,跟版网的小编最近看到了中国网信网在2018年10月31日发布的一条消息,具体内容如下: 原文官方地址链接: 三季度全国网信行政执法工作取得明显成效 国家发布公告关停的网
安装好wamp后,想用手机通过局域访问电脑上wamp下的网页,结果出现如下提示403错误: 第一步:找到 conf 这个文件 : 找到下图中红色方框中的onlineoffline tag - dont remove,将原来的Require local替换为Require all granted; 注意几种常用格式,自己可
2018年2月5日,晚上本来打开网盘提取一个百度文件,但是发现提取的按钮不见了,很是奇怪。 刚开始以为是网络问题,后来经过几位网友确认都是不能提取的,不知道是不是百度在做调整还是出现了bug,等待百度的回复吧。 期待不要有什么变故,毕竟百度现在已经成
前段时间跟版网的技术对网站全面部署了https,部署后发现网站原有的百度社会化分享组件不显示了。那么怎么让分享功能重新显示了?刚开始我以为把百度的链接直接改为https就能可以,事实上是不行的。百度说的是率先对全网实现了https化,但是自己的产品都不能
用织梦模板Dedecms做企业网站的后台管理系统时,经常会遇到要做客户调查表或客户留言的提交表格,有些人会去找插件或自己不懂数据库的会花钱找人写代码,其实很简单,织梦自身就带有这个功能,只是你还没有真正深入了解dedecms内涵所在。 接下来简单介绍一下
刚装的apache如果不小心有这漏洞,那么当网站访问 / cgi-bin/test-cgi 时则会泄露一些信息!! 解决方法: 删除apache安装目录cgi-bin目录下的所有文件包括test-cgi,不留后患! 比如:apahce安装在usr/loacl/apache下,则删除/usr/loacl/apache/cgi-bin/下