Чрезвычайно простой вопрос, но я пытаюсь понять это:

mysql> create database hellodb;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on hellodb to hellouser identified by '123';
Query OK, 0 rows affected (0.00 sec)

mat@admin:~$ mysql -u hellouser hellodb -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'hellouser'@'localhost' (using password: YES)

Это экземпляр Amazon EC2, поэтому есть сложности. Есть внутренний IP-адрес и внешний IP-адрес, и MySQL можно настроить только для прослушивания одного из них. Я выбрал внешний IP-адрес. Но я не думаю, что это имеет значение: вышеупомянутые команды должны работать, и я попробовал все варианты адреса хоста, которые я могу придумать (localhost, внутренний ip, внешний ip, fqdn,%).

Это Ubuntu Trusty, так что обычно это просто работа (в отличие от Debian и его стратегии разработки "по умолчанию для вашего спокойствия").

Есть ли способ отладки этих сообщений об ошибке "Отказано в доступе"? Есть ли способ отладки, если MySQL недоволен паролем, или IP-адресом, или именем пользователя, или привилегиями?

Существует бесчисленное множество возможных комбинаций, которые могут вызвать эту проблему, и поиск в Google показывает огромную путаницу по этому поводу. Если бы был какой-то способ отделить действительную причину, это было бы действительно полезно.

1 ответ1

1

Вместо этого заявления

grant all privileges on hellodb to hellouser identified by '123';

Попробуйте это ниже ->

grant all privileges on hellodb.* to 'hellouser'@'localhost' identified by '123';

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .