Возможно ли, что MariaDB кэширует хост в зависимости от пользователя и пароля?

У меня странная проблема с моей MariaDB в моем приложении.

я использую Библиотека Prisma NodeJS для подключения к MariaDB.

Проблема выглядит так:

У меня есть локальный хост и удаленный сервер с одинаковой комбинацией имени пользователя/пароля/базы данных (чтобы мне было проще и не нужно было менять конфигурацию)

  1. У меня есть строка URL с пользователем, паролем, хостом и базой данных
  2. Когда я меняю хост на свой удаленный сервер, он все равно читает базу данных localhost.
  3. Если я меняю пароль локально (мой CLI), он читает удаленный сервер
  4. То же самое, если я изменю пароль на сервере и обновлю строку URL

Возможно ли, что MariaDB сохраняет пользователя/пароль/базу данных в каком-то кеше и берет хост на основе этого кеша?

Я использую Fedora GNU/Linux 37 и MariaDB 10.5.18.

Является ли это ошибкой в ​​​​MariaDB, я должен сообщить об этом где-нибудь?

Я спрашивал об этом на Prisma страница обсуждения на GitHub

РЕДАКТИРОВАТЬ:
Это мои строки URL:

  1. DATABASE_URL="mysql://10669_koduj_quiz:<PASSWD>@localhost:3306/10669_koduj_quiz"
  2. DATABASE_URL="mysql://10669_koduj_quiz:<PASSWD>@jcubic.atthost24.pl:3306/10669_koduj_quiz"

ПРИМЕЧАНИЕ: Из моих экспериментов очевидно, что URL-адрес кэшируется, но я не уверен, кто за это отвечает. Пакет MariaDB, Prisma, библиотека NPM, которая используется для подключения к MySQL, или, может быть, в моей системе есть какая-то общая библиотека, которая используется библиотекой NodeJS.

кубический

1 ответ
1

MariaDB не кэширует подключения к хосту. Однако уже открытое соединение оставаться открытым и работать, если информация о хосте (или пользователе, или пароле) изменяется, но соединение не разрывается. Это означает, что если у вас есть открытое соединение и вы меняете хост/пользователя/пароль, не прерывая это соединение, оно остается активным, и вы можете использовать его для запроса/обновления вашей БД.

Другими словами, информация о хосте/пользователе/пароле проверяется при установлении соединения. нет во время запроса.

Таким образом, возможно, что используемая структура/библиотека не закрывает ваше соединение (т. е. реализует форму пула соединений и/или другие оптимизации).

шоданшок

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *