Linuxword Global
当前位置: Linux技术 > Linux常用脚本

为什么会出现数据库连接错误

相信很多朋友都遇到过 WordPress 提示“建立数据库连接时出错”(英文:“Error establishing a database connection”)这个错误,一般遇到这个错误,基本就 2 种情况:其一,WordPress 根目录下的 wp-config.php 文件里的数据库连接信息有误;另一种情况,是 Mysql 数据库停止了。

 

第一种情况很少出现,大家遇到的基本都是第二种了,Mysql 数据库停了。下面就来说说这第二种情况出现的原因及怎么解决?

Mysql 数据库停止的原因

通常来说,正常运行的 MySQL 突然意外停止的原因,大多数是这几个:服务器空间满了,服务器被攻击了,数据库读写多了,服务器性能差了...

对于第三种情况的话,就建议大家一定要百度安装启用好 wordpress 的 Memcached 或 Redis 数据库缓存功能。如果不会启用的话,可以付费找我哈。

Mysql 数据库停止的解决方法

大多数情况下,我们都不可能知道 MySQL 数据库是否停止了,那么如何确保 MySQL 数据库停止后,及时启动 MySQL 呢?下面就来介绍解决方法。

1.宝塔面板

使用宝塔面板的话,就很简单了,前往“计划任务”菜单,“任务类型”选“shell 脚本”,“执行周期”选“N 分钟”,然后填 15 分钟,“脚本内容”内容填下面的代码(谢谢群友 @川建国 提供的脚本):

 
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
	bash /www/server/panel/script/rememory.sh
	/etc/init.d/mysqld start
fi

这样就可以每隔 15 分钟自动检测 MySQL 是否停止,停止的话就会自动启动了。PS:时间间隔 15 自行修改。

2.其他通用

如果你使用的其他面板程序的话,则可以使用下面的通用方法来解决。

2.1 制作脚本

将下面代码保存文件名为dr_check_mysql.sh,然后上传至服务器的root目录下,然后执行命令chmod +x /root/dr_check_mysql.sh赋予该脚本文件执行权限:

 
#!/bin/bash
# author: 龙笑天
# website: https://www.ilxtx.com/linux-shell-auto-restart-mysql.html

pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
	/etc/init.d/mysql start
fi

2.2 添加定时任务

用 crontab -e 命令添加一个定时任务,其中的检查时间间隔 15 分钟自行修改:

 
#auto restart mysql
*/15 * * * * /bin/bash /root/dr_check_mysql.sh

root:

sudo -i

VPS配置查看:

curl -sL yabs.sh | bash -s -- -i
wget -qO- bench.sh | bash
curl -Lso- bench.sh | bash

测速:

bash <(curl -Lso- https://git.io/superspeed.sh)
bash <(curl -Lso- http://yun.789888.xyz/speedtest.sh)

流媒体检查:

bash <(curl -L -s check.unlock.media)
bash <(curl -L -s https://raw.githubusercontent.com/lmc999/RegionRestrictionCheck/main/check.sh)
bash <(curl -sSL "https://github.com/CoiaPrant/MediaUnlock_Test/raw/main/check.sh")

BBR一键脚本

wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

 

 

回程路由:

wget https://raw.githubusercontent.com/nanqinlang-script/testrace/master/testrace.sh
bash testrace.sh
wget -qO- git.io/besttrace | bash

宝塔无需手机登录:

echo "{\"uid\":1000,\"username\":\"admin\",\"serverid\":1}" > /www/server/panel/data/userInfo.json

warp 解锁netflix:

wget -N https://cdn.jsdelivr.net/gh/kkkyg/CFwarp/CFwarp.sh && bash CFwarp.sh

 

wget https://github.com/luoxue-bot/warp_auto_change_ip/raw/main/warp_change_ip.sh && chmod +x warp_change_ip.sh && ./warp_change_ip.sh
停止warp
systemctl stop wg-quick@wgcf
启动
systemctl start wg-quick@wgcf
重启
systemctl restart wg-quick@wgcf

ubuntu 关闭防火墙

关闭ubuntu的防火墙
ufw disable
开启防火墙
ufw enable
卸载iptables
apt-get remove iptables
 
 
关闭ubuntu中的防火墙的其余命令
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

iptables转发

wget -qO natcfg.sh http://arloor.com/sh/iptablesUtils/natcfg.sh && bash natcfg.sh
wget -N --no-check-certificate https://zhujiget.com/wp-content/uploads/2020/brook-pf.sh && chmod +x brook-pf.sh && ./brook-pf.sh

服务器开启root登陆

echo root:新密码 |sudo chpasswd root
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config;
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config;
sudo service sshd restart

手动开启BBR

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
sysctl net.ipv4.tcp_available_congestion_control
lsmod | grep bbr

安装docker

安装
curl -sSL https://get.docker.com/ | sh
卸载docker
sudo apt-get remove docker docker-engine
rm -fr /var/lib/docker/

 

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2336 篇
  • 草稿数目: 12 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 6035 个
  • 注册用户: 139 人
  • 访问总量: 8,661,475 次
  • 最近更新: 2024年4月28日