标签: database

`updatedb` 和 `locate` 使用什么样的数据库?

locate程序findutils扫描一个或多个文件名数据库并显示任何匹配项。find如果文件在上次文件名数据库更新期间存在,这可以用作非常快速的命令。

现在有很多种数据库,

那么updatedb更新和locate使用什么样的数据库呢?

谢谢。

find database locate updatedb

25
推荐指数
2
解决办法
8089
查看次数

从大文件中提取大量模式

我有一个每天增长大约 200,000 行的文件,它都是由三行块组成的:

1358726575123       # key
    Joseph Muller   # name
    carpenter       # job
9973834728345
    Andres Smith
    student
7836472098652
    Mariah Anthony
    dentist
Run Code Online (Sandbox Code Playgroud)

现在,我有另一个文件,我从中提取了大约 10,000 个关键模式,例如1358726575123. 然后我for用这些模式运行一个循环,并且必须根据第一个文件检查它们。如果文件不包含此类模式,我会将模式保存在第三个文件中以供进一步处理:

for number in $(grep -o '[0-9]\{12\}' file2); do  # finds about 10.000 keys
     if ! grep -q ^$number$ file1; then           # file1 is a huge file
         printf "$number\n" >>file3               # we'll process file3 later
     fi
done
Run Code Online (Sandbox Code Playgroud)

示例代码 grep 一个巨大的文件 10,000 次,我在一整天内大约每分钟运行一次这个循环。

由于巨大的文件不断增长,我该怎么做才能使这一切更快并节省一些 CPU?我想知道以某种方式通过其键(如果是,如何?)或使用 db 而不是纯文本对文件进行排序会有所帮助...

grep awk database text

19
推荐指数
3
解决办法
3万
查看次数

unix 的标准键/值数据存储

我知道unix的键/值库(berkeleydbgdbmredis ... )。但是在我开始编码之前,我想知道是否有一个适用于 unix 的标准工具可以让我执行以下操作:

$ tool -f datastore.db put "KEY" "VALUE"
$ tool -f datastore.db put -f file_key_values.txt
$ tool -f datastore.db get "KEY"
$ tool -f datastore.db get -f file_keys.txt
$ tool -f datastore.db remove "KEY"
$ etc...
Run Code Online (Sandbox Code Playgroud)

谢谢

database

17
推荐指数
5
解决办法
4287
查看次数

Postgres 数据库服务器使用哪些网络协议?

我有一个 postgres 9.1 服务器在 Ubuntu 12.04 云服务器上的默认端口 5432 上运行。

我想打开端口,这样我就可以进行远程查询——但是我必须在 IP 表上打开端口,这需要我指定一个协议。这个文档没有提到 TCP/UDP 等。

我应该在 IP 表中允许什么协议?

iptables database postgresql protocols

17
推荐指数
1
解决办法
2万
查看次数

我可以通过复制文件来复制 MySQL 数据库吗?这些文件究竟包含什么?

我正在使用 MySQL 数据库并使用 Ubuntu Linux 机器。

我的数据库名为db_test,我注意到在路径下/var/lib/mysql/db_test,有文件后缀为.frm, .MYD.MYI如下所示:

/var/lib/mysql/db_test# ls

cars.frm 
cars.MYD 
cars.MYI

customers.frm
customers.MYD
customers.MYI

departments.frm
departments.MYD
departments.MYI

... 
Run Code Online (Sandbox Code Playgroud)

似乎每个.frm, .MYD,.MYI文件组都映射到数据库中的一个表。

我有以下两个问题要问:

  1. 这三个文件究竟在做什么?

  2. 如果我在路径/var/lib/mysql/say下创建一个新目录db_test_2,并将db_test_1目录中的每个文件复制到db_test_2,它还会创建一个db_test_2db_test_1's具有完全相同内容(表)的新数据库吗?

此物理数据库文件移动操作是否会创建与以下命令行操作相同的结果:

  1. 转储数据库db_test_1

  2. 创建一个新的数据库 db_test_2

  3. 然后将db_test_1数据库转储回新数据库db_test_2

如果是这样,似乎移动文件比mysqldump用于复制数据库(或将数据从一个数据库导入到 MySQL 中的另一个数据库)要快得多。对此有何意见?

mysql database

16
推荐指数
2
解决办法
3万
查看次数

用于自动数据库备份到日期前缀文件的 cronjob

我正在使用最新的 Linux Mint。我想知道是否可以为数据库备份创建一个特殊的 cronjob。

在我的/etc/cronjob文件中,我有以下代码:

# Minute   Hour   Day of Month       Month          Day of Week        Command    
# (0-59)  (0-23)     (1-31)    (1-12 or Jan-Dec)  (0-6 or Sun-Sat)                
30        4          *            *                1-6            /home/users/backup.sh
Run Code Online (Sandbox Code Playgroud)

在我的/home/users/backup.sh我有:

mysqldump -uroot -p MyDatabase > /home/users/backup_MyDB/full_myDB.sql
Run Code Online (Sandbox Code Playgroud)

而不是full_myDB.sql我想要像2014-04-04_full_myDB.sql根据我们拥有的日期动态添加日期的地方。

如果 SQL 备份文件早于一周,我希望 cronjob自动删除它。

cron backup mysql database

13
推荐指数
1
解决办法
5万
查看次数

有没有人真正使用透明大页面并从中受益?

我最近一直在努力解决透明大页面性能问题,并注意到许多数据库系统建议将其关闭。我说的是 Oracle、Postgresql、MySQL、Cassandra、NuoDB、Redis、Hadoop 等等。

举些例子:

所以我想知道:什么样的工作负载可以从这个功能中受益?

linux memory database virtual-memory

12
推荐指数
1
解决办法
1393
查看次数

Linux 是否存在停顿?

静止文件系统允许您在数据库和其他程序及其数据仍在运行时对其进行备份。

通常需要通知应用程序静默备份操作,因为所有缓冲区都需要刷新到磁盘,并且需要停止任何传入的写入请求,以便可以在不完全停止系统的情况下创建有效的备份。

Linux 是否还支持这种事情?我读到 Microsoft Windows 自 Windows Server 2003 起就对此提供支持,并且我在一些地方看到他们谈论如何使用 VM 在 Linux 上实现这一点。但是我不知道哪些特定的虚拟机,如果虚拟机必须作为主机在 Windows 上运行。

还有像Java这样的操作系统级别以上的平台呢?那里是否有对 quiesce 的支持?

virtual-machine database application virtualization

9
推荐指数
1
解决办法
4113
查看次数

删除 30 天不活动的 redis 键

我安装了一个名为的 Web 应用程序scrumblrredis用作数据库。

我试图做的是删除所有 30 天不活动或 30 天内未访问的密钥。

我跑了

redis-cli KEYS*
Run Code Online (Sandbox Code Playgroud)

它返回所有键,但它不显示时间戳。

是否有我可以每天在特定时间运行的脚本或命令,它会找出所有不活动的键并删除它们?

scripting cron database

7
推荐指数
2
解决办法
1万
查看次数

查询 Firefox 密码数据库

Braiam表示,Firefox 将登录网站的密码数据存储在~/.mozilla/firefox/key3.db~/.mozilla/firefox/signons.sqlite文件中。这些文件可以使用某些 sqlite 编辑器来读取。

我尝试从 Firefox 的数据库查询网站的用户名和密码(例如https://sourceforge.net/account/login.php )。我无法通过 Firefox 来完成此操作,因为我的 Firefox GUI 无法正常工作,而且我对使用数据库来完成这项工作相当陌生并且也有兴趣学习。

  1. key3.db和的不同作用是什么signons.sqlite
  2. sqlite3我在互联网上搜索,我应该使用打开数据库是否正确 ?

    $ sqlite3 key3.db 
    SQLite version 3.7.9 2011-11-01 00:52:41
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    sqlite> .tables
    Error: file is encrypted or is not a database
    
    Run Code Online (Sandbox Code Playgroud)

    我猜失败的原因是,在 Firefox 中,我设置了一个主关键字来访问它存储的密码。我应该如何查询给定网站的密码?

    我的操作系统是 Ubuntu,文件类型如下key3.db

    $ file key3.db 
    key3.db: Berkeley DB 1.85 (Hash, version 2, native byte-order)
    
    Run Code Online (Sandbox Code Playgroud)
  3. 为了从给定的网站名称查询密码,我应该阅读和学习什么?

    阅读http://www.sqlite.org/cli.html有帮助吗? …

firefox database

6
推荐指数
1
解决办法
2万
查看次数