Thursday, April 24, 2025

Tag Archives: MariaDB

WordPress网站出现Error establishing a database connection

WordPress网站出现Error establishing a database connection(建立数据库连接时出错),查看发现Apache状态正常,而MySQL/MariaDB服务已经停止运行,重启服务器或者用service mysqld restart命令(MySQL数据库)或者systemctl restart mariadb.service命令(MariaDB数据库)可以暂时解决问题,过一段时间还会出现。

查看/etc/my.cnf,找到MySQL/MariaDB错误日志的位置(比如log-error=/var/log/mariadb/mariadb.log),查看日志,发现了很多处[ERROR] mysqld: Out of memory。

分析原因应该是Apache2在网站访问高峰时占用内存过高,MySQL/MariaDB因运行内存不足,会自动退出所致。

解决方法:
1、将Apache2换成Nginx或其他轻量级Web服务器。
2、不想更换Apache2的可以增大服务器物理内存或添加Swap交换文件。
3、不想更换Apache2也不想增加服务器物理内存,且网站访问量不大,可以尝试修改Apache2配置文件(文件路径/etc/httpd/conf/httpd.conf)。Apache2目前有三种稳定的MPM(Multi-Processing Module,多进程处理模块)模式,分别是prefork,worker和event。(查看Apache2的MPM模式,可以使用httpd -V命令。)

编辑/etc/httpd/conf/httpd.conf文件,添加下面内容:

<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 100
MaxRequestWorkers 100
MaxConnectionsPerChild 2000
</IfModule>

说明:

<IfModule mpm_prefork_module> StartServers 5 #推荐设置:小=默认 中=20~50 大=50~100 MinSpareServers 5 #推荐设置:与StartServers保持一致 MaxSpareServers 10 #推荐设置:小=20 中=30~80 大=80~120 ServerLimit 150 #推荐设置:小=500 中=500~1500 大型=1500~3000 MaxRequestWorkers 150 #推荐设置:小=500 中=500~1500 大型=1500~3000 MaxRequestsPerChild 0 #推荐设置:小=10000 中或大=10000~500000 </IfModule>

Read More »

设置Linux服务器定时重启

如果Linux服务器的内存不够大,在运行一段时间后在网络高峰期可能会出现Apache和MySQL/MariaDB等服务停止的现象,严重影响网站形象和流量。除了增加服务器物理内存和添加swap交换分区,还可以尝试通过设置在网络闲时(如深夜)定时自动重启Linux服务器来看看是否可以解决这个问题。

Read More »

网站历史

不知不觉中,我的网站已经运行了二十多年,从1999年开始建站,使用免费二级域名和免费空间,2003年开始使用国际域名qiaodahai.com和虚拟主机,2010年开始使用VPS,至今网站从未中断运行,期间历经多次改版,变化很大,网站当年的模样可以通过Archive.org的Internet Archive Wayback Machine看看。

这么多年看惯了众多个人网站的起起落落,潮起之时拥上来一大群,潮落之后未留下几个,当年友情链接的网站,现在都无法打开。回想自己建站的历程,不禁感慨万分。

Read More »

本站推荐使用的WordPress插件

本站推荐使用的WordPress插件如下:

反垃圾评论插件

1、Akismet 反垃圾评论插件

Akismet(Automattic Kismet)是应用广泛的一个垃圾留言过滤系统,其作者是大名鼎鼎的WordPress创始人Matt Mullenweg,Akismet也是WordPress默认安装的插件,其使用非常广泛,设计目标便是帮助博客网站来过滤留言spam。但是你必须到WordPress官网去免费注册个帐号,获取WordPress官网的API Key,然后把这个key输入到插件的提供的选项中才可以使用。

下载地址:https://wordpress.org/plugins/akismet/

Read More »

WordPress批量关闭和打开评论功能

  如果你不想使用Wordpress博客的评论功能,或者你的博客与网站最近被垃圾评论盯上,每天有几十个或者几百个垃圾评论,那么你不妨将你的Wordpress博客自带的评论功能暂时地停用吧。

  不过,很可惜的是Wordpress没有对已经发布文章批量关闭或批量打开评论的功能,你只能设置多少天后文章的评论自动关闭,最少可以设置为一天时间。 也就是说你可以对以前发布过的最早可以推算到昨天发布的文章的评论进行关闭, 而几个小时以前发布的文章无法执行批量关闭。

Read More »

如何更改WordPress文章中的外链图床的网址

相信很多站长都是把网站的图片放到其他免费空间或者大流量的VPS上面的(简称图床),但是如果因为某种原因,比如免费空间不能再使用了,需要修改外链图床的网址,该怎么办呢?

如果一篇一篇地去修改WordPress的文章,那样太麻烦了。简便点的方法,就是从MySQL/MariaDB下手了。MySQL/MariaDB有很多命令,其中就有批量替换内容的命令。

Read More »

修改PHP上传文件大小限制

一、限制PHP上传文件大小的因素

在用PHP进行文件上传的操作中,需要知道怎么控制上传文件大小的设置,而文件可传大小是受到多种因素制约的,现总结如下:

1、php.ini

upload_max_filesize 所上传的文件的最大大小。默认值2M。

memory_limit 本指令设定了一个脚本所能够申请到的最大内存字节数,默认值8M。如果不需要任何内存上的限制,必须将其设为 -1。如果内存不够,则可能出现错误:Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)

post_max_size 设定POST数据所允许的最大大小。此设定也影响到文件上传。要上传大文件,该值必须大于 upload_max_filesize。

Read More »

MySQL性能调优 调整max_connections参数

MySQL的max_connections参数用来设置最大连接(用户)数。每个连接MySQL的用户均算作一个连接,max_connections的默认值为100。本文将讲解此参数的详细作用与性能影响。

与max_connections有关的特性

  • MySQL无论如何都会保留一个用于管理员(SUPER)登陆的连接,用于管理员连接数据库进行维护操作,即使当前连接数已经达到了max_connections。因此MySQL的实际最大可连接数为max_connections+1;
  • 这个参数实际起作用的最大值(实际最大可连接数)为16384,即该参数最大值不能超过16384,即使超过也以16384为准;
  • 增加max_connections参数的值,不会占用太多系统资源。系统资源(CPU、内存)的占用主要取决于查询的密度、效率等;
  • 该参数设置过小的最明显特征是出现“Too many connections”错误;

调整max_connections参数的值

调整此参数的方法有几种,既可以在编译的时候设置,也可以在MySQL配置文件 my.cnf 中设置,也可以直接使用命令调整并立即生效。

1、在编译的时候设置默认最大连接数

打开MySQL的源码,进入sql目录,修改mysqld.cc文件:

{“max_connections”, OPT_MAX_CONNECTIONS,
“The number of simultaneous clients allowed.”, (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,
0},

Read More »

小内存VPS Webmin/Virtualmin优化设置

Webmin/Virtualmin模块安装时是以最大性能模式来配置的,不太适合小内存的VPS,那么只需要简单设置一下,你会发现内存占用刷的一下就下来了。

Apache内存优化

登陆WebMin,打开服务器中的Apache 服务器,选择Global configuration -> 进程和限度

Read More »

CentOS安装Virtualmin/Webmin教程

Virtualmin是基于Webmin(功能强大的基于Web的Unix系统开源管理工具)的功能强大以及灵活性强的一个虚拟主机控制面板,适用于Linux和UNIX操作系统。Virtualmin功能全面,界面友好,能管理邮箱,数据库,应用程序,甚至整个服务器。

下面的所有操作是在Linode Xen VPS主机CentOS 6.2 32bit操作系统中进行。

Read More »