安装与配置 #
一、系统要求 #
1.1 硬件要求 #
| 资源 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 2核 | 4核+ |
| 内存 | 2GB | 8GB+ |
| 磁盘 | 10GB | SSD 50GB+ |
| 网络 | 100Mbps | 1Gbps |
1.2 软件要求 #
| 系统 | 版本要求 |
|---|---|
| Windows | Windows 7+ / Server 2012+ |
| Linux | Ubuntu 18.04+ / CentOS 7+ |
| macOS | macOS 10.12+ |
| Java | JDK 8 或 JDK 11 |
1.3 Java环境检查 #
bash
java -version
输出示例:
text
java version "11.0.12" 2021-07-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.12+8-LTS-237)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.12+8-LTS-237, mixed mode)
二、下载OrientDB #
2.1 官方下载 #
访问官网下载页面:
text
https://orientdb.org/download
2.2 版本选择 #
text
下载选项:
├── Community Edition - 社区版(免费)
│ ├── orientdb-3.2.x.tar.gz (Linux/macOS)
│ └── orientdb-3.2.x.zip (Windows)
└── Enterprise Edition - 企业版(付费)
2.3 命令行下载 #
Linux/macOS:
bash
wget https://repo1.maven.org/maven2/com/orientechnologies/orientdb-community/3.2.28/orientdb-community-3.2.28.tar.gz
三、Linux安装 #
3.1 解压安装 #
bash
tar -zxvf orientdb-community-3.2.28.tar.gz
sudo mv orientdb-community-3.2.28 /opt/orientdb
3.2 配置环境变量 #
bash
echo 'export ORIENTDB_HOME=/opt/orientdb' >> ~/.bashrc
echo 'export PATH=$PATH:$ORIENTDB_HOME/bin' >> ~/.bashrc
source ~/.bashrc
3.3 创建用户 #
bash
sudo useradd -r -s /sbin/nologin orientdb
sudo chown -R orientdb:orientdb /opt/orientdb
3.4 配置为系统服务 #
创建服务文件:
bash
sudo vi /etc/systemd/system/orientdb.service
服务配置内容:
ini
[Unit]
Description=OrientDB Server
After=network.target
[Service]
User=orientdb
Group=orientdb
ExecStart=/opt/orientdb/bin/server.sh
ExecStop=/opt/orientdb/bin/shutdown.sh
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
启动服务:
bash
sudo systemctl daemon-reload
sudo systemctl enable orientdb
sudo systemctl start orientdb
sudo systemctl status orientdb
四、Windows安装 #
4.1 解压安装 #
- 下载
orientdb-community-3.2.28.zip - 解压到目标目录,如
C:\orientdb
4.2 配置环境变量 #
text
系统环境变量:
├── ORIENTDB_HOME = C:\orientdb
└── Path 添加 %ORIENTDB_HOME%\bin
PowerShell配置:
powershell
[Environment]::SetEnvironmentVariable("ORIENTDB_HOME", "C:\orientdb", "Machine")
[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:\orientdb\bin", "Machine")
4.3 启动服务 #
命令行启动:
cmd
cd C:\orientdb\bin
server.bat
4.4 安装为Windows服务 #
cmd
cd C:\orientdb\bin
orientdb-service install
orientdb-service start
五、macOS安装 #
5.1 使用Homebrew #
bash
brew install orientdb
5.2 手动安装 #
bash
tar -zxvf orientdb-community-3.2.28.tar.gz
sudo mv orientdb-community-3.2.28 /usr/local/orientdb
配置环境变量:
bash
echo 'export ORIENTDB_HOME=/usr/local/orientdb' >> ~/.zshrc
echo 'export PATH=$PATH:$ORIENTDB_HOME/bin' >> ~/.zshrc
source ~/.zshrc
5.3 启动服务 #
bash
orientdb-server.sh
六、Docker安装 #
6.1 拉取镜像 #
bash
docker pull orientdb:3.2.28
6.2 运行容器 #
基础运行:
bash
docker run -d --name orientdb \
-p 2424:2424 \
-p 2480:2480 \
-e ORIENTDB_ROOT_PASSWORD=root \
orientdb:3.2.28
数据持久化:
bash
docker run -d --name orientdb \
-p 2424:2424 \
-p 2480:2480 \
-e ORIENTDB_ROOT_PASSWORD=root \
-v /data/orientdb/databases:/orientdb/databases \
-v /data/orientdb/backup:/orientdb/backup \
-v /data/orientdb/config:/orientdb/config \
orientdb:3.2.28
6.3 Docker Compose #
创建 docker-compose.yml:
yaml
version: '3.8'
services:
orientdb:
image: orientdb:3.2.28
container_name: orientdb
ports:
- "2424:2424"
- "2480:2480"
environment:
- ORIENTDB_ROOT_PASSWORD=root
volumes:
- ./databases:/orientdb/databases
- ./backup:/orientdb/backup
- ./config:/orientdb/config
restart: unless-stopped
启动:
bash
docker-compose up -d
七、配置文件详解 #
7.1 配置文件位置 #
text
配置文件目录:
$ORIENTDB_HOME/config/
├── orientdb-server-config.xml - 主配置文件
├── orientdb-server-log.properties - 日志配置
├── security.json - 安全配置
└── hazelcast.xml - 集群配置
7.2 主配置文件 #
orientdb-server-config.xml 主要配置项:
xml
<orient-server>
<handlers>
<handler class="com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin">
<parameters>
<parameter name="nodeName" value="node1"/>
<parameter name="enabled" value="true"/>
</parameters>
</handler>
</handlers>
<network>
<protocols>
<protocol name="binary" implementation="com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary"/>
<protocol name="http" implementation="com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpDb"/>
</protocols>
<listeners>
<listener ip-address="0.0.0.0" port-range="2424-2430" protocol="binary"/>
<listener ip-address="0.0.0.0" port-range="2480-2490" protocol="http"/>
</listeners>
</network>
<storages>
<storage name="plocal" path="plocal:../databases"/>
</storages>
<users>
<user name="root" password="root" resources="*"/>
</users>
</orient-server>
7.3 端口说明 #
| 端口 | 协议 | 说明 |
|---|---|---|
| 2424 | Binary | 二进制协议端口 |
| 2480 | HTTP | Web Studio端口 |
| 5701 | Hazelcast | 集群通信端口 |
7.4 内存配置 #
修改 orientdb-server-config.xml:
xml
<properties>
<entry name="memory.chunk.size" value="134217728"/>
<entry name="memory.directMemory.safeMode" value="true"/>
</properties>
或设置环境变量:
bash
export ORIENTDB_OPTS_MEMORY="-Xms4G -Xmx4G"
7.5 日志配置 #
orientdb-server-log.properties:
properties
log.console.level=info
log.file.level=info
log.file.path=../log/orientdb.log
八、启动与停止 #
8.1 启动服务器 #
前台启动:
bash
cd $ORIENTDB_HOME/bin
./server.sh
后台启动:
bash
./dserver.sh
8.2 停止服务器 #
bash
./shutdown.sh
或使用控制台:
bash
./console.sh
CONNECT remote:localhost root root
SHUTDOWN
8.3 验证启动 #
检查端口:
bash
netstat -tlnp | grep 2424
netstat -tlnp | grep 2480
九、OrientDB Studio #
9.1 访问Studio #
浏览器访问:
text
http://localhost:2480
9.2 登录 #
text
默认账号:
├── 用户名: root
└── 密码: root(或配置的密码)
9.3 Studio功能 #
text
Studio功能:
├── 数据库管理 - 创建/删除数据库
├── 数据浏览 - 查看和编辑数据
├── SQL编辑器 - 执行SQL查询
├── 图可视化 - 图形化展示图数据
├── Schema管理 - 管理类和属性
├── 索引管理 - 创建和管理索引
├── 用户管理 - 管理用户和权限
└── 监控 - 查看服务器状态
十、控制台使用 #
10.1 启动控制台 #
bash
./console.sh
10.2 常用命令 #
sql
CONNECT remote:localhost root root
CREATE DATABASE plocal:/tmp/testdb root root plocal
LIST DATABASES
USE testdb
INFO CLASS Person
DISCONNECT
EXIT
10.3 控制台脚本 #
创建脚本文件 init.sql:
sql
CREATE DATABASE plocal:/data/mydb root root plocal;
CREATE CLASS Person EXTENDS V;
CREATE PROPERTY Person.name STRING;
CREATE PROPERTY Person.age INTEGER;
CREATE INDEX Person.name UNIQUE;
INSERT INTO Person SET name = 'Tom', age = 30;
DISCONNECT;
执行脚本:
bash
./console.sh init.sql
十一、连接配置 #
11.1 Java连接 #
Maven依赖:
xml
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-client</artifactId>
<version>3.2.28</version>
</dependency>
连接代码:
java
import com.orientechnologies.orient.client.remote.OServerAdmin;
import com.orientechnologies.orient.core.db.ODatabaseSession;
import com.orientechnologies.orient.core.db.OrientDB;
import com.orientechnologies.orient.core.db.OrientDBConfig;
OrientDB orientDB = new OrientDB("remote:localhost", "root", "root", OrientDBConfig.defaultConfig());
ODatabaseSession db = orientDB.open("mydb", "admin", "admin");
11.2 Python连接 #
安装驱动:
bash
pip install pyorient
连接代码:
python
from pyorient.orient import OrientDB
client = OrientDB("localhost", 2424)
client.connect("root", "root")
client.db_open("mydb", "admin", "admin")
11.3 Node.js连接 #
安装驱动:
bash
npm install orientjs
连接代码:
javascript
const OrientDB = require('orientjs');
const server = OrientDB({
host: 'localhost',
port: 2424,
username: 'root',
password: 'root'
});
const db = server.use({
name: 'mydb',
username: 'admin',
password: 'admin'
});
十二、安全配置 #
12.1 修改root密码 #
sql
CONNECT remote:localhost root root
ALTER USER root SET PASSWORD = 'newStrongPassword123!'
12.2 配置安全策略 #
security.json:
json
{
"enabled": true,
"authentication": {
"type": "password"
},
"authorization": {
"type": "role"
}
}
12.3 SSL/TLS配置 #
xml
<listener ip-address="0.0.0.0" port-range="2424-2430" protocol="binary">
<ssl>
<parameter name="enabled" value="true"/>
<parameter name="keyStore" value="/path/to/keystore.jks"/>
<parameter name="keyStorePassword" value="password"/>
</ssl>
</listener>
十三、常见问题 #
13.1 启动失败 #
text
问题:端口被占用
解决:检查并释放端口
netstat -tlnp | grep 2424
kill -9 <pid>
13.2 内存不足 #
text
问题:OutOfMemoryError
解决:调整JVM内存参数
export ORIENTDB_OPTS_MEMORY="-Xms4G -Xmx8G"
13.3 权限问题 #
text
问题:Permission denied
解决:修改目录权限
chown -R orientdb:orientdb /opt/orientdb
chmod -R 755 /opt/orientdb
十四、总结 #
安装配置要点:
| 步骤 | 说明 |
|---|---|
| 环境检查 | 确保Java环境正确 |
| 下载解压 | 选择合适版本 |
| 配置环境变量 | 设置ORIENTDB_HOME |
| 修改配置 | 根据需求调整 |
| 启动验证 | 检查服务状态 |
| 安全加固 | 修改默认密码 |
下一步,让我们学习SQL语法基础!
最后更新:2026-03-27