服务器突然无法连接数据库,并且管理面板显示空白,重启服务器之后各种服务均无法正常启动。于是开始对服务器进行手动启动,并对启动过程中遇到到的问题进行排查。下面是对排查过程中遇到问题的一些记录。
1. 重启服务器后各种服务均不能正常启动,造成原因:磁盘已满
解决办法:
A - 增加磁盘。
B - 删除缓存或者备份文件。
以下问题是排查过程中用到的,本次问题其实由于磁盘已满造成的,当时并没有查询磁盘空间,因此浪费了很多时间
2. 解决数据库 MySQL manager or server PID file could not be found! 的方法
[root@centos var]# service mysqld stop
MySQL manager or server PID file could not be found! [FAILED]
解决办法:
首先查看一下进程
[root@centos mysql]# ps aux |grep mysq*
root 2643 0.0 0.2 4536 1224 ? S 01:09 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/var --pid-file=/usr/local/mysql/var/centos.pid
mysql 2757 0.0 1.2 36976 6608 ? Sl 01:09 0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql --log-error=/usr/local/mysql/var/centos.err --pid-file=/usr/local/mysql/var/centos.pid --socket=/tmp/mysql.sock
--port=3306
root 4788 0.0 0.1 3920 684 pts/2 R+ 11:11 0:00 grep mysq*
如果看到上面的内容,那说明,Mysql的进程卡死了,这时用就要把这些卡死的进程都关闭
[root@centos mysql]# kill 2643
[root@centos mysql]# kill 2757
启动Mysql 就ok了
[root@centos mysql]# service mysqld start
Starting MySQL.
如果不能kill掉进程,可以采用强制kill
#kill -s 9 1827
3. 解决:无法连接mysql,请检查mysql是否已启动
1)检查3306端口问题
用netstat -lnpt命令检查3306端口是否在运行。
2)重置my.cnf文件
sed -i 's/skip-innodb/#skip-innodb/g' /www/wdlinux/etc/my.cnf
再service mysqld restart
3)修改my.cnf文件
wdcp-unlink-mysql-2
在mysqld下面添加了一行user=root,强制启动3306,然后再重启MYSQ
---------------------------------------
用到的命令:
查看端口 netstat -lnpt
重启mysql service mysqld restart
service nginxd restart
service httpd restart
service wdapache restart
------------------------
安全维护建议
1 WDCP 可以设置访问域名。比如设置 一个很长的二级域名,只有自己知道,这样黑客就无法访问了。
更厉害点,这个域名不设置解析,自己修改本地电脑的HOSTS文件,强制指向访问,这样只有自己可以访问了。wdcp后台访问安全设置即限制域名/IP访问设置及清除方法
wdcp安全设置,让你的后台,只有你自己能访问
2 平时关闭 wdcp服务,需要使用时,临时开启。 不影响WEB服务的运行。
关闭服务和禁止开机启动 /etc/init.d/wdapache stop && chkconfig --level 345 wdapache off
/etc/init.d/wdapache start 开启服务