MariaDB 从 10.5 升级到 10.6:mysqli::real_connect(): (HY000/2002): No such file or directory
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 实例 运行。
我无法遵循 official upgrade documentation 因为安装是通过官方 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
选择正在卸载 10.5 软件包的解决方案 1(出现提示时)
使用 systemctl start mariadb
启动 mariadb
服务。
然后我使用 mariadb --version
获得正确的版本。
我现在可以使用 mariadb -u root -p
在本地连接到 mariadb 并列出我的数据库。
问题是:
- 我无法连接到 phpMyAdmin。连接页面加载正确,但我收到以下错误消息:
mysqli::real_connect(): (HY000/2002): No such file or directory
- 我的应用程序无法运行。似乎连接到 MariaDB 服务时出现问题。 GLPI 示例:
PHP Warning: mysqli::real_connect(): (HY000/2002): No such file or directory in /var/www/glpi/src/DBmysql.php on line 248
A link to the SQL server could not be established. Please check your configuration.
重新安装 MariaDB 时出现问题,我找不到哪里...
编辑:
这里有一些额外的信息,基于@Georg Richter 的建议(见答案)。
您系统上的 PHP 似乎没有正确配置,因为缺少 unix 套接字导致连接尝试失败。
检查 unix_socket 的位置,例如使用命令行客户端:
MariaDB [(none)]> \s
--------------
<snip>
UNIX socket: /tmp/mysql.sock
<snap>
现在确保 mysqli 的 PHP 设置具有相同的设置,例如与
php -i | grep socket
或检查您的 php 配置文件。
我在 OpenSUSE Leap 15.3 服务器 (PHP 7.4.6) 上有一个 MariaDB 10.5 实例 运行。
我无法遵循 official upgrade documentation 因为安装是通过官方 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
选择正在卸载 10.5 软件包的解决方案 1(出现提示时)
使用
systemctl start mariadb
启动mariadb
服务。
然后我使用 mariadb --version
获得正确的版本。
我现在可以使用 mariadb -u root -p
在本地连接到 mariadb 并列出我的数据库。
问题是:
- 我无法连接到 phpMyAdmin。连接页面加载正确,但我收到以下错误消息:
mysqli::real_connect(): (HY000/2002): No such file or directory
- 我的应用程序无法运行。似乎连接到 MariaDB 服务时出现问题。 GLPI 示例:
PHP Warning: mysqli::real_connect(): (HY000/2002): No such file or directory in /var/www/glpi/src/DBmysql.php on line 248 A link to the SQL server could not be established. Please check your configuration.
重新安装 MariaDB 时出现问题,我找不到哪里...
编辑:
这里有一些额外的信息,基于@Georg Richter 的建议(见答案)。
您系统上的 PHP 似乎没有正确配置,因为缺少 unix 套接字导致连接尝试失败。
检查 unix_socket 的位置,例如使用命令行客户端:
MariaDB [(none)]> \s
--------------
<snip>
UNIX socket: /tmp/mysql.sock
<snap>
现在确保 mysqli 的 PHP 设置具有相同的设置,例如与
php -i | grep socket
或检查您的 php 配置文件。