Доступ запрещен для удаленного подключения MySql

Недавно я создал PHP API (Slim-based), чтобы позволить моему Android-приложению получать удаленный доступ к базе данных MySql.

Все в API протестировано и готово к локальному использованию, но теперь, когда я загрузил его на сервер, я продолжаю получать «Доступ запрещен для пользователя ‘user’@’box431.bluehost.com’ (используя пароль: ДА)» ошибка, где ‘user’ — мое правильное имя пользователя базы данных.

Я попытался удалить этого пользователя и создать нового, который имеет все разрешения, но безрезультатно, и учетные данные в моем конфигурационном файле — имя базы данных, имя пользователя, пароль и хост — также верны. BlueHost больше не может мне помочь, поэтому теперь я обращаюсь к SO за помощью.

Есть идеи, что еще может быть не так ?? Я действительно знаю только, как получить доступ ко всем этим утилитам через cPanel, поэтому любой совет, делающий это через это представление (или руководство, если необходимы жестко запрограммированные изменения), будет полезен.

Спасибо!

0

Решение

Как оказалось, решение было довольно простым! В моем конфигурационном файле имя хоста было установлено на фактический IP-адрес, но это должен был быть «localhost», учитывая, что веб-сервис и база данных находятся на одном сервере. Duh. Надеюсь, что эта маленькая деталь, по крайней мере, полезна для всех остальных!

1

Другие решения

Я не уверен, как добиться этого с помощью cPanel, но я думаю, что вы ошибаетесь, если пользователь mySQL не настроен для удаленного доступа. Вы можете использовать следующий синтаксис с mySQL CLI.

GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'YourPassword' WITH GRANT OPTION;

Вы должны будете следовать этому со следующим;

FLUSH PRIVILEGES;

Как Джайлс указал в своем комментарии, это не особо безопасно, вам лучше создать веб-сервис для управления базой данных.

0