介绍
OrientDB是一个多模型的NoSQL数据库,支持图形和文档数据库,它是一个Java应用程序,可以在任何操作系统上运行;它也完全支持ACID,支持多大师复制。
OrientDB 数据库可以使用备份脚本进行备份,还可以通过命令行接口进行备份,并支持使用 ZIP 算法对备份文件进行压缩。
默认情况下,备份 OrientDB 数据库是一种阻止操作 - 将数据库作为数据库被锁定到备份操作的结束,但如果操作系统安装在 LVM 分区方案上,备份脚本可以执行非阻止备份 LVM 是 Linux Logical Volume Manager。
在本文中,您将学习如何在Ubuntu 14.04服务器上备份您的OrientDB数据库。
前提条件
- Ubuntu 14.04 服务器(见 初始服务器设置与 Ubuntu 14.04) * OrientDB 安装和配置使用 [如何在 Ubuntu 14.04 上安装和配置 OrientDB 」(https://andsky.com/tech/tutorials/how-to-install-and-configure-orientdb-on-ubuntu-14-04)
步骤 1 — 使用备份脚本备份 OrientDB
如果你安装了 OrientDB 使用 如何在 Ubuntu 14.04 上安装和配置 OrientDB,那么安装目录是 /opt/orientdb
,因此备份脚本 backup.sh
应该在 /opt/orientdb/bin
。
对于本教程,在安装目录下创建一个备份
文件夹,以保留备份。您也可以选择将备份保存到数据库
文件夹中,这是应用程序的数据目录。
1sudo mkdir -p /opt/orientdb/backup
新创建的文件夹由 root 拥有,所以让我们更改所有权以使其属于 orientdb 用户。
1sudo chown -R orientdb:orientdb /opt/orientdb/backup
有了这个出路,导航到bin
目录:
1cd /opt/orientdb/bin
默认情况下,存在一个名为GracefulDeadConcerts
的数据库.列出databases
目录的内容会显示此默认数据库和您创建的任何数据库:
1ls -l /opt/orientdb/databases
例如,以下显示了‘GratefulDeadConcerts’数据库和一个名为‘eck’的数据库:
1[secondary_label Output]
2total 8
3drwxr-xr-x 2 orientdb orientdb 4096 Oct 12 18:36 eck
4drwxr-xr-x 2 orientdb orientdb 4096 Oct 4 06:30 GratefulDeadConcerts
在此步骤中,我们将使用备份脚本备份两个数据库,在这两种情况下,我们将作为 admin 用户执行操作,其密码也是** admin** 。
1sudo ./backup.sh plocal:../databases/GratefulDeadConcerts admin admin ../backup/gfdc.zip
对于第二个数据库,类型:
1sudo ./backup.sh plocal:../databases/eck admin admin ../backup/eck.zip
检查是否创建了备份:
1ls -lh ../backup
预计产量是:
1[secondary_label Output]
2total 236K
3-rw-r--r-- 1 root root 17K Oct 13 08:48 eck.zip
4-rw-r--r-- 1 root root 213K Oct 13 08:47 gfdc.zip
步骤 2 — 从控制台中备份 OrientDB
在此步骤中,我们将从控制台或命令行接口备份数据库之一。
1sudo -u orientdb /opt/orientdb/bin/console.sh
产量应该是:
1[secondary_label Output]
2OrientDB console v.2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+0000) www.orientdb.com
3Type 'help' to display all the supported commands.
4Installing extensions for GREMLIN language v.2.6.0
5
6orientdb>
接下来,连接到数据库. 在这里,我们使用数据库的默认用户 admin 和其密码** admin** 连接。
1connect plocal:/opt/orientdb/databases/eck admin admin
你应该看到这样的输出:
1[secondary_label Output]
2Disconnecting from the database [null]...OK
3Connecting to database [plocal:/opt/orientdb/databases/eck] with user 'admin'...OK
4orientdb {db=eck}>
现在,将数据库的封锁备份执行到我们在步骤 1 中创建的相同的备份目录中:
1backup database /opt/orientdb/backup/eckconsole.zip
你应该看到这样的输出:
1[secondary_label Output]
2Backuping current database to: database /opt/orientdb/backup/eckconsole.zip...
3
4- Compressing file name_id_map.cm...ok size=912b compressedSize=250 ratio=73% elapsed=1ms
5- Compressing file e.pcl...ok size=65.00KB compressedSize=121 ratio=100% elapsed=13ms
6
7...
8
9- Compressing file orids.cpm...ok size=1024b compressedSize=15 ratio=99% elapsed=1ms
10- Compressing file internal.pcl...ok size=129.00KB compressedSize=9115 ratio=94% elapsed=9ms
11Backup executed in 0.33 seconds
退出 OrientDB 数据库提示:
1exit
确认备份已在位置:
1ls -lh ../backup
输出应该类似于此:
1[secondary_label Output]
2total 256K
3-rw-r--r-- 1 orientdb orientdb 17K Oct 13 10:39 eckconsole.zip
4-rw-r--r-- 1 orientdb orientdb 17K Oct 13 08:48 eck.zip
5-rw-r--r-- 1 orientdb orientdb 213K Oct 13 08:47 gfdc.zip
第3步:自动备份 OrientDB
OrientDB 具有自动备份功能,但默认情况下已关闭. 在此步骤中,我们将启用它,以便数据库每天备份。
1sudo nano /opt/orientdb/config/orientdb-server-config.xml
滚动到 handler 元素中以** class="com.orientechnologies.orient.server.OAutomaticBackup"** 。当启用时,其他默认设置将自动备份设置为每隔 4 小时 23:00 GMT 进行。
为了测试,您可以根据自己的喜好调整 firsttime 参数:
1[secondary_label /opt/orientdb/config/orientdb-server-config.xml]
2
3<handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup">
4<parameters>
5<parameter value="true" name="enabled"/>
6<parameter value="24h" name="delay"/>
7<parameter value="23:00:00" name="firstTime"/>
8<parameter value="backup" name="target.directory"/>
9<parameter value="${DBNAME}-${DATE:yyyyMMddHHmmss}.zip" name="target.fileName"/>
10<parameter value="9" name="compressionLevel"/>
11<parameter value="1048576" name="bufferSize"/>
12<parameter value="" name="db.include"/>
13<parameter value="" name="db.exclude"/>
14</parameters>
15</handler>
当您完成调整设置后,保存并关闭文件。
1sudo service orientdb stop
然后重新启动:
1sudo service orientdb start
设置时间后,通过查看新的备份
目录来验证它是否工作:
1ls -lh /opt/orientdb/bin/backup
结果应该是这样的:
1[secondary_label Output]
2total 236K
3-rw-r--r-- 1 orientdb orientdb 17K Oct 13 16:00 eck-20151013160001.zip
4-rw-r--r-- 1 orientdb orientdb 213K Oct 13 16:00 gratefulnotdead-20151013160002.zip
窗口外,默认数据库GratefulDeadConcert
不是由自动备份工具备份的,所以如果你看不到它列出的,这是一个功能。
结论
您刚刚了解了所有可用于备份 OrientDB 数据库的非编程步骤. 有关此主题的更多信息,请访问 官方指南。