阿里云数据库连接错误解决办法
hgwork 发布于:2017-12-11 8:50 分类:精彩分享
如偶尔遇到 ,重启即可,这种问题是由于内存不足,导致mysql停止服务导致的。
最近我的网站频繁出现建立数据库连接时错误的毛病,一开始没觉得自己的小网站没什么流量不会被攻击,直接重启ECS了事,后来不胜其烦,决定斩草除根。
之前跟wp博主-蛋蛋同志共同解决过这种问题,所以这次就比较得心应手。比较干脆的做法是,删除www/phpwind目录下面的xmlrpc.php文件,然后重启一下ECS,完美!详情请移步->http://www.luoxiao123.cn/1443-2.html 这篇文章是15年写的,对于现在的wp版本来说直接删掉并不碍事,因为这个文件已经没有用了。
以下是之前解决这个问题时的探索过程:(转自www.antdlx.com)
前言:
在2.17日早上登录自己的网站的时候发现打不开了,只留下一个“服务器连接错误”的提示,于是就开始了漫长的修复网站的过程。走了很多弯路导致2天才修好,在这里给大家说一下,帮助同样处境的人少走些弯路。在网站出了问题之后我首先打开了阿里云的控制台,然后重启了服务器,通常情况下这样做就可以了,但是这次不行。由于对Ubuntu和网站建设不熟悉,所以只能 盲目的初始化系统,每次初始化+ 恢复环境差不多要90分钟,很耗费时间和精力,还没有什么预期的效果。 所以给大家的建议就是遇到问题分析问题,恢复系统实乃下下之策。
一、特征
我的网站的特征就是每次重启之后,没过多久就会非常的卡顿,爆内存,然后mysql服务因为没有内存而被kill无法打开。
二、备份和恢复
网站遇到问题之后最先想到的就应该是数据备份。如果平常有备份的习惯那便是极好的。在mysql服务可以开启的情况下我们可以正常的备份(不知道怎么备份请自行查阅相关资料,主要就是wordpress里面工具->导出和数据库的导出)。刚刚也说过了,我的服务器重启不到半分钟mysql就因为爆内存而死掉了,在mysql无法开启的情况下如何备份呢?通过data文件夹!
2.1、首先一定要确保mysql服务处于关闭状态。不放心可以在xshell中手动输入
2.2、找到data目录并通过ftp工具下载到本机进行储存备份。data通常就在mysql的安装目录。我的目录是“/alidata/server/mysql-5.6.21/data”。将整个data复制即可
2.3、然后把www文件夹下的wordpress相关代码全部复制到本地进行备份
ps:数据恢复:找到恢复后的系统的data文件夹,将你需要恢复的数据库和“ibdata1”文件覆盖即可
如上图,加入我要恢复之前的test数据库,那么只需要将test和ibdata1覆盖到现在的目录下即可。但是在执行这些操作前先备份现在系统的test(没有就算了)和ibdata1,防止发生意外
wordpress的恢复更简单,直接把刚刚保存下的代码重新恢复到www目录下即可
三、查出问题
在重装系统后情况并没有改善,于是我只能开始手动查找问题
首先要传授一点人生的经验:
阿里云ECS,Ubuntu系统,1G内存,20G磁盘,承受一个wordpress(访问量不是很大的话)是没有问题的,正常运行内存大约900M左右,如果你开了swap就更没问题了。
先看log,不要盲目的去修改mysql、Apache或者其他的什么配置文件以试图降低他们的内存。
3.1、首先查看当前系统的内存使用情况
发现真的是爆内存了。。。
ps:这里的swap可以理解成虚拟内存。默认是没有的,可以自行搜索资料建立合适的大小。swap添加教程
3.2、使用top指令查看到底是什么占用了这么多的内存
被无休止的httpd爆了内存。每一个请求都对应着一个httpd,httpd又跟Apache有关。那么接下来当然是要看log
3.3、找到Apache的log,我的在“/alidata/log/httpd”,我打开里面的“phpwind.log”,可以看到下图所示的东西
可以看到,全部都是185.130.5.209或者247通过xmlrpc.php发来的post请求。那么xmlrpc.php是什么呢?是wordpress自带的一个文件,这个文件带有接口漏洞,可以给黑客提供暴力破解wordpress密码的操作漏洞。
那现在就基本明白了,大致就是ip为185.130.5.209和247的人通过那个漏洞暴力破解我的密码,导致了大量并发http请求,产生大量httpd,导致系统内存耗尽宕机。
四、解决方案
4.1、为了应急,我们可以简单的领Apache拒绝那两个ip的访问,使用iptables即可。使用xshell输入:
xxx替换成相应的ip即可。然后重启httpd服务
4.2、 为了安全起见,我们可以删除掉“xmlrpc.php”或者下载相应的安全插件
4.3、安装云锁。去官网下载云锁,一个windows本地版一个linux版本,linux版本解压,使用ftp工具上传到服务器上安装即可,windows本地版直接安装即可。增加服务器安全性
五、恢复
mysql和wordpress的恢复在前面已经说到了。
这时我们再来看一下正常的系统
这才是正常的。
- 2022年10月(1)
- 2022年4月(2)
- 2022年3月(1)
- 2020年10月(4)
- 2020年9月(1)
- 2020年7月(1)
- 2020年4月(1)
- 2020年1月(2)
- 2019年12月(2)
- 2019年11月(4)
- 2019年9月(1)
- 2019年8月(1)
- 2019年7月(1)
- 2019年1月(2)
- 2018年2月(2)
- 2018年1月(4)
- 2017年12月(4)
- 2017年11月(1)
- 2016年3月(1)
- 2014年6月(1)
- 2014年4月(1)
- 2014年3月(4)
- 2014年1月(1)
- 2013年12月(5)
- 2013年11月(2)
- 2013年10月(5)
- 2013年9月(6)
- 2013年8月(3)
- 2013年7月(1)
- 2013年6月(2)
- 2013年5月(8)
- 2013年3月(7)
- 2013年2月(4)
- 2013年1月(30)
- 2012年12月(8)
- 竟然一直都是无风扇状态在工作,,委屈了,我的电脑。
2020-07-25 20:20
- 我开始怀疑我是不是适合现在的行业,
2020-07-04 20:42
- See you around Fiona!
2019-03-13 14:24
- https://www.clixsense.com/?11961332
2017-11-12 13:37
- 有些东西是躲不过的,为什么一直不承认呢
2016-04-15 18:53

发表评论: