Se você tem acesso ao servidor MySQL, você pode usar
SELECT INTO OUTFILE
para fazer a maior parte disso para você:SELECT * FROM my_table
INTO OUTFILE 'my_table.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n';
Você pode querer ter um delimitador de linha de
\r\n
se você estiver usando o Windows. Se você não especificar um caminho completo para o arquivo CSV resultante, ele irá para o diretório de dados do servidor MySQL ao lado das tabelas.