Cette commande vous donne presque ce que vous voulez, et cela fonctionne même avec un serveur distant. La seule mise en garde est qu'il génère un fichier TSV (les champs sont séparés par une tabulation).
mysql mydb -e "select * from mytable" -B > mytable.tsv
Mais vous pouvez le convertir en CSV en utilisant sed, comme suggéré dans cette réponse :
mysql mydb -e "select * from mytable" -B | sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > mytable.csv