专栏首页云计算教程系列如何在Ubuntu 14.04上导入和导出OrientDB数据库
原创

如何在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

输出应该是:

OrientDB 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>

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

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

你应该看到这样的输出:

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

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

connect remote:127.0.0.1/GratefulDeadConcerts  admin admin

连接输出应该是这样的:

Disconnecting 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

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

Exporting 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

这样就完成了导出步骤。

打开腾讯CVM的另一个终端,并列出数据库目录的内容:

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

根据要导入的记录数量,这可能需要几分钟的时间。所以,请坐下来放松一下,或者拿起那杯你最喜欢的饮品。

导入输出应该是(输出截断):

Importing 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官方导出/导入指南

更多Ubuntu教程请前往腾讯云+社区学习更多知识。


参考文献:《 How To Import and Export an OrientDB Database on Ubuntu 14.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在Ubuntu 16.04上使用PostgreSQL和Django应用程序

    Django是一个用于快速创建Python应用程序的灵活框架。默认情况下,Django应用程序配置为将数据存储到轻量级SQLite数据库文件中。虽然这在某些负载...

    水门
  • 如何在Ubuntu 18.04上使用mod_rewrite for Apache重写URL

    Apache的mod_rewrite模块允许您以更干净的方式重写URL,将人类可读的路径转换为代码友好的查询字符串。它还允许您根据条件重写URL。

    水门
  • 如何在CentOS 6.5上使用Unicorn和Nginx部署Rails应用程序

    在部署基于Rails的Web应用程序时,简单设计的应用程序服务器可以在几分钟内启动并运行。但是,如果您希望更好地控制服务器设置或想要尝试更灵活的新功能,那么使用...

    水门
  • 深入探寻JAVA8 part2:浅谈几个内置的函数式接口

    函数式接口就是只定义一个抽象方法的接口。在JAVA8以前,就有很多符合函数式接口定义的接口。

    眯眯眼的猫头鹰
  • 分布式关系数据库探索 - NewSQL 演化过程

    回味过去,展望未来,开始分布式数据库探索之旅,首先了解历史,本文大致梳理一下数据库发展过程,从1970年到2018年,数据库的发展过程,仅供参考,交流和学习,感...

    jinlin
  • 你可曾想过在iOS上跑Linux?

    你可曾想过在IOS设备上运行Linux系统?或者用shell来传输文件、编写脚本,又或者使用Vi来开发代码?

    FB客服
  • Java程序员的日常—— Properties文件的读写

    在日常的Java程序开发中,Properties文件的读写是很常用的。经常有开发系统通过properties文件来当做配置文件,方便用户对系统参数进行调整。 ...

    用户1154259
  • Java编程思想第五版(On Java8)(四)-运算符

    运算符接受一个或多个参数并生成新值。这个参数与普通方法调用的形式不同,但效果是相同的。加法 +、减法 -、乘法 *、除法 / 以及赋值 = 在任何编程语言中的工...

    JavaEdge
  • Java运算符

    DataScience
  • Java入门 - 语言基础 - 08.运算符

    原文地址:http://www.work100.net/training/java-operator.html

    光束云

扫码关注云+社区

领取腾讯云代金券