今天一个客户用的是Ubuntu的系统,装的是WDCP的软件,说mysql数据库启动不来。铁匠就进客户的云主机开始排查。
解决方法一:
root@ebs-39308:~# service mysqld restart
* MySQL manager or server PID file could not be found!
Starting MySQL
.. * Manager of pid-file quit without updating file.
首先先来查看一下mysql的进程号吧。
root@ebs-39308:~# ps -aux | grep mysql
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
root 1210 0.0 0.0 2240 624 ? S 10:30 0:00 /bin/sh /etc/rc2.d/S20mysqld start
root 1219 20.9 0.0 3672 2016 ? S 10:30 0:36 /bin/sh /www/wdlinux/mysql-5.1.69/bin/mysqld_safe --datadir=/www/wdlinux/mysql-5.1.69/var --pid-file=/www/wdlinux/mysql-5.1.69/var/ebs-39308.pid
root 15453 0.0 0.0 4484 836 pts/0 S+ 10:33 0:00 grep --color=auto mysql
如果看到上面的内容,那说明,Mysql的进程卡死了,这时用就要把这些卡死的进程都关闭。
root@ebs-39308:~# kill 1210
root@ebs-39308:~# kill 1219
这样一般的基本上就都可以启动mysql了。
解决方法二:
用netstat -lnpt命令检查3306端口是否在运行。
root@ebs-39308:/www/wdlinux/mysql# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 26856/mysqld
tcp 0 0 121.201.2.8:20334 0.0.0.0:* LISTEN 26869/pure-ftpd (ID
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 23694/httpd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 23647/nginx
tcp 0 0 0.0.0.0:22000 0.0.0.0:* LISTEN 851/sshd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 23660/pure-ftpd (SE
tcp 0 0 0.0.0.0:88 0.0.0.0:* LISTEN 1198/httpd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1176/exim4
tcp6 0 0 :::22000 :::* LISTEN 851/sshd
tcp6 0 0 :::21 :::* LISTEN 23660/pure-ftpd (SE
tcp6 0 0 ::1:25 :::* LISTEN 1176/exim4
重置my.cnf文件
root@ebs-39308:/www/wdlinux/mysql# sed -i 's/skip-innodb/#skip-innodb/g' /www/wdlinux/etc/my.cnf
root@ebs-39308:~# service mysqld restart
方法三:修改my.cnf文件
在mysqld下面添加了一行user=root,强制启动3306,然后我们再重启MYSQL之后是可以启动的,这样我们就可以登录WDCP面板。
最后还遇到一个小问题,面板密码都是正确的,但就是不好登录。于是就采用"WDCP管理面板忘记ROOT MYSQL密码"重置密码的。