У меня странная проблема с моей MariaDB в моем приложении.
я использую Библиотека Prisma NodeJS для подключения к MariaDB.
Проблема выглядит так:
У меня есть локальный хост и удаленный сервер с одинаковой комбинацией имени пользователя/пароля/базы данных (чтобы мне было проще и не нужно было менять конфигурацию)
- У меня есть строка URL с пользователем, паролем, хостом и базой данных
- Когда я меняю хост на свой удаленный сервер, он все равно читает базу данных localhost.
- Если я меняю пароль локально (мой CLI), он читает удаленный сервер
- То же самое, если я изменю пароль на сервере и обновлю строку URL
Возможно ли, что MariaDB сохраняет пользователя/пароль/базу данных в каком-то кеше и берет хост на основе этого кеша?
Я использую Fedora GNU/Linux 37 и MariaDB 10.5.18.
Является ли это ошибкой в MariaDB, я должен сообщить об этом где-нибудь?
Я спрашивал об этом на Prisma страница обсуждения на GitHub
РЕДАКТИРОВАТЬ:
Это мои строки URL:
DATABASE_URL="mysql://10669_koduj_quiz:<PASSWD>@localhost:3306/10669_koduj_quiz"
DATABASE_URL="mysql://10669_koduj_quiz:<PASSWD>@jcubic.atthost24.pl:3306/10669_koduj_quiz"
ПРИМЕЧАНИЕ: Из моих экспериментов очевидно, что URL-адрес кэшируется, но я не уверен, кто за это отвечает. Пакет MariaDB, Prisma, библиотека NPM, которая используется для подключения к MySQL, или, может быть, в моей системе есть какая-то общая библиотека, которая используется библиотекой NodeJS.
кубический
1 ответ
MariaDB не кэширует подключения к хосту. Однако уже открытое соединение оставаться открытым и работать, если информация о хосте (или пользователе, или пароле) изменяется, но соединение не разрывается. Это означает, что если у вас есть открытое соединение и вы меняете хост/пользователя/пароль, не прерывая это соединение, оно остается активным, и вы можете использовать его для запроса/обновления вашей БД.
Другими словами, информация о хосте/пользователе/пароле проверяется при установлении соединения. нет во время запроса.
Таким образом, возможно, что используемая структура/библиотека не закрывает ваше соединение (т. е. реализует форму пула соединений и/или другие оптимизации).
шоданшок