繁体   English   中英

MariaDB 从 10.5 升级到 10.6: mysqli::real_connect(): (HY000/2002): 没有这样的文件或目录

[英]MariaDB upgrade from 10.5 to 10.6: mysqli::real_connect(): (HY000/2002): No such file or directory

我有一个在 OpenSUSE Leap 15.3 服务器(PHP 7.4.6)上运行的 MariaDB 10.5 实例。

我无法通过官方 SLE 存储库(最后一个可用版本仍然是 10.5)而不是来自 MariaDB 的官方升级文档进行安装。 然后,这是我到目前为止所取得的成就:

  • 导入 MariaDB 存储库密钥:

rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

  • 为 10.6 版本添加 MariaDB 特定存储库:

sudo zypper addrepo --gpgcheck --refresh https://yum.mariadb.org/10.6/opensuse/15/x86_64 mariadb

  • 安装 MariaDB 10.6:

sudo zypper install MariaDB-server MariaDB-client

  • 选择解决方案 1 正在卸载 10.5 包(出现提示时)

  • 使用systemctl start mariadb启动mariadb服务。

然后我使用mariadb --version获得正确的版本。

我现在可以使用mariadb -u root -p在本地连接到 mariadb 并列出我的数据库。

问题是:

  • 我无法连接到 phpMyAdmin。 连接页面正在正确加载,但我收到以下错误消息:

mysqli::real_connect(): (HY000/2002): 没有这样的文件或目录

  • 我的应用程序不工作。 连接到 MariaDB 服务似乎有问题。 GLPI 示例:

PHP 警告:mysqli::real_connect(): (HY000/2002): No such file or directory in /var/www/glpi/src/DBmysql.php on line 248 无法建立到 SQL 服务器的链接。 请检查您的配置。

重新安装 MariaDB 时出现问题,我找不到在哪里...


编辑:

以下是基于@Georg Richter 建议的一些附加信息(请参阅答案)。

在此处输入图像描述

看起来您系统上的 PHP 配置不正确,因为连接尝试由于缺少 unix 套接字而失败。

检查 unix_socket 的位置,例如使用命令行客户端:

MariaDB [(none)]> \s
--------------
<snip>
UNIX socket:            /tmp/mysql.sock
<snap>

现在确保 mysqli 的 PHP 设置具有相同的设置,例如

php -i | grep socket

或通过检查您的 php 配置文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM