Как подключиться к базе данных mysql, размещенной на pythonanywhere?

Я купил базовый pythonanywhere сервер за 6 долларов, который позволяет SCP и SSH подключаться к их серверам. Я развернул свое приложение flask (REST API) на сервере и настроил локальную среду (установил пакеты, настроил путь и переменные среды). Я запустил приложение, и оно выдает мне 404 page на маршруте /, что на самом деле является признаком того, что оно работает.

Однако, когда я пытаюсь выбрать маршрут, например, такой как /api/users/3, он выдает error 500 (внутренняя ошибка сервера). Я копался в некоторых log файлах на сервере и нашел один, который в основном является выходом WSGI веб-сервера, на котором размещено мое приложение flask. Он сказал, что есть проблема со связью с базой данных. Насколько я понимаю, он успешно подключился, но не смог запросить данные из таблицы:

 (1044, "Access denied for user 'secret_username'@'%' to database 'test'")

Я попытался исправить это через веб-консоль mysql, предоставив свои <secret_username>@secret_username.pythonanywhere.com все привилегии test.*, но это снова дает мне access error. Я попытался подключиться по SSH к машине, которая является хостом для сервера mysql, и попытался подключиться к нему - secret_username.mysql.pythonanywhere-services.com, но он не позволяет мне подключиться к этому серверу по ssh.

Кто-нибудь сталкивался с этой проблемой? Я почти уверен, что мое соединение настроено правильно, потому что, если бы оно не установило соединение, оно выдало бы мне ошибку доступа с сообщением «используя пароль «да». Я немного читал на форумах, они предлагают установить сервер mysql на тот же сервер, что и приложение flask, но у меня почему-то нет доступа к sude, вероятно, из-за моего дешевого плана. Есть идеи?

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
2
0
1 142
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы используете базу данных MySQL, предоставленную PythonAnywhere, с именем хоста secret_username.mysql.pythonanywhere-services.com, ваша база данных будет называться secret_username$test, а не просто test — см. страницу «Базы данных» на веб-сайте PythonAnywhere.

Спасибо за информацию. Я попробую это и дам вам знать, решит ли это мою проблему.

Dimitar 21.12.2020 14:14

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