В настоящее время у меня возникают проблемы с подключением к локальному серверу mysql, но мне нужна помощь в подключении к mysql из других экземпляров.
Предыстория: у меня есть java-сервис, который установлен на одном экземпляре вместе с mysql. В других экземплярах также будет эта java-служба, которая должна подключаться к mysql.
В настоящее время мое / etc / hostname показывает:
ip-xx-xx-xx-xxx
Что я должен использовать для подключения? Я попытался localhost
просто чтобы посмотреть, может ли он подключиться, а это не сработало. Я также попробовал использовать только локальный IP-адрес, и это тоже не сработало.
Если я просто попытаюсь подключиться к mysql локально, это сработает:
mysql -u root -p123
Но это не удается:
mysql -h localhost -u root -p123
(Таким образом, он терпит неудачу всякий раз, когда я добавляю переключатель -h, localhost, 127.0.0.1 или внутренние IP-адреса, все терпят неудачу с ошибкой: ОШИБКА 1045 (28000): доступ запрещен для пользователя 'myuser' @ 'localhost' (с использованием пароля: ДА )
Я попробовал только локальный IP-адрес, который не сработал, и строку «ip-xx.xx.xx.xxx», и это тоже не сработало.
Я явно что-то не так делаю, что мне делать?
Порты прослушивания (TCP) можно найти с помощью sudo netstat -tlnp
.
Причина название вместо айпи адрес EC2 обеспечивает обратный поиск DNS, и ваш IP-адрес разрешается в это имя. MySQL может использовать обратный поиск в DNS при аутентификации, но это не рекомендуется, поскольку любой, кто владеет IP-адресом, может установить обратный поиск по своему усмотрению, обходя защиту источника.
эта ошибка:
'root'@'ip-xx-xx-xx-xxx.ec2.internal'
Это похоже половина сообщение об ошибке, первая половина, вероятно, говорила что-то вроде ERROR 1045 (28000): Access denied for user
и последняя часть сказала (using password: NO)
.
Сообщение об ошибке сообщает нам две вещи:
Если вы еще не вошли в систему или не изменили пароль для MySQL, по умолчанию должен быть root
пользователь без пароля. Оставь -p
вариант или, когда он запросит пароль, просто нажмите Войти.