mysql - 如何在mysql中保存大数据?

标签 mysql shell debian mariadb

我有很多大文本文件,我想将它们安全地保存在我的数据库中。我写了一个可以保护少量数据的 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/

相关文章:

mysql - 如何使用 mysqldump 转储默认时间戳值?

mysql - 如何计算具有3列的不同MySQL选择

regex - 如何通过正则表达式从文本文件中提取某些行

linux - 树莓派无法解析主机名

r - 从特定存储库制作 apt 安装包

linux - 在 Linux 上沙盒 Apache 的最佳方式

mysql - 无法加入 mysql 删除查询工作

mysql - 数据库设计 : users and guests

shell 脚本 : run a block of code in the background without defining a new function?

android - 在 ext4 和 fat32 之间建立链接