I am attempting to connect MySQLWorkbench to a remote MySQL Server.
The server has granted access to
user@IPAddress
However, when I try to connect MySQLWorkbench, it sends
user@computername
instead. How do I configure the connection to use the IP address instead in MySQLWorkbench?
Reference: The remote server is on the local network, so I need to use the local IP address assigned to my client.
EDIT
What I have tried so far:
executed
sudo service mysql start --skip-name-resolve
from the server:
mysql -u user@IPAddress -p --host=(ServerIPAddress)
Returns:
mysql>
So that tells me the user account is operational. Furthermore, I confirmed it exists using:
select user from mysql.user;
returning a table of all users, of which the user I am using is present.
I have also opened the port 3306:
sbin/iptables -A INPUT -i eth0 -s clientIPAddress -p tcp --destination-port3306 -j ACCEPT
Still I encounter
Access Denied for user
user@ComputerName (using password: YES)
Answer: I deleted the original user account
DROP USER 'user@IPAdress'
and added it back:
GRANT ALL on foo.* To 'user'@'IPAdress' IDENTIFIED BY 'password';
The tick locations are significant as the user name was actually:
user@IPAdress
not
user
MySQLWorkbench is now able to connect!
MySQL automatically attempts to do a reverse DNS lookup of any IP's that try to connect to it, and the DNS name is what gets checked against your grants.
If you start up
mysqld
with the--skip-name-resolve
option, it will skip DNS lookups and match against IP addresses instead.Reference: http://dev.mysql.com/doc/refman/5.0/en/host-cache.html