现状:
1、经常出现不能访问的情况,提示”建立数据库连接时出错“。
2、重启服务器就可解决,但是之后出现的越来越频繁。
解决:
1、百度得来:修复一下wp_options,使用 网址/phpmyadmin到后台去直接修复这个表即可。
发现在出现错误时候,都不能登陆到后台。
在重启服务器后,一切恢复正常,登陆后台修复该表,之后问题依旧。
2、猜测是不是mysql数据库自身崩溃。在又一次崩溃后尝试登陆mysql失败
登陆:
mysql -u用户名 -p密码
退出:
\q
登陆失败,重启后登陆成功。猜测mysql是崩溃了。
3、继续百度,这一文章中提到,内存满了的问题。在php后台开启监控后看到,看起来1G内存几乎被耗尽,
已缓冲内存:16.5M
已用内存:595.5M
已缓存的内存:185.0M
内存空闲:194.9M
猜测是不是内存耗尽,导致的崩溃。
4、尝试限制mysql内存占用,要修改my.cnf配置文件
/etc/my.cnf
提示“Permission denied”,修改权限
chmod 777 /etc/my.cnf
继续,发现my.cnf文件和网上的不一样。卡住。
9月6日,
发现现有my.cnf文件已有的几行中有部分和网上的文件是相同的,尝试添加一些东西
innodb_buffer_pool_size=128M query_cache_size=8M tmp_table_size=32M key_buffer_size=128m
等待结果ing
9月7好,更换主题,一切正常
9月9日,有出现问题,重启,恢复,突然发现自己是mariadb的数据库之前一直当作是mysql来的,似乎是不一样的额。
登录到,mysql,提示
Warning: World-writable config file ‘/etc/my.cnf’ is ignored
百度后,是对my.cnf的权限限制太小,谁都能改,所以恢复其权限
chmod 644 /etc/my.cnf
之前my.cnf文件还有报错,似乎是my.cnf文件不完整,在文件前面添加一行[mysqld]
[mysqld]
再次登录,尝试设置innodb_buffer_pool_size的值为128M,(上文中提到的4个值的第一个)
setglobal innodb_buffer_pool_size=128M
下次尝试准备:aria_pagecache_buffer_size=2M,参照链接(还未测试)
9月19日,发现又一次出现问题,重启服务器恢复
然后谷歌依旧提示站点被入侵,发现是垃圾评论没有及时清理,修改设置到自动删除明显的垃圾评论。
清理了插件,将不必要的插件都清除了。
2018年4月26日,已经证明是mariadb服务崩溃引起的,可以靠重启mariadb服务快速解决。
systemctl restart mariadb.service
类似的还有
systemctl start mariadb.service #启动MariaDB
systemctl stop mariadb.service #停止MariaDB
systemctl restart mariadb.service #重启MariaDB
systemctl enable mariadb.service #设置开机启动
systemctl status mariadb.service#查看MariaDB服务当前状态
发表回复