我需要为嵌入式 linux 平台上的应用程序选择一个数据库。
我有一个名为 Thumbs.db 的文件,我似乎无法用任何东西打开它。SQLite 数据库浏览器无法做到这一点,LibreOffice Base 也无法做到。打开文件属性告诉我这是一个“OLE2 复合文档存储”文件。
我在 HP Folio 13 上运行elementaryOS(Ubuntu 衍生版本)。
我正在寻找一种方法来遍历 CSV 文件作为关系数据库表。
我做了一些研究,因为我发现没有任何东西完全符合我的要求。我发现了几个部分不错的选择,即:
在单个csv/文本文件(列总和、平均值、最小值、最大值、子集等)上遍历和执行一些类似数据库的操作是可能的,而且非常简单,但不能在两个文件上执行,它们之间存在某种联系。也可以将文件导入临时数据库进行查询,我已经这样做了,尽管不如我希望的那么实用。
TL;DR - 我基本上想要一种方便的方法来对 csv 文件进行快速而肮脏的 sql 连接。不是在寻找一个完整的基于文本的 RDBMS,而是一个更好的方法来对 csv RDBMS 提取进行一些分析。
例子:
sqlthingy -i tbl1.csv tbl2.csv -o 'select 1,2,3 from tbl1, tbl2 where tbl1.1 = tbl2.1'
这似乎是一个足够有趣的问题,我可以花一些时间在上面,但我想知道它是否已经存在。
只是想知道是否有 unixODBC 的任何官方文档,例如配置文件的外观以及他们期望的参数?(我只使用 shell,没有 GUI)即使http://www.unixodbc.org/doc/看起来也不是很有希望。我不知何故有印象,最好的信息是第 3 方页面,但这是真的吗?
我需要做这样的事情来运行 MongoDB
$numactl --interleave=all /usr/bin/mongod --config /etc/mongod.conf &
Run Code Online (Sandbox Code Playgroud)
我应该更改什么才能使用上述选项运行 mongo 守护程序?
我想测试在查询超时的情况下对 PostgreSQL 服务器执行查询的程序的行为。
我怎么能模拟呢?
我已经创建了我的第一个 postgres 表,我正在尝试研究如何将 .csv 文件复制到表中,同时在第 1 列(ID)中生成一个序列号,该序列号从数字 1 开始向上计数(即1, 2 ,3 等)每行。我一直在使用命令:
COPY sales_table FROM '/home/perl_experiments/xmlcsv.txt' (DELIMITER('|'));
Run Code Online (Sandbox Code Playgroud)
这试图复制 csv 的内容,但它似乎将 .csv 中的第一列数据放入表的第一列。我已将表的第一列指定为 bigserial,我假设该列会自动填充,而 csv 的内容将绕过第 1 列并从第 2 列开始填充表。显然情况并非如此,我有错过了至关重要的一步。任何人都可以对我错过的步骤有所了解吗?这是我创建的表的摘要:
Column Type Not Null Default
ID bigint NOT NULL nextval('"sales_table_Entry Id_seq"'::regclass) [pk]
ProdNo bigint
Title character varying
url character varying
Price integer
Run Code Online (Sandbox Code Playgroud) 我想杀死一个与数据库有开放连接的进程。如果我终止该进程,我可以确保数据库已解锁吗?
我需要在我办公室里所有书籍、DVD、VHS 磁带和盒式磁带的电子表格上创建一个清单。由于有 3000 多个项目,这可能需要很长时间。我买了一个条形码扫描仪来加快工作速度。是否有任何适用于 Linux 的软件可以与条码扫描仪配合使用,可以搜索数据库以根据条码查找项目详细信息,并且可以将数据库导出为电子表格?
我在Ubuntu机器上使用MySQL v5.1。
我的机器上的 MySQL 曾经可以工作。(运行mysql -u root给了我 MySQL 命令行。)
今天下午,我做了以下事情:
1.mysql通过运行检查与“ ”相关的活动进程:
$ ps aux | grep 'mysql'
mysql 1457 3.3 1.3 130044 27076 ? Ssl 16:22 0:43 /usr/sbin/mysql
Run Code Online (Sandbox Code Playgroud)
2.我从上面的输出中看到mysql进程的PID是1457,所以我用:
$ sudo kill 1457
Run Code Online (Sandbox Code Playgroud)
3.现在,如果我运行$ mysql -u root,我会收到一个错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Run Code Online (Sandbox Code Playgroud)
这是合理的,因为我杀死了这个过程。
杀死 MySQL 服务器后,如何让其备份并再次运行?
我试图运行sudo /etc/init.d/mysql start,但我的 MySQL 服务器没有启动。这是为什么?
是否有可搜索的 Linux 命令数据库?我是这项运动的新手,这里的很多信息都假设我(以及我相信许多其他人)不具备很多知识。但是,如果我有办法引用可用命令,我就会学得很快。
我有一个包含以下 psql 命令的脚本:
psql -h $PHOST -p $PPORT -U $PUSER -d $PDATABASE -c "SELECT COUNT(*) FROM (${SQL%?}) AS query;"
Run Code Online (Sandbox Code Playgroud)
当我传递一个查询一两个关系的简单查询时,没有问题。但是,当我传递一个长查询时,出现以下错误:
/usr/bin/psql: Argument list too long
Run Code Online (Sandbox Code Playgroud)
我使用 mv 命令找到了“参数列表太长”的解决方案,我尝试了它,但没有任何改变。
我之前使用 ulimit -S -s unlimitedpsql 命令来增加 MAX_ARG 大小,但仍然出现错误。
如何解决 psql: Argument list too long 的错误?
在创建新的 mysql 用户和数据库之前,我做了:
read sps -s
# Inputing and saving the sps (password) value.
echo ${sps}
# sps password value echoed.
mysql -u root -p[PASSWORD]
mysql>
CREATE user "test"@"localhost" IDENTIFIED BY "${sps}";
Run Code Online (Sandbox Code Playgroud)
当我开始登录时,mysql -u test -p[SPS_PASSWORD_VALUE]出现访问被拒绝的错误。
密码不是我给出的值,${sps}而是它${sps}本身,作为一个 string。
为了“正式”证明问题是由于${sps} variable not being expanded **inside** mysql shell, and therefore acts as a regular string, I created another usertest1` 手动提供了密码(不是来自变量),这次我可以正常登录。
为什么当我在 mysql shell 中时,没有变量扩展,我怎样才能防止这种行为或至少获得接近这种行为的行为?
也许这是一个错误?