Quando o parâmetro localhost é fornecido, o MySQL usa sockets. Use 127.0.0.1 em vez disso.
Isso é o que estou fazendo:
mysql --host=localhost --port=9999 mysql -u root -p --execute="show tables;"
O comando funciona (conectando à porta 3306) não importa o que eu forneça no argumento --port . Eu tenho dois servidores mysql em execução em uma máquina e quero conectar ao segundo, fornecendo explicitamente seu número de porta. O que está acontecendo? Por que mysql ignora esse parâmetro?