Friday, June 6, 2025

Tag Archives: MySQL

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 »

如何更改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 »

Webmin/Virtualmin使用技巧

Webmin/Virtualmin使用技巧

如何修改Webmin默认管理端口10000

如上图,依次点开 Webmin–>Webmin配置–>端口与地址,可以看到Webmin默认的后台管理端口10000,将其修改成想要的端口即可。

如何开通普通虚拟主机账号

使用Webmin新建一个虚拟主机比较简单,不过在进行管理的时候不可能让每个网站管理者都拥有服务器root权限,这时就需要启用Webmin账号管理功能了。

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 »

Server服务器端常用软件

一、Web服务器

1.Apache
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
官方网站:https://www.apache.org/

2.Nginx
Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用。 其特点是占有内存少,并发能力强。
官方网站:http://nginx.org/

Read More »

Linux下MySQL/MariaDB数据库的备份与恢复

MySQL数据库的备份,最常用的是phpmyadmin、帝国备份王之类的工具,但是如果备份时提示内存超限的话,可以使用下面的方法。

一、通过MySQL/MariaDB自身提供的功能

导出数据库要用到MySQL/MariaDB的mysqldump工具,基本用法是:
shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出。

1.导出数据库
命令:
mysqldump -u 用户名 -p 数据库 > 数据库.sql
示例:
mysqldump -u root -p db1 > db1.sql (将数据库db1备份到db1.sql<可以改成你想要放入的目录中>中)
提示输入密码,完成即可。

Read More »

Linux VPS如何查看Inodes数目

通俗的说:VPS上的 Inodes 数目表示此vps最大许可可存在的文件数目。

为了不影响整个服务器的性能,每个Linux VPS的Inodes数目通常都有限制,Linux VPS如何查看Inodes数目?

命令:df -i

可以方便的查看Inodes数目和空余数,一个Inodes数对应一个文件,IFree就代表还能打开的文件数,文件数上限并不针对当前的目录,而是针对整个系统。

Inodes数目超出有什么影响?

在linux vps上,Inodes数目超出,即使你的空间还剩余很多,也会无法创建新的文件,会出现 Disk quota exceeded 的错误。而且整个系统都将面临大范围的故障,如mysql启动不了,apache启动不了等等。
对于国内的一些生成静态页的CMS系统来说,静态页数目过多(例如VPS总文件数超过40万),就需要申请提高 Inodes数目了。

Read More »