博客维护记录-问题1

Error establishing a database connection

问题描述

今天吓我一跳,只是为服务器换一个ssl证书,使用腾讯云托管一键部署后,然后突然发现自己的博客界面登不上了,显示数据库连接中断。

"Error establishing a database connection"

问题排查

主要是前一秒还能正常访问,这个时候我脑海中浮现了一些最坏的情况,服务器被黑了,数据库被删了………但是仔细思考之后如果前一秒还在访问后一秒就被黑会不会过于巧合,或许是其他操作导致的原因?当然我也不能完全排查被删库的情况,于是我火急火燎地登录了云服务器,先使用指令

cat ~/.bash_history

查看历史操作记录,如果是后台被黑,会不会留下删除数据库删除的指令?

image-20250825111020091

通过操作时间记录我们发现没有可疑操作,但是仍然不能排除是相关操作记录被人为删除的可能。事后证明这里我还在自己吓自己

image-20250825111135263

接下来我直接步入正题,检查数据库是否正常运行

systemctl status mysql   # Debian/Ubuntu
systemctl status mariadb # CentOS/RHEL

image-20250825111251882

果然显示这里我就松了一口气了,mysql似乎还在,只是被关闭了。

于是接下来我尝试重启数据库,输入以下指令

sudo systemctl start mysql

接着我再访问我的博客,发现可以正常访问了!!!

吓死我了www

当然虽然恢复了博客,但是我们仍然需要弄清楚发生了上面,既然数据库只是被关闭了,并没有被删除,所以我们合理怀疑是某个程序内存占用过高,系统只能把其他进程杀死了。

所以我们输入指令:查看有无系统强制kill的记录

dmesg | grep -i kill

果然我们在记录中,发现了相关结束数据库进程的指令。

image-20250825111323077

所以我们合理猜测是当时签发ssl证书的时候,后台突然新增了某些服务,导致内存超限,mysql被意外关闭。

我们不妨查看内存情况,发现我们交换部分只有1g

free -h

image-20250825111523573

这里我们不妨开大一点,执行如下指令

# 新增加 4G swap 文件
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 永久生效
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

image-20250825111541002

下次自动更新ssl证书的时候,不知道还会不会出现相同的情况,这里博客待续……….

2025.8.25

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇