1问题由来

1. 问题描述

频繁出现如下现象:

(1)访问网站提示“数据库连接失败”。

(2)登录到服务器执行mysql -uroot -p也连接不上,重新启动mysql服务之后,恢复正常。

2. 问题解决

其实就是通过下文中设置apache2就可以了,但是分析过程是包括了如下两个步骤。最后在查看apacheacesslog中,发现了好多了“post xmlrpc.php“的日志,才知道了问题根源是xmlrc攻击。可以参考如下:

https://www.digitalocean.com/community/tutorials/how-to-protect-wordpress-from-xml-rpc-attacks-on-ubuntu-14-04

2 查看数据失败日志

1. 查看/var/log/mysql/error.log

2016-09-29 12:28:58 1703 [Note] InnoDB: Initializing buffer pool, size = 128.0M

InnoDB: mmap(137363456 bytes) failed; errno 12

2016-09-29 12:28:58 1703 [ERROR] InnoDB: Cannot allocate memory for the buffer pool

 

2. 解决方法

(1)在下面/etc/my.cnf文件中添加如下两行(服务器内存为2G

(2) 重启服务

(3) 查看

3. 结果

发现不起作用,过了一会,数据库又断了,此时就想看看在apach的access.log中是否有很多请求,然后发现了很多”post xmlrpc.php”的请求,见下面章节。

3 查看apache的日志

1. 查看apaceheaccess.log

1)路径

/var/log/apache2/access.log

2)日志

191.96.249.53 – – [29/Sep/2016:19:41:47 +0800] “POST /xmlrpc.php HTTP/1.0” 403 469 “-” “Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)”

191.96.249.53 – – [29/Sep/2016:19:41:47 +0800] “POST /xmlrpc.php HTTP/1.0” 403 469 “-” “Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)”

2.解决方案

1sudo vi /etc/apache2/sites-available/000-default.conf

2)重启apache

 

分类&标签