如何导入和在Ubuntu 14.04导出OrientDB数据库

介绍

OrientDB是一个多模型NoSQL数据库,支持图形和文档数据库。 它是一个Java应用程序,可以在任何操作系统上运行。 它还完全符合ACID投诉,支持多主复制。 它由同名的公司开发,具有企业版和社区版。

在本文中,我们将使用GratefulDeadConcerts数据库演示如何导出和导入OrientDB数据库。 该数据库随每个安装的OrientDB,所以你不必创建一个新的。

先决条件

要完成本教程,您需要以下内容:

如果你所有的这些东西都到位,让我们开始吧。

第1步 - 导出现有OrientDB数据库

要导入OrientDB数据库,必须首先导出要导入的数据库。 在这一步中,我们将导出我们需要导入的数据库。

如果OrientDB没有运行,启动它:

sudo service orientdb start

如果您不确定它是否正在运行,您可以随时检查其状态:

sudo service orientdb status

然后使用OrientDB控制台连接到服务器:

sudo -u orientdb /opt/orientdb/bin/console.sh

输出应为:

OutputOrientDB console v.2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+0000) www.orientdb.com
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0

orientdb>

连接到要导出的数据库。 这里,我们连接到数据库GratefulDeadConcerts使用数据库的默认用户管理和密码admin:

connect plocal:/opt/orientdb/databases/GratefulDeadConcerts  admin admin

你应该看到这样的输出:

OutputConnecting to database [plocal:/opt/orientdb/databases/GratefulDeadConcerts] with user 'admin'...OK
orientdb {db=GratefulDeadConcerts}>

或者,您也可以使用远程模式连接到数据库,这允许多个用户访问同一数据库。

connect remote:127.0.0.1/GratefulDeadConcerts  admin admin

连接输出应该是这种类型:

OutputDisconnecting from the database [null]...OK
Connecting to database [remote:127.0.0.1/GratefulDeadConcerts] with user 'admin'...OK
orientdb {db=GratefulDeadConcerts}>

现在,导出数据库。 export命令导出当前数据库中一个gzip压缩,压缩JSON文件。 在这个例子中,我们输出入OrientDB的数据库目录/opt/orientdb/databases

export database /opt/orientdb/databases/GratefulDeadConcerts.export

目标数据库的完整导出命令输出为:

OutputExporting current database to: database /opt/orientdb/databases/GratefulDeadConcerts.export in GZipped JSON format ...

Started export of database 'GratefulDeadConcerts' to /opt/orientdb/databases/GratefulDeadConcerts.export.gz...
Exporting database info...OK
Exporting clusters...OK (15 clusters)
Exporting schema...OK (14 classes)
Exporting records...
- Cluster 'internal' (id=0)...OK (records=3/3)
- Cluster 'index' (id=1)...OK (records=5/5)
- Cluster 'manindex' (id=2)...OK (records=1/1)
- Cluster 'default' (id=3)...OK (records=0/0)
- Cluster 'orole' (id=4)...OK (records=3/3)
- Cluster 'ouser' (id=5)...OK (records=3/3)
- Cluster 'ofunction' (id=6)...OK (records=0/0)
- Cluster 'oschedule' (id=7)...OK (records=0/0)
- Cluster 'orids' (id=8)...OK (records=0/0)
- Cluster 'v' (id=9).............OK (records=809/809)
- Cluster 'e' (id=10)...OK (records=0/0)
- Cluster 'followed_by' (id=11).............OK (records=7047/7047)
- Cluster 'written_by' (id=12).............OK (records=501/501)
- Cluster 'sung_by' (id=13).............OK (records=501/501)
- Cluster '_studio' (id=14)...OK (records=0/0)

Done. Exported 8873 of total 8873 records

Exporting index info...
- Index OUser.name...OK
- Index dictionary...OK
- Index ORole.name...OK
OK (3 indexes)
Exporting manual indexes content...
- Exporting index dictionary ...OK (entries=0)
OK (1 manual indexes)

Database export completed in 60498ms

这完成导出步骤。

打开另一个终端到您的Droplet,并列出数据库目录的内容:

ls -lh /opt/orientdb/databases

您应该看到原始数据库以及数据库导出的压缩文件:

Outputtotal 164K
drwxr-xr-x 2 orientdb orientdb 4.0K Nov 27 02:36 GratefulDeadConcerts
-rw-r--r-- 1 orientdb orientdb 158K Nov 27 14:19 GratefulDeadConcerts.export.gz

返回到您的OrientDB控制台的终端,您现在可以通过键入以下操作断开与当前数据库的连接:

disconnect

如果成功断开连接,您应该得到类似以下的输出:

OutputDisconnecting from the database [GratefulDeadConcerts]...OK
orientdb>

保持与控制台的连接打开,因为您将在下一步中使用它。

第2步 - 导入数据库

在此步骤中,我们将导入我们在第1步中导出的数据库。默认情况下,导入数据库将覆盖要导入的数据。 所以,首先连接到目标数据库。 在这个例子中,我们将连接到我们在第1步中使用的默认数据库。

connect plocal:/opt/orientdb/databases/GratefulDeadConcerts  admin admin

您也可以使用:

connect remote:127.0.0.1/GratefulDeadConcerts  admin admin

任一输出应类似于:

OutputConnecting to database [remote:127.0.0.1/GratefulDeadConcerts] with user 'admin'...OK
orientdb {db=GratefulDeadConcerts}>

建立连接后,我们导入导出的文件:

import database /opt/orientdb/databases/GratefulDeadConcerts.export.gz

根据要导入的记录数,这可能需要几分钟的时间。 所以坐下来放松,或者到达那杯你最喜欢的液体。

导入输出应为(输出截断):

OutputImporting database database /opt/orientdb/databases/GratefulDeadConcerts.export.gz...
Started import of database 'remote:127.0.0.1/GratefulDeadConcerts' from /opt/orientdb/databases/GratefulDeadConcerts.export.gz...
Non merge mode (-merge=false): removing all default non security classes

...

Done. Imported 8,865 records in 915.51 secs


Importing indexes ...
- Index 'OUser.name'...OK
- Index 'dictionary'...OK
- Index 'ORole.name'...OK
Done. Created 3 indexes.
Importing manual index entries...
- Index 'dictionary'...OK (0 entries)
Done. Imported 1 indexes.
Rebuild of stale indexes...
Stale indexes were rebuilt...
Deleting RID Mapping table...OK


Database import completed in 1325943 ms

您现在可以从数据库断开连接:

disconnect

出口处OrientDB控制台并返回到你的正常的shell提示符下,键入exit

exit

结论

您刚刚了解了如何导出和导入OrientDB数据库。 请注意,导入/导出功能不会在整个过程中锁定数据库,因此可能会在进程发生时接收写入。 有关此主题的更多信息,请参见官方OrientDB导入/导出向导

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏