Невозможно подключиться к моему 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