I have a MySQL server instance installed on an Ubuntu machine. I have ensured that it is listening on port 3306. I have set the bind address to 0.0.0.0. I have checked that there is no firewall. I am attempting to login with a user that is allowed to connect from any address (user was created with 'user-name'@'%'.
I am attempting to connect using MySQL Workbench running on a Windows machine.
The error message says "Unable to connect to localhost", even though the connection profile is using TCP/IP method and has the server IP address and port number specified.
I've looked over a bunch of various questions on this topic and none of them have addressed my issue. I feel like I'm probably missing something basic, but I just can't figure it out.
-edit- In response to mustaccio's comment, here is how I'm checking thigns:
the result of sudo netstat -tunlp
is
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 219757/nrpe
tcp 0 0 0.0.0.0:33060 0.0.0.0:* LISTEN 1422415/mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1422415/mysqld
for bind address, The relevent portion of the /etc/mysql/mysql.conf.d/mysqld.cnf file is
# * Basic Settings
#
user = mysql
# pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
# datadir = /var/lib/mysql
# If MySQL is running as a replication slave, this should be
# changed. Ref https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_tmpdir
# tmpdir = /tmp
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0
for firewall, sudo ufw status verbose
results in Status: inactive
for the username, the user and host parameters in the mysql.user table is 'user-name' and '%', as verified by
use mysql;
select user, host from user;
Not sure what better proof I can provide