“建立数据库连接时出错”问题

现状:
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服务当前状态

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

鄂ICP备号2023007360