Невозможно подключиться к моему MYSQL Azure из моего веб-приложения - 1045, "Доступ запрещен для пользователя" dbadmin'@'xx.xx.xx.x "(с использованием пароля: ДА)

Я продолжаю получать следующую ошибку в моем веб-приложении

OperationalError: (_mysql_exceptions.OperationalError) (1045, "Access denied for user 'dbadmin'@'xx.xx.xx.x' (using password: YES)")

MySQL Azure:

  • Размещено в регионе> Центральная Франция
  • Разрешенный доступ к службам Azure
  • Создано через портал Azure с именем пользователя "dbadmin" и сервером "jetbase"

SQLAlchemy db_uri выглядит так

mysql://dbadmin@jetbase:'mysecretpassword'@jetbase.mysql.database.azure.com:3306/jetdb

Веб-приложение:

Размещенный во французском Центральном также

Тот же образ докера, когда он запускается локально на моем компьютере разработчика, может обращаться к базе данных (я вручную добавил ip в IP-адреса клиента в разделе "Безопасность").

Может кто-нибудь помочь мне отладить это?

2 ответа

Вот странная вещь, у моего пароля был восклицательный знак '!' и оказывается, что он не был проанализирован должным образом, и я продолжал получать сообщение об ошибке "Доступ запрещен для user@XX.XX.XX.XX (Пароль = да)

Я переключил его на "*", и теперь он работает нормально.

Мне также пришлось удалить одинарные кавычки вокруг пароля из db_uri

mysql://dbadmin@jetbase:mysecretpasswordwithoutquotes@jetbase.mysql.database.azure.com:3306/jetdb

Ps: Странно то, что тот же самый док-контейнер при локальном запуске на моем компьютере с паролем, содержащим!, Работает нормально. он также работает на рабочем столе MySQL, но не работает со службами приложений (webapp) в Azure. Я предполагаю, что службы приложений Azure кодируют db_uri и портят "!" в пароле

Я могу дать 2 идеи, с предоставленной информацией:

  • кодирование URL базы данных в вашем клиенте веб-приложения. У нас аналогичный синтаксис URL БД (с "@" в имени пользователя) для наших экземпляров PG. На наших серверах мы заменили его на "%40", чтобы оно работало.
  • учетная запись dbadmin не разрешена с вашего IP веб-сервера (возможно, IP-адрес не является статичным, может быть, это не тот, о котором вы думаете, это действительно зависит от хостинга вашего веб-приложения). Я полагаю, вы уже дважды это проверили.

Мы можем попробовать отладку вместе, если вы хотите на StationF

Другие вопросы по тегам