'localhost' es y ha siempre ha sido especial con MySQL . En su caso, otorga [email protected] algunos privilegios y esto significaría 'el rastreador de usuario que se conecta a través del socket UNIX'. Y estoy bastante seguro de que el servidor MySQL está configurado con --skip-redes .
Esto se puede arreglar siendo explícito. Usando el argumento de conexión unix_socket del controlador de su base de datos, forzaría el uso del zócalo UNIX. (Enlazando descaradamente a los documentos de MySQL Connector/Python, ya que soy el mantenedor de ese controlador).