Que tal agora?:
mysql -B -e "$MY_QUERY"> my_data.csv
O formato de saída é, na verdade, separado por tabulação em vez de vírgula, mas pelo menos o Excel e o OpenOffice Calc se adaptam automaticamente a isso.
BTW, por conveniência e para habilitar a execução não interativa de comandos mysql, eu recomendo fortemente configurar um arquivo ~/.my.cnf seguro
(legível apenas por você) com entradas como esta:
[client]
user=YOUR_MYSQL_USER_NAME
password=YOUR_MYSQL_PASSWORD
host=YOUR_MYSQL_SERVER
port=YOUR_MYSQL_SERVER_PORT
WHATEVER_OTHER_OPTIONS_YOU_LIKE
Referências:
http://dev.mysql.com/doc /refman/5.1/en/mysql-command-options.html
--lote, -B
Imprima os resultados usando tab como separador de coluna, com cada linha em uma nova linha. Com esta opção, o mysql não usa o arquivo de histórico.
O modo de lote resulta em formato de saída não tabular e escape de caracteres especiais. O escape pode ser desabilitado usando o modo bruto; veja a descrição da opção --raw.