如何从远程主机获取制表符分隔的MySQL转储?

Iva*_*var 5 mysql csv export mysqldump

mysqldump命令如下:

mysqldump -u<username> -p<password> -h<remote_db_host> -T<target_directory> <db_name> --fields-terminated-by=,
Run Code Online (Sandbox Code Playgroud)

将为每个表写出两个文件(一个是架构,另一个是CSV表数据).要获取CSV输出,您必须指定目标目录(使用-T).当-T传递给mysqldump时,它会将数据写入运行mysqld的服务器的文件系统 - 而不是发出命令的系统.有没有一种从远程系统转储CSV文件的简单方法?

注意:我熟悉使用简单的mysqldump并处理STDOUT输出,但我不知道如何在不进行实质性解析的情况下以这种方式获取CSV表数据.在这种情况下,我将使用-X选项并转储xml.

cod*_*man 11

mysql -h remote_host -e "SELECT * FROM my_schema.my_table" --batch --silent > my_file.csv
Run Code Online (Sandbox Code Playgroud)

  • 这非常有效.请注意,它是以制表符分隔的,而不是逗号. (2认同)
  • 当某些列中的某些值包含制表符时会发生什么?你怎么得到它来逃避标签和换行符? (2认同)