收藏本站 
广告服务 
网站地图 
>> 本频道近100000余篇各类电脑技术、网络技术、软件技术、网页及平面设计等方面的电脑教程,我们的原则:不是精华拒不收录!
先飞电脑技术网技术文章数据库开发Mysql
网络编程 | 网站建设 | 网络技术 | 设计教程 | 软件教学 | 程序开发 | 数据库开发 | 教育认证 | 硬件维护 | 媒体动画 | 机械电子 |

轻松正确掌握 MySQL服务器关机进程

[ 作者:佚名    转贴自:网络转载    阅读次数:102    更新时间:2007-10-4 13:20:00   录入:刘光勇 ]         
    服务器关闭进程可以概括为:

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.服务器退出

文章首页【加入到收藏夹】告诉好友】【打印此文】【关闭窗口
  版权声明:本站提供的“轻松正确掌握 MySQL服务器关机进程”版权归文章所有者,转载请注明出处!
 ·上一篇文章:客户端不支持鉴定协议的解决方法      ·下一篇文章:快速掌握应该如何升级 MySQL系统表
相关文章
·Excel 2007中轻松设置文本的样式[40]
·轻松掌握在SQL Server中删除群集[37]
·在Office 2007中轻松绘制斜线表头[75]
·轻松掌握什么是数据的物理(存储)结构[79]
·带你轻松接触多线索机制概念[108]
网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号 先飞电脑教程网