Мне нужно подключиться к базе данных MySQL на сервере, к которому у меня нет доступа через брандмауэр. Однако у меня есть доступ SSH к другому серверу, который разрешен через брандмауэр на моем целевом сервере.
У меня SSH подключился к последнему (скажем, host1), а затем я пытаюсь выполнить следующую команду:
mysql --host=host2 --user=username --password=password
Получаю такой ответ:
Access denied for user 'username'@'host1' (using password: YES)
Почему он пытается подключиться к host1 (то есть к самому себе)?
NB: я не использую localhost
где угодно здесь.
Вы неправильно понимаете ошибку, она говорит, что пользователь username
подключение от host1
было отказано в доступе. Ошибка исходит из host2
.
На самом деле ошибка говорит: "Вы пытаетесь использовать username
из host1
".
Вам нужно будет добавить разрешения для username
на host1
. Вы можете опубликовать SHOW GRANTS FOR 'username'
из, когда вы вошли в MySQL как root на host2
?
Изменить: Ninja'd :)
У меня была эта ошибка из-за неправильного пароля, который я использовал для базы данных. Так было с версией mysql 5.1.61.
Поэтому убедитесь, что пароль вашей базы данных правильный.