MySQL Workbench отправляет имя компьютера с логином, а не IP

Я пытаюсь подключить MySQLWorkbench к удаленному серверу MySQL.

Сервер предоставил доступ к

user@IPAddress

Однако, когда я пытаюсь подключить MySQLWorkbench, он отправляет

user@computername 

вместо. Как настроить соединение для использования IP-адреса вместо этого в MySQLWorkbench?

Справка: удаленный сервер находится в локальной сети, поэтому мне нужно использовать локальный IP-адрес, назначенный моему клиенту.

РЕДАКТИРОВАТЬ

Что я уже пробовал:

выполненный

sudo service mysql start --skip-name-resolve

с сервера:

mysql -u user@IPAddress -p --host=(ServerIPAddress)

Возвращает:

mysql>

Так что это говорит мне, что учетная запись пользователя работает. Кроме того, я подтвердил, что существует, используя:

select user from mysql.user;

возвращение таблицы всех пользователей, из которых присутствует пользователь, которого я использую.

Я также открыл порт 3306:

sbin/iptables -A INPUT -i eth0 -s clientIPAddress -p tcp --destination-port3306 -j ACCEPT

Все еще сталкиваюсь

Access Denied for user
user@ComputerName (using password: YES)

Ответ: я удалил исходную учетную запись пользователя

DROP USER 'user@IPAdress'

и добавил его обратно:

GRANT ALL on foo.* To 'user'@'IPAdress' IDENTIFIED BY 'password';

Расположение галочек имеет большое значение, поскольку имя пользователя было на самом деле:

user@IPAdress

не

user

MySQLWorkbench теперь может подключаться!

1 ответ

MySQL автоматически пытается выполнить обратный поиск DNS любых IP-адресов, которые пытаются подключиться к нему, и DNS-имя - это то, что проверяется по вашим грантам.

Если вы запускаете mysqld с --skip-name-resolve опция, он пропустит поиск DNS и сопоставит его с IP-адресами.

Ссылка: http://dev.mysql.com/doc/refman/5.0/en/host-cache.html

Другие вопросы по тегам