Чрезвычайно простой вопрос, но я пытаюсь понять это:
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 показывает огромную путаницу по этому поводу. Если бы был какой-то способ отделить действительную причину, это было бы действительно полезно.