Seu comando
mysql -p -u root -h MYSQL_SERVER_IP -p 3310
não está correto, deve ser
mysql -p -u root -h MYSQL_SERVER_IP --port 3310
sem o --port 3310
, o cliente tentará se conectar à porta padrão em 3306
.
Estou executando um servidor mysql usando o seguinte comando:
mysqld --no-defaults --user=root --port=3310 --bind-address=0.0.0.0 --skip-grant-tables &
Meu entendimento é que este comando inicia um daemon do servidor mysql como root do usuário, que irá escutar todas as interfaces e permitir que todos os usuários acessem todos os bancos de dados. Note que eu usei --no-defaults, então não há arquivo de configuração lido pelo mysql.
Estou tentando conectar-me ao servidor de uma máquina diferente usando o comando:
mysql -p -u root -h MYSQL_SERVER_IP --port 3310
Mas estou recebendo o seguinte erro clássico:
ERROR 2003 (HY000): Can't connect to MySQL server on 'MYSQL_SERVER_IP' (111)
Eu desliguei todas as regras usando 'iptables -F', tanto no servidor quanto no cliente. Além disso, o servidor é pingável do cliente e vice-versa.
O que estou perdendo?
Seu comando
mysql -p -u root -h MYSQL_SERVER_IP -p 3310
não está correto, deve ser
mysql -p -u root -h MYSQL_SERVER_IP --port 3310
sem o --port 3310
, o cliente tentará se conectar à porta padrão em 3306
.