一尘不染

从命令行将mysql数据库转储到纯文本(CSV)备份中

mysql

我想避免mysqldump,因为它以仅便于mysql读取的形式输出。CSV似乎更通用(每个表一个文件就可以了)。但是,如果mysqldump有优势,我会很高兴。另外,我希望可以从命令行(linux)运行某些内容。如果那是mysql脚本,那么指向如何制作此类内容的指针将很有帮助。


阅读 411

收藏
2020-05-17

共1个答案

一尘不染

如果您一次可以处理表,并且您的数据不是二进制数据,请使用命令-B选项mysql。使用此选项,它将生成TSV(制表符分隔)文件,这些文件可以轻松导入到Excel等文件中:

% echo 'SELECT * FROM table' | mysql -B -uxxx -pyyy database

另外,如果您可以直接访问服务器的文件系统,请使用SELECT INTO OUTFILE可以生成实际CSV文件的文件:

SELECT * INTO OUTFILE 'table.csv'
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
FROM table
2020-05-17