Plesk Server DB query failed: SQLSTATE[HY000][2002]没有这样的文件或目



所以我刚刚遇到了我的Plesk服务器的问题,并一直试图找出它。这是在Plesk Obsidian 18.0.36服务器上,Ubuntu 20.04在MariaDB 10.3.29上运行。

错误:

DB query failed: SQLSTATE[HY000] [2002] No such file or directory

我做了大多数人会做的事:

plesk repair all -y
DB query failed: SQLSTATE[HY000] [2002] No such file or directory

同样的错误再次出现,所以我继续重新启动服务器,希望修复了数据库的问题。

没有工作,但至少Plesk会显示一个错误页面的域名,而不是浏览器说连接问题。

去检查DB状态:

systemctl status mysql
● mariadb.service - MariaDB 10.3.29 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: activating (start) since Sun 2021-07-25 01:37:23 PDT; 11min ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 1220 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 1288 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 1291 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR >
Main PID: 1397 (mysqld)
Status: "Waiting for page cleaner"
Tasks: 3 (limit: 18993)
Memory: 79.8M
CGroup: /system.slice/mariadb.service
└─1397 /usr/sbin/mysqld

它说Waiting for page cleaner非常有趣,不知道那是什么,但我相信它是由重启触发的缓冲区清理器。

我试着重新启动和停止服务:

$ systemctl restart mysql
^C
$ systemctl stop mysql
^C

命令行刚刚变得没有响应,我不得不在一段时间后停止它…所以是时候深入思考和谷歌模式了。

我最终偶然地找到了解决办法,就在这篇文章的下面。

现在合乎逻辑的事情是检查DB发生了什么,套接字没有明显的原因,并且DB也没有显示在Plesk上。

我不确定是什么进入我,但我继续尝试重新安装DB,所以我做

sudo apt-get update

我得到了一堆新的错误:

Error writing to output file - write (28: No space left on device)

我灵光一现,就这么做了

df -h

令我惊讶的是/var的体积是满的,我以为它需要一段时间才能填满,但显然,我错了。

Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/plesk-var    50G   48G     0 100% /var

增大音量

lvresize --resizefs --size 200GB /dev/plesk/var

更新了吗

sudo apt-get update

没有错误,看起来很好。试图重新启动DB服务:

service mariadb restart

一切都很好,页面正在加载,一切看起来都很好,看起来整个事情都已经修复好了。

我再次遇到问题,但运行plesk repair all -y修复它们。

只是想与任何有这个问题的人分享,也许这将有所帮助,也是一个文档,供将来参考,如果我再次遇到这个问题。

另一个解决方案是:

sudo cat /var/log/mysql/error.log

日志的最后几行将指出问题。

你可以试试

sudo mkdir newtmp
sudo cp -r /tmp /newtmp
sudo rm -rf /tmp
mkdir /tmp

你做备份,以防它问你一个文件,它不会自动重建它,否则你不会使用它,备份是newtmp,如果tmp只是一个文件夹,如果它是一个分区,这是另一个过程

重启系统

reboot

相关内容

最新更新