У меня действительно странное поведение.Я настраиваю веб-сайт, где apache и mysql разделены на двух серверах.
Сервер A - это мой сервер PHP 7.2.10 RedHat 7.5.Сервер B - это мой сервер MySQL 8.0.12 RedHat 7.5.
Я пытаюсь подключиться с сервера A к серверу B через PHP.В журнале apache перечисляются следующие ошибки при подключении:
mysqli_connect(): (HY000/1045): Access denied for user XYZ
SQLException (code=1045, user=UNKNOWN)
Странная вещь, когда я подключаюсь (и закрываю подключение сразу после успешного установления) к mySQL на сервере B через cli с сервера A всеработает отлично.Не изменяя ничего в коде или конфигурации соединения, он работает как charm в PHP также до перезапуска mysql deamon на сервере B.
Таким образом, я могу исключить вероятность неправильного пользователя / пароля и брандмауэра или чего-либо, чтоможет повлиять на соединение в принципе.
Похоже, что сервер A должен установить своего рода туннель к серверу B (через cli) для проверки учетных данных пользователя, и с этого момента соединения (через PHP или cli) разрешаются, пока сервер mySQL не будетперезапустить, и он "забывает", что пользовательские данные действительны и для PHP-соединений.
Есть идеи, как решить эту проблему?Было бы здорово получить помощь по этой проблеме.
thx