我有很多大文本文件,我想将它们安全地保存在我的数据库中。我写了一个可以保护少量数据的 shell 脚本,但是当我用一些大文件尝试它时,我得到以下错误:
mysql: Argument list too long
列内容的类型为 longtext。
test.txt 中有 60 个单词并且是安全内容。 如果我尝试对 austen-emma.txt(有 158167 个单词)进行同样的操作,我会得到所描述的错误。
#!/bin/sh
content=`cat /srv/data/english_gutenberg_corpus/test.txt`
db_value=`mysql -u admin -padmin --database=bp12 -e "INSERT INTO db_connector_text (author, date, genre, content, title, language, source, wordlength) VALUES ('lel', '1970-01-16', 'NULL', '$content', 'Lyrische elemente', 'German', 'kp', 20)"`
这个问题有解决办法吗?
最佳答案
/bin/sh
对命令大小有限制,可能只有 5KB。切换到其他处理数据的方式。无论您最终采用哪种数据库方法,您都需要学习一种编程语言(Perl、Java、VB 等)来完成工作。
如果您在 MySQL 中使用 LOAD_FILE
函数,您可以坚持使用 sh
,但我不推荐它用于任何重要的事情。
a lot of big text files
您将如何处理这些文件?在网页上显示它们?用一些程序来操纵它们?提供指向它们的超链接?分析它们的词结构?其他?
i want to safe in my database
请定义“安全”。 “安全”,就像防止旁观者一样? “崩溃安全”,就像在您的服务器死机后仍然存在一样? “防止更改”,与文件权限一样?其他?
关于mysql - 如何在mysql中保存大数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54618083/