今天一个客户用的是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密码"重置密码的。