早晨发现mysql服务器意外停止服务,造成网站无法打开,查看mysql日志(注:该日志在msyql安装目录下data文件夹里,文件名是机器名.err,该文件可用记事本打开)发现如下问题;
120525 3:35:48 InnoDB: Starting shutdown...
120525 3:35:51 InnoDB: Shutdown completed; log sequence number 0 11838312
120525 3:35:51 [Note] D:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt: Shutdown complete
120525 4:01:57 InnoDB: Started; log sequence number 0 11838312
120525 4:01:57 [ERROR] Do you already have another mysqld server running on port: 3306 ?
120525 4:01:57 [ERROR] Aborting
经过检查发现,3点35分48秒系统进行数据库备份计划任务关闭了mysql服务,备份完成后也就是4点01分57秒mysql开始启动,[ERROR] Do you already have another mysqld server running on port: 3306 ?
该报错说明在mysql服务在关闭到重启这段时间内有其他程序占用了3306端口导致mysql服务无法启动。
找到了mysql停止的原因,下一步就是查找幕后的凶手了,到底是谁在这段时间里占用了mysql3306端口呢?下面我就详细介绍你个常用的方法。
第一种方法:
在开始菜单中单击运行输入cmd打开命令提示符窗口输入netstat -b
找到你要找的端口 localaddress 那一列就是你本机打开的端口 找到:后面是8081,3306的那行 然后记下PID那列相应的数
任务栏上点右键打开任务管理器,选“查看”--“选择列”--勾上PID(进程标识符)确定
然后单击任务管理器的进程选项卡找到PID是你刚才记下的那两个数
就能找到占用这两个端口的进程了
第二种方法:
在CMD中输入netstat -ano命令,有对应的端口好和进程ID 再运行tasklist命令
会出现ID对应的进程。查下这个进程就可以了
第三种方法:
借助其他工具软件,比如windows优化大师 里面有个叫进程管理的工具,但是一般不建议使用,服务器上为了安全起见,能不安装的软件尽量不要安装,多安一个软件就多了一分被入侵或攻击的危险,所以其他软件尽量不要安装。
原创:葫芦岛生活网站长(http://www.ihldao.com)