Две недели go. SuSE обновила пакеты для своего SuSE Linux Enterprise Server (SLES) для mariaDB с 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 теперь пытаются подключиться к этому сокету, они выдают только PDOException: SQLSTATE[HY000] [2006] MySQL server has gone away in lock_may_be_available() (
. Если я вызываю systemctl status mysql.service
, если это мой терминал, он сообщает мне, что mysqld[pid]: refused connect from IP
.
К счастью, я понял, что моя производственная машина работает по умолчанию socket = /run/mysql/mysql.sock
. Я полагаю, что новая версия mariaDB не принимает символические ссылки, так как /var/lib/mysql
расположен на другом томе и интегрирован с помощью символической ссылки в моей настройке.
Но моя машина разработки также отказывается от этого решения, я не могу снова заставить работать базу данных. Основное различие между prod и dev состоит в том, что я уже перенес dev на пакет обновления 5, поэтому я не решаюсь обновить производственную среду с SP4 до SP5.
- Это не проблема брандмауэра, поскольку она не меняется после отключение брандмауэра
bind-address = 127.0.0.1
, который также настроен в настройках drupal как хост - Я изменил каталог сокетов на
/tmp/mysql.sock
, так как он должен быть доступен из любого места без результата. - Права доступа к файлу
srwxrwxrwx 1 mysql 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 server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: active (running) since Fr 2020-03-13 11:59:54 CET; 3h 2min ago
Main PID: 12393 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 30 (limit: 512)
CGroup: /system.slice/mariadb.service
└─12393 /usr/sbin/mysqld --defaults-file=/etc/my.cnf --user=mysql
Есть в журнале изменений mariaDB нет доказательств чего-либо, связанного с обработкой сокетов.
Кто-нибудь испытывал такую же проблему? Или есть идеи, как я мог это исправить? К сожалению, я не эксперт по базам данных ...
Спасибо,
Роб