|
如果这个服务器上的网站永远都只有一个用户在访问,mysql还会自动关闭吗?我认为不会,这一个用户任他随意折腾(恶意攻击除外)想来mysql也不会自动关闭。如此说来那么mysql关闭的原因肯定就是程序给它的压力超过它的承受限度了。那么就增加mysql的承受能力,但是承受能力总有个限度,关键是要优化程序,减少程序给mysql的压力。
1,首先将mysql换了个版本mysql4.1.22,软件的较新版本的一般没有老版本的稳定。
2,(这一步主要是对mysql进行设置,使它更适合用作服务器)安装好之后,在配置的时候进行到如下图这一步时:
选择“server machine”,如果你以前选的就是这个选项可以无视这一步,还有后面的这一步:
这里是设置连接数的,默认的太小,可以适当调大。
进行完1,2步之后,发现当用户数量较多时服务器的cpu使用率会经常保持在在80~90%之间,居高不下,查看任务管理器发现mysql进程占了50%还多,看来前面猜的没错,mysql是因为压力太大才自动关闭的。
这个肯定是程序写得有问题了。查找程序、调试,确定没问题之后更新服务器上的程序,现在服务器的cpu使用率低很多了,而且不会持续性的高,就算达到了90%但是最多不超过2秒占用率马上就下来了。目前为止mysql运行一切正常。
环境:操作系统windows 2003,mysql5.0.27
最近2个服务器上mysql总是自动关闭,用事件查看器在“应用程序”项里会看到“forcing close of thread * user:'root'”的警告,在系统项里会看到代号为“7034”的错误提示“服务 MYSQL 意外停止。这发生了 1 次。”
怎么改都不行,严重影响使用。
其中一台服务器上装有卡巴斯基,另一台服务器上装有360安全卫士。
对卡巴斯基的蛮横霸道早有耳闻后来怀疑是不是它的问题,就把他卸载了,观察了一周后再也没出过这个情况。
对360倒是没有提防,而且这个服务器访问量较大就怀疑是程序的问题,可是怎么修改程序也还是照样意外关闭,几近崩溃的情况下到csdn求助,有人问是不是装有360,说这个有可能引起mysql自动关闭。马上把360安全卫士卸载,现在已经观察了两天没有再发生mysql自动关闭的情况(之前一天能自动关闭好几次),估计就是360的原因了。
安全软件还是装比较正规的吧,像这种杂七杂八的最好别装。
-----20080523下午更新
崩溃了装360哪个机器下午mysql又自动关闭了,没办法改成服务停止之后立即自动重启动:
开始菜单-运行-services.msc
找到mysql的服务并双击
点击恢复选项卡
第一次失败:默认是“不操作”,改成"重新启动服务"。
在下方的“重新启动服务:___分钟后”添上“0”表示如果服务意外终止则立即重启动。
点击确定使设置生效。
这时候你在任务管理器里结束mysql-nt进程,会发现结束不掉。 |
|