Имейте вопрос, для которого я, может казаться, не нахожу ответ. Я пытаюсь соединиться с удаленной базой данных. Я ввожу в следующем к моей оболочке Ubuntu:
mysql -u test -h mysql.domain.com -p
mysql просит мой пароль и затем производит следующее:
ERROR 1045 (28000): Access denied for user 'test'@'externalit.domain.com' (using password: YES)
Проблема состоит в том, что я не нахожусь на внешности. Я нахожусь на совершенно другом хосте. Я думаю, что сервер, я иду, был клонирован от внешности, но я не настраивал сервер. Мой вопрос: mysql имеет conf файл или другую установку, которая может автоматически вводить неправильное имя хоста? Я могу изменить это?
Это имя, которое, как думает сервер, соответствует вашему IP-адресу. Это может быть сделано с настройкой DNS (он пытается обратный DNS), или что-то в файле /etc/host (сопоставление этого IP с этим хостом).
Попробуйте добавить опцию протокола:
mysql -u test -h mysql.domain.com --protocol=tcp -p
и/или попробуйте добавить порт явно:
mysql -u test -h mysql.domain.com -P3306 --protocol=tcp -p
(см: http://dev.mysql.com/doc/refman/5.1/en/mysql-command-options.html#option_mysql_protocol)
.Вам необходимо убедиться, что обратный DNS на машине, с которой вы подключаетесь, совпадает с адресом пользователя. Если вы используете общий IP-адрес или не можете управлять обратным DNS, измените разрешения для пользователя на 'test' @ '%', это позволит любому подключаться с любого IP-адреса, если у них есть правильная пара имени пользователя и пароля. . конечно, это вызывает некоторые проблемы с безопасностью.
Вы можете запретить mysql выполнять обратный поиск, а затем использовать (скрытый) в качестве пользователя / хоста, но если вы не используете фиксированный IP-адрес, который может вызвать проблемы.
Округ Колумбия