Mysql connection error: HOST '' Unable to connect to MySQL server
When trying to connect to MySQL using the mysql command When trying to connect to the server, you receive the following error message:
ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server
This error indicates that the server has been configured to allow only certain hosts to connect, and your host is not in the allowed list.
Check root user permissions
In your case you have set bind-address to 0.0.0.0 in my.cnf which means the server should Accept connections from all hosts. However, you still can't connect. This may be because the root user is only authorized to connect from localhost.
To check this, run the following query:
SELECT host FROM mysql.user WHERE User = 'root';
If the results do not contain the hostname or IP address you are trying to connect from, you will need to grant root access from that host Permission to connect.
Grant permission to connect
To grant the root user permission to connect from a specific host, use the following command:
CREATE USER 'root'@'host_ip' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'host_ip';
where host_ip is The IP address of the host you want to allow connections to.
If you want to grant connection permissions to all hosts, you can use the wildcard %:
CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
Finally, refresh the permissions to take effect immediately:
FLUSH PRIVILEGES;
Now, you should Ability to use the mysql command to connect to the MySQL server from a specified remote host.
The above is the detailed content of Why Can't I Connect to My MySQL Server from a Remote Host Despite `bind-address = 0.0.0.0`?. For more information, please follow other related articles on the PHP Chinese website!