Heroku. MariaDB. пользователю отказано в доступе - PullRequest
0 голосов
/ 19 марта 2020

Я создаю новое приложение на Heroku. Установленная надстройка "JawsDB Maria" успешно - я могу открыть панель инструментов

В PHP при подключении к БД я получаю ошибка:

SQLSTATE [HY000] [1044] Доступ запрещен для пользователя 'vcgu1h273742rn5l' @ '%' к базе данных 'jeyx2j66ipgtqe11'

Я уверен, что проблема не в PHP, потому что ту же ошибку я получаю даже на инструментальной панели MariaDB при попытке Создать новый элемент данных - https://prnt.sc/rj4dr4.

Похоже на решение для GRANT ALL PRIVILEGES для пользователя. Но с помощью панели управления я не могу выполнить даже SHOW GRANTS.

Вопросы:

  1. Может кто-нибудь помочь решить эту проблему?
  2. Или, по крайней мере, каким образом я могу GRANT ALL PRIVILEGES?

Я пытался:

  • читать документы Heroku: JawsDB MySQL, PHP + DB
  • ищет похожие проблемы в поддержке Heroku, Google, SO:
    • the лучшее совпадение, которое я нашел здесь . Но heroku pg:psql - это инструмент только для PostgreSQL.
  • пытался найти полезную команду для моего случая в Команды CLI Heroku

Дополнительная информация - Я уверен, что это не важно, но на всякий случай это :

Ответы [ 2 ]

0 голосов
/ 20 марта 2020

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

Затем я переустановил это дополнение . И теперь все работает отлично! Итак, это была какая-то ошибка "JawsDB Maria".

0 голосов
/ 19 марта 2020

Вы, наверное, знаете, как прочитать сообщение об ошибке. Во всяком случае, моя сверхдержава объясняет очевидное. Итак, ... здесь.

SQLSTATE [HY000] [1044] Доступ запрещен для пользователя 'vcgu1h273742rn5l' @ '%' к базе данных 'jeyx2j66ipgtqe11'

Сообщает ваша php программа не смогла добраться до сервера MySQL. Эта операция идет в эти шаги.

  1. Установите сетевое соединение TCP / IP с сервером. УСПЕХ.

  2. Укажите имя пользователя и пароль на сервере. УСПЕХ.

  3. Но сервер отклонил эти учетные данные. FAILURE

  4. Доступ к схеме базы данных, указанной в запросе на подключение. Еще не пытались. Таким образом, у нас нет информации о том, существует ли именованная база данных.

Успех шага 1 означает, что нет проблем с межсетевым экраном или сетевой маршрутизацией. Это хорошо.

Успех шага 2 дает нам еще большую уверенность в отношении проблем с брандмауэром.

Сбой шага 3 говорит о том, что мы не используем имя пользователя и пароль, которые MySQL сервер знает о.

Шаг 4 не завершен. Таким образом, даже если мы исправим проблемы с именем пользователя и паролем, у нас все еще может возникнуть другая проблема, прежде чем этот беспорядок будет позади.

Heroku назначает эти имена пользователей своим клиентам. Итак, проверьте соответствующую панель управления Heroku, чтобы увидеть, используете ли вы правильное имя пользователя / пароль. В вашем сообщении об ошибке говорится, что у вас неправильные учетные данные.

Следующий шаг? Обратитесь за помощью к вашему поставщику. Брюс Шнайер читает это? Может быть, он может починить это для тебя из своих наушников, пока едет в метро. Но никто из нас здесь, на SO, не может это исправить.

...