MySql:将BLOB转储到本地文件中

时间:2014-04-16 12:19:24

标签: mysql shell

如何将blob的内容转储到文件中?问题是生成的文件应该存储在客户端而不是服务器上,解决方案应该在shell脚本中处理。

SELECT ... INTO OUTFILE/DUMPFILE ...

将失败,因为这会将文件直接保存在服务器上,而不是客户端上。

echo "USE my_db; SELECT my_blob FROM my_table LIMIT 1" | mysql --<connection params> > $OUTFILE

将乱码数据写入本地$ OUTFILE,我想包括一些格式化。

有没有办法取消所有格式,或者如何将1:1转储到文件?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

只要您使用正确的选项,就可以使用MySQL client完成此操作。

特别是您应该使用double-silent mode来禁止表格格式和列名称,并使用raw mode这样就不会转义任何字符。

这是您尝试的命令的更新,可以让您走上正确的轨道:

mysql --<connection params> \
my_db \
--raw \
--silent \
--silent \
--execute \
"SELECT my_blob FROM my_table LIMIT 1" > $OUTFILE