Plesk Server DB 查询失败:SQLSTATE[HY000] [2002] 没有这样的文件或目录

问题描述 投票:0回答:4

所以我刚刚遇到了我的 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 会显示域的错误页面,而不是浏览器显示连接问题。

去检查数据库状态:

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

命令行变得没有响应,我必须在一段时间后停止它......所以是时候进入一些深入思考和谷歌搜索模式了。

我最终无意中找到了解决方案,它就在这篇文章的下面。

mysql mariadb plesk ubuntu-20.04
4个回答
1
投票

现在合乎逻辑的事情是检查数据库到底发生了什么,由于明显的原因套接字不存在,并且数据库也没有显示在 Plesk 上。

我不知道发生了什么,但我继续尝试重新安装数据库,所以我这样做了

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

没有错误,看起来不错。尝试重新启动数据库服务:

service mariadb restart

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

我确实再次遇到了问题,但运行

plesk repair all -y
解决了这些问题。

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


1
投票

另一个解决方案是:

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

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


0
投票

你可以试试

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

您进行备份,以防它要求您提供文件并且它不会自动重建它,否则您将不会使用它,备份是newtmp,如果tmp只是一个文件夹(如果它是一个分区,则它是另一个分区),则此方法有效程序

重新启动系统 plesk

reboot

就是全部


0
投票

就我而言,发行版升级后(Debian 11 到 12 以及 MariaDB 11.4),有两个问题需要解决:

  1. MariaDB 被“禁用”(作为服务)并停止
  2. PSA(plesk 进程)崩溃了

修复:

systemctl enable mariadb
systemctl restart psa

供您参考,启用 mariadb 也会启动该过程,但如果您有疑问,您当然可以使用以下方法轻松检查:

systemctl status mariadb
© www.soinside.com 2019 - 2024. All rights reserved.