Sockets 从SuSE SLES 12中的MaraiDB 10.2.29->10.3.31升级后无法连接到套接字

Sockets 从SuSE SLES 12中的MaraiDB 10.2.29->10.3.31升级后无法连接到套接字,sockets,drupal,mariadb,sles,Sockets,Drupal,Mariadb,Sles,两周前,SuSE将其针对mariaDB的SuSE Linux企业服务器SLES的软件包从10.2.29-3.22.1更新为10.2.31-3.25.1。此小更新中断了SLES 12SP4生产服务器和SLES12SP5开发服务器上的数据库连接 此更新引入了套接字连接问题:到目前为止,我在my.cnf中用 socket=/var/lib/mysql/mysql.sock用于[client]和[mysqld]组,这是SLES11上的默认位置,工作正常 更新后,这种行为发生了变化:当我的drupal p

两周前,SuSE将其针对mariaDB的SuSE Linux企业服务器SLES的软件包从10.2.29-3.22.1更新为10.2.31-3.25.1。此小更新中断了SLES 12SP4生产服务器和SLES12SP5开发服务器上的数据库连接

此更新引入了套接字连接问题:到目前为止,我在my.cnf中用 socket=/var/lib/mysql/mysql.sock用于[client]和[mysqld]组,这是SLES11上的默认位置,工作正常

更新后,这种行为发生了变化:当我的drupal php应用程序现在尝试连接到此套接字时,它们只会抛出一个异常:SQLSTATE[HY000][2006]MySQL服务器在锁中消失了,可能可用。如果我打电话 systemctl status mysql.service it my terminal它通知我mysqld[pid]:拒绝从IP连接

幸运的是,我发现我的生产机器使用默认的socket=/run/mysql/mysql.sock。我猜想新的mariaDB版本不接受符号链接,因为/var/lib/mysql位于不同的卷上,并且在我的设置中由符号链接集成

但是我的开发机器也拒绝了这个解决方案,我无法让数据库再次工作。prod和dev之间的主要区别在于,我已经将dev迁移到了servicepack5,因此我不太愿意将生产环境从SP4升级到SP5

这不是防火墙问题,因为它在关闭防火墙后不会改变 防火墙。 绑定地址=127.0.0.1,它也在drupal设置中配置为主机 我将套接字目录更改为/tmp/mysql.sock,如下所示 应该可以从任何地方访问,但没有结果。 文件权限为SRWXRWX 1 mysql 0 13。Mär 11:59 mysql.sock= netstat-ln | grep mysql返回unix 2[ACC]STREAM LISTEN 670834/tmp/mysql.sock systemctl status mysql.service返回 mariadb.service-MySQL服务器 已加载:已加载/usr/lib/systemd/system/mariadb.service;残废供应商预设:禁用 主动:自法国联邦公报2020-03-13 11:59:54 CET起主动运行;3h 2min前 主PID:12393 mysqld 状态:正在处理SQL请求。。。 任务:30个限制:512 CGroup:/system.slice/mariadb.service └─12393/usr/sbin/mysqld-defaults文件=/etc/my.cnf-user=mysql 在mariaDB变更日志中没有关于套接字处理的证据

有没有人经历过同样的问题?或者有什么办法可以解决这个问题?不幸的是,我不是数据库专家

谢谢


Rob

我找到了解决方案:MariaDB 10.2.31-3.25.1。在SLES上,开始使用配置不同的/etc/hosts.allow,这在我的开发人员上比在生产服务器上限制得多。因此,客户端无法访问数据库服务器

我想知道这种不同的行为是从哪里引入的-我在mariaDB的更改日志中没有发现任何东西