系统相关

MySQL优化纪录

优化纪录

20200304第一次

20200312第二次

20200304第一次

新的ECS型号如下

弄这个ECS纯属是个人的爱好,折腾一下代码,网站的访问量也不大,所以原来单独购买的mysql就没有继续付费,而是在新的ECS中安装了MySQL,最近每隔一段时间,网站就会出现连接数据库失败。不用多想指定是MySQL挂了,重启服务,网站就能正常访问了,这种问题在我最早接触LNMP环境的时候就出现过,一直没有解决,所以才购买单独的MySQL。虽然对MySQL服务不是很了解,但是这次想尝试解决一下。

以下方法作为纪录,在后续运行中观察效果

第一步查看MySQL的日志,oneinstack的MySQL日志路径 data/mysql/mysql-error.log。其他的系统可以用下面命令

我查询了一下我的mysql错误日志

查看错误日志,百度一大圈,貌似主要的原因就是内存(暂且按这方面的问题去解决)

第二步修改MySQL的配置文件,文件位置etc/my.cnf。服务器内存是4GB的,用命令查询了一下,结果3995,接近4GB

my.cnf配置文件

这里给innodb_buffer_pool_size分配了1024,占据内存的四分之一,难道这个数值有些大了,百度一番这个值默认是128MB,可以根据自己服务器的配置调整,既然这样,暂且调到128MB,运行一段时间,看看是否还会出现数据库down掉的情况。

从网站迁移过来到现在数据库down掉大约4次了,基本上每周一次,这次调整,先看看情况,如果下周还出现问题,继续下调这个值,到64MB试试看,如果两周不出现问题上调到256MB试试看。

20200312第二次

中午打开网站的时候,又一次出现了“链接数据库错误”,重启服务器后访问正常,难道是上次的优化不管作用。继续查看日志,如下:

上次基本上把日志都清理了,这次就看的比较明显了。(从日志上看貌似服务器的时间好像有点不对,稍后调整一下)。日志少了,也就好分析了。对于这方面算是个小白,把各条错误送给百度。errno12的找到的结果和上次的解决方案差不多,搜了一下其他的错误,总结了一下内存不足是主要原因。按照网上的方法重新设置了一下,具体设置步骤如下:

尝试 增加swap交换空间解决问题:

增加完成后重新启动MYSQL,顺便查一下swap是否添加成功

本次操作my.cnf暂时不做调整,下次出现问题时同时调整以下参数

一个爱好写代码的金融从业者

写一个评论