1. Neo4j概述与环境规划
Neo4j是一款高性能的图数据库,采用原生图存储结构,支持ACID事务。Neo4j使用Cypher查询语言,适合处理复杂的关系数据,广泛应用于社交网络、知识图谱、推荐系统等场景。更多学习教程www.fgedu.net.cn
1.1 Neo4j版本说明
Neo4j目前主要版本为5.x,本教程以Neo4j 5.15为例进行详细讲解。
$ neo4j –version
neo4j 5.15.0
# 查看服务状态
$ neo4j status
Neo4j is running at pid 12345
1.2 环境规划
本次安装环境规划如下:
IP地址:192.168.1.51
HTTP端口:7474
Bolt端口:7687
数据目录:/data/neo4j/data
配置目录:/etc/neo4j
日志目录:/var/log/neo4j
存储规划:
数据库名:fgedudb
内存配置:8GB堆内存
1.3 Neo4j核心特性
1. 原生图存储:节点和关系的原生存储
2. ACID事务:完整的事务支持
3. Cypher查询:声明式图查询语言
4. 高性能:毫秒级查询响应
5. 集群模式:支持因果集群
6. 可视化:内置浏览器界面
7. 插件扩展:支持APOC等插件
8. 多语言驱动:支持Java、Python、JavaScript等
2. 硬件环境要求与检查
在安装Neo4j之前,需要对服务器硬件环境进行全面检查。学习交流加群风哥微信: itpux-com
2.1 最低硬件要求
CPU:2核心
内存:4GB
磁盘:20GB
推荐配置(生产环境):
CPU:8核心以上
内存:32GB以上
磁盘:500GB以上SSD
大规模部署配置:
CPU:16核心以上
内存:64GB以上
磁盘:1TB以上SSD
2.2 系统环境检查
# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.8 (Ootpa)
# 检查内核版本
# uname -a
Linux fgedudb01 4.18.0-477.10.1.el8_8.x86_64 #1 SMP Fri Apr 4 10:00:00 CST 2026 x86_64 x86_64 x86_64 GNU/Linux
# 检查Java版本(Neo4j需要Java环境)
# java -version
openjdk version “17.0.9” 2023-10-17 LTS
OpenJDK Runtime Environment (build 17.0.9+9-LTS)
OpenJDK 64-Bit Server VM (build 17.0.9+9-LTS, mixed mode, sharing)
# 检查内存信息
# free -h
total used free shared buff/cache available
Mem: 31Gi 1.0Gi 29Gi 256Mi 1.0Gi 30Gi
Swap: 7Gi 0B 7Gi
# 检查磁盘空间
# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/vg_system-lv_root 50G 2.5G 48G 5% /
/dev/sda2 1014M 150M 865M 15% /boot
/dev/mapper/vg_data-lv_data 500G 50G 450G 10% /data
2.3 安装Java环境
# dnf install -y java-17-openjdk java-17-openjdk-devel
# 输出示例:
上次元数据过期检查:0:00:00 前,执行于 2026年04月04日 星期五 10时00分00秒。
依赖关系解决。
================================================================================
软件包 架构 版本 仓库 大小
================================================================================
安装:
java-17-openjdk x86_64 1:17.0.9.0.9-1.el8 appstream 300 k
java-17-openjdk-devel x86_64 1:17.0.9.0.9-1.el8 appstream 3.4 M
事务概要
================================================================================
安装 2 软件包
总下载:3.7 M
安装大小:15 M
下载软件包:
已安装:
java-17-openjdk-1:17.0.9.0.9-1.el8.x86_64
java-17-openjdk-devel-1:17.0.9.0.9-1.el8.x86_64
完毕!
# 配置JAVA_HOME环境变量
# vi /etc/profile.d/java.sh
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
# 使环境变量生效
# source /etc/profile.d/java.sh
# 验证Java环境
# echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk
# java -version
openjdk version “17.0.9” 2023-10-17 LTS
2.4 内核参数配置
# vi /etc/sysctl.d/99-neo4j.conf
# 添加以下参数
# 文件描述符限制
fs.file-max = 655360
# 内存参数
vm.max_map_count = 262144
vm.swappiness = 1
# 使内核参数生效
# sysctl -p /etc/sysctl.d/99-neo4j.conf
# 输出示例:
fs.file-max = 655360
vm.max_map_count = 262144
vm.swappiness = 1
# 配置用户限制
# vi /etc/security/limits.conf
# 添加以下配置
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
3. Neo4j安装步骤
本节详细介绍Neo4j 5.15的安装过程。学习交流加群风哥QQ113257174
3.1 添加Neo4j仓库
# rpm –import https://debian.neo4j.com/neotechnology.gpg.key
# 创建仓库配置
# vi /etc/yum.repos.d/neo4j.repo
[neo4j]
name=Neo4j Yum Repo
baseurl=https://yum.neo4j.com
enabled=1
gpgcheck=1
# 更新缓存
# dnf makecache
3.2 安装Neo4j
# dnf install -y neo4j-5.15.0
# 输出示例:
上次元数据过期检查:0:00:00 前,执行于 2026年04月04日 星期五 10时00分00秒。
依赖关系解决。
================================================================================
软件包 架构 版本 仓库 大小
================================================================================
安装:
neo4j x86_64 5.15.0-1 neo4j 50 M
事务概要
================================================================================
安装 1 软件包
总下载:50 M
安装大小:100 M
下载软件包:
neo4j-5.15.0-1.x86_64.rpm 10.0 MB/s | 50 MB 00:05
——————————————————————————–
总计 10.0 MB/s | 50 MB 00:05
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : [100%]
安装 : neo4j-5.15.0-1.x86_64 [100%]
验证 : neo4j-5.15.0-1.x86_64 [100%]
已安装:
neo4j-5.15.0-1.x86_64
完毕!
# 验证安装
$ neo4j –version
neo4j 5.15.0
# 查看安装目录
# ls -la /usr/share/neo4j/
总用量 0
drwxr-xr-x. 2 root root 6 4月 4 10:00 bin
drwxr-xr-x. 2 root root 6 4月 4 10:00 conf
drwxr-xr-x. 2 root root 6 4月 4 10:00 lib
drwxr-xr-x. 2 root root 6 4月 4 10:00 plugins
3.3 配置数据目录
# mkdir -p /data/neo4j/data
# mkdir -p /data/neo4j/logs
# mkdir -p /data/neo4j/import
# mkdir -p /data/neo4j/plugins
# 设置权限
# chown -R neo4j:neo4j /data/neo4j
# chmod -R 755 /data/neo4j
# 修改配置文件
# vi /etc/neo4j/neo4j.conf
# 修改数据目录
server.directories.data=/data/neo4j/data
server.directories.logs=/data/neo4j/logs
server.directories.import=/data/neo4j/import
server.directories.plugins=/data/neo4j/plugins
3.4 启动Neo4j服务
# systemctl start neo4j
# 设置开机自启动
# systemctl enable neo4j
# 输出示例:
Created symlink /etc/systemd/system/multi-user.target.wants/neo4j.service → /usr/lib/systemd/system/neo4j.service.
# 检查服务状态
# systemctl status neo4j
● neo4j.service – Neo4j Graph Database
Loaded: loaded (/usr/lib/systemd/system/neo4j.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2026-04-04 10:00:00 CST; 5s ago
Main PID: 12345 (java)
Tasks: 50 (limit: 4915)
Memory: 500.0M
CGroup: /system.slice/neo4j.service
└─12345 /usr/bin/java …
# 检查端口
# netstat -tlnp | grep java
tcp6 0 0 :::7474 :::* LISTEN 12345/java
tcp6 0 0 :::7473 :::* LISTEN 12345/java
tcp6 0 0 :::7687 :::* LISTEN 12345/java
# 端口说明:
# 7474: HTTP端口
# 7473: HTTPS端口
# 7687: Bolt协议端口
4. Neo4j参数配置
Neo4j参数配置是数据库性能优化的关键步骤,直接影响系统性能。更多学习教程公众号风哥教程itpux_com
4.1 配置文件说明
# vi /etc/neo4j/neo4j.conf
# 主要配置参数说明:
# 网络配置
server.default_listen_address=0.0.0.0
server.http.enabled=true
server.http.listen_address=:7474
server.https.enabled=true
server.https.listen_address=:7473
server.bolt.enabled=true
server.bolt.listen_address=:7687
# 数据目录
server.directories.data=/data/neo4j/data
server.directories.logs=/data/neo4j/logs
# 内存配置
server.memory.heap.initial_size=4G
server.memory.heap.max_size=8G
server.memory.pagecache.size=4G
# 查看当前配置
$ neo4j admin server get-defaults
4.2 内存参数配置
# vi /etc/neo4j/neo4j.conf
# JVM堆内存配置
# 建议设置为物理内存的50%
server.memory.heap.initial_size=8G
server.memory.heap.max_size=8G
# 页面缓存配置
# 建议设置为物理内存的25-50%
server.memory.pagecache.size=4G
# 事务日志配置
db.tx_log.rotation.retention_policy=2 days 1G size
# 重启服务
# systemctl restart neo4j
# 验证内存配置
$ neo4j admin server get-defaults | grep memory
server.memory.heap.initial_size=8G
server.memory.heap.max_size=8G
server.memory.pagecache.size=4G
4.3 安全配置
# vi /etc/neo4j/neo4j.conf
# 认证配置
dbms.security.auth_enabled=true
# 密码策略
dbms.security.auth.password_policy.minimum_length=8
dbms.security.auth.password_policy.minimum_uppercase_count=1
dbms.security.auth.password_policy.minimum_lowercase_count=1
dbms.security.auth.password_policy.minimum_digit_count=1
# 远程访问配置
dbms.connector.http.advertised_address=192.168.1.51:7474
dbms.connector.https.advertised_address=192.168.1.51:7473
dbms.connector.bolt.advertised_address=192.168.1.51:7687
# 重启服务
# systemctl restart neo4j
# 修改默认密码
$ cypher-shell -u neo4j -p neo4j
Connected to Neo4j at neo4j://localhost:7687 as user neo4j.
Type :help for a list of available commands or :exit to exit the shell.
Note that Cypher queries must end with a semicolon.
neo4j@neo4j> ALTER CURRENT USER SET PASSWORD FROM ‘neo4j’ TO ‘fgedupass123’;
5. 图数据库管理
Neo4j使用Cypher查询语言管理图数据,支持节点、关系和属性的创建和查询。from:www.itpux.com
5.1 创建数据库
$ cypher-shell -u neo4j -p fgedupass123
# 创建数据库
neo4j@neo4j> CREATE DATABASE fgedudb;
# 输出示例:
0 rows
ready to start consuming query results after 5 ms, query completed after 5 ms.
# 查看所有数据库
neo4j@neo4j> SHOW DATABASES;
+——————————————————————————————–+
| name | type | status | currentStatus | default | home | constituents | access |
+——————————————————————————————–+
| “neo4j” | “standard” | “online” | “online” | TRUE | TRUE | [] | “read-write” |
| “fgedudb” | “standard” | “online” | “online” | FALSE | FALSE | [] | “read-write” |
| “system” | “system” | “online” | “online” | FALSE | FALSE | [] | “read-write” |
+——————————————————————————————–+
3 rows
ready to start consuming query results after 5 ms, query completed after 5 ms.
# 切换到新数据库
neo4j@neo4j> :use fgedudb;
neo4j@fgedudb>
5.2 创建节点和关系
neo4j@fgedudb> CREATE (p:Person {name: ‘张三’, age: 30, city: ‘北京’});
# 输出示例:
Created 1 nodes, Set 1 properties, Added 1 labels
ready to start consuming query results after 5 ms, query completed after 5 ms.
# 创建多个节点
neo4j@fgedudb> CREATE (p1:Person {name: ‘李四’, age: 28, city: ‘上海’}),
(p2:Person {name: ‘王五’, age: 35, city: ‘广州’}),
(p3:Person {name: ‘赵六’, age: 32, city: ‘深圳’});
# 创建带关系的节点
neo4j@fgedudb> CREATE (a:Person {name: ‘张三’})-[:KNOWS {since: 2020}]->(b:Person {name: ‘李四’});
# 查看所有节点
neo4j@fgedudb> MATCH (n) RETURN n LIMIT 10;
+—————————————————+
| n |
+—————————————————+
| (:Person {name: “张三”, age: 30, city: “北京”}) |
| (:Person {name: “李四”, age: 28, city: “上海”}) |
| (:Person {name: “王五”, age: 35, city: “广州”}) |
| (:Person {name: “赵六”, age: 32, city: “深圳”}) |
+—————————————————+
# 创建关系
neo4j@fgedudb> MATCH (a:Person {name: ‘张三’}), (b:Person {name: ‘王五’})
CREATE (a)-[:FRIEND {since: 2021}]->(b);
# 查看关系
neo4j@fgedudb> MATCH (a)-[r]->(b) RETURN a.name, type(r), b.name;
+————————————-+
| a.name | type(r) | b.name |
+————————————-+
| “张三” | “KNOWS” | “李四” |
| “张三” | “FRIEND” | “王五” |
+————————————-+
5.3 查询数据
neo4j@fgedudb> MATCH (p:Person) WHERE p.age > 30 RETURN p.name, p.age;
+——————-+
| p.name | p.age |
+——————-+
| “王五” | 35 |
| “赵六” | 32 |
+——————-+
# 关系查询
neo4j@fgedudb> MATCH (a:Person {name: ‘张三’})-[:KNOWS|FRIEND]->(b)
RETURN a.name, b.name;
+——————-+
| a.name | b.name |
+——————-+
| “张三” | “李四” |
| “张三” | “王五” |
+——————-+
# 多跳关系查询
neo4j@fgedudb> MATCH path = (a:Person)-[*1..3]-(b:Person)
RETURN path;
# 聚合查询
neo4j@fgedudb> MATCH (p:Person)
RETURN p.city, count(*) as count, avg(p.age) as avg_age;
+———————————–+
| p.city | count | avg_age |
+———————————–+
| “北京” | 1 | 30.0 |
| “上海” | 1 | 28.0 |
| “广州” | 1 | 35.0 |
| “深圳” | 1 | 32.0 |
+———————————–+
# 最短路径查询
neo4j@fgedudb> MATCH path = shortestPath((a:Person {name: ‘张三’})-[*]-(b:Person {name: ‘赵六’}))
RETURN path;
# 统计节点数量
neo4j@fgedudb> MATCH (n) RETURN count(n) as node_count;
+————+
| node_count |
+————+
| 4 |
+————+
5.4 创建索引
neo4j@fgedudb> CREATE INDEX person_name_index FOR (p:Person) ON (p.name);
# 输出示例:
Added 1 index.
ready to start consuming query results after 5 ms, query completed after 5 ms.
# 创建复合索引
neo4j@fgedudb> CREATE INDEX person_city_age_index FOR (p:Person) ON (p.city, p.age);
# 创建唯一约束
neo4j@fgedudb> CREATE CONSTRAINT person_name_unique FOR (p:Person) REQUIRE p.name IS UNIQUE;
# 查看所有索引
neo4j@fgedudb> SHOW INDEXES;
+————————————————————————–+
| id | name | state | type | uniqueness |
+————————————————————————–+
| 1 | “person_name_index” | “ONLINE” | “BTREE” | “NONUNIQUE” |
| 2 | “person_city_age_index”| “ONLINE”| “BTREE” | “NONUNIQUE” |
| 3 | “person_name_unique” | “ONLINE” | “BTREE” | “UNIQUE” |
+————————————————————————–+
# 使用索引查询
neo4j@fgedudb> MATCH (p:Person) WHERE p.name = ‘张三’ RETURN p;
# 查看查询计划
neo4j@fgedudb> EXPLAIN MATCH (p:Person) WHERE p.name = ‘张三’ RETURN p;
6. 网络连接配置
网络连接配置是客户端访问Neo4j的关键,需要正确配置监听端口和连接方式。更多学习教程www.fgedu.net.cn
6.1 配置网络监听
# netstat -tlnp | grep java
tcp6 0 0 :::7474 :::* LISTEN 12345/java
tcp6 0 0 :::7473 :::* LISTEN 12345/java
tcp6 0 0 :::7687 :::* LISTEN 12345/java
# 修改监听地址
# vi /etc/neo4j/neo4j.conf
server.default_listen_address=0.0.0.0
server.http.advertised_address=192.168.1.51:7474
server.https.advertised_address=192.168.1.51:7473
server.bolt.advertised_address=192.168.1.51:7687
# 重启服务
# systemctl restart neo4j
# 配置防火墙
# firewall-cmd –permanent –add-port=7474/tcp
success
# firewall-cmd –permanent –add-port=7473/tcp
success
# firewall-cmd –permanent –add-port=7687/tcp
success
# firewall-cmd –reload
success
6.2 配置HTTPS
# mkdir -p /etc/neo4j/certificates
# openssl req -x509 -newkey rsa:4096 -keyout /etc/neo4j/certificates/neo4j.key \
-out /etc/neo4j/certificates/neo4j.crt -days 365 -nodes \
-subj “/CN=fgedudb01.fgedu.net.cn”
# 修改配置文件
# vi /etc/neo4j/neo4j.conf
server.https.enabled=true
server.https.tls_certificate=/etc/neo4j/certificates/neo4j.crt
server.https.tls_key=/etc/neo4j/certificates/neo4j.key
# 重启服务
# systemctl restart neo4j
# 验证HTTPS
$ curl -k https://192.168.1.51:7473
6.3 使用Python连接
$ pip install neo4j
# Python连接示例
from neo4j import GraphDatabase
class Neo4jConnection:
def __init__(self, uri, user, password):
self.driver = GraphDatabase.driver(uri, auth=(user, password))
def close(self):
self.driver.close()
def query(self, query, parameters=None):
with self.driver.session() as session:
result = session.run(query, parameters)
return [record.data() for record in result]
# 连接Neo4j
conn = Neo4jConnection(“bolt://192.168.1.51:7687”, “neo4j”, “fgedupass123”)
# 执行查询
result = conn.query(“MATCH (n) RETURN count(n) as count”)
print(result)
# [{‘count’: 4}]
# 创建节点
conn.query(“CREATE (p:Person {name: $name, age: $age})”,
parameters={“name”: “测试用户”, “age”: 25})
# 关闭连接
conn.close()
7. 备份恢复配置
备份恢复是数据库管理的重要环节,Neo4j提供了多种备份恢复方式。学习交流加群风哥微信: itpux-com
7.1 数据备份
# mkdir -p /backup/neo4j
# 使用neo4j-admin备份
# neo4j-admin database backup neo4j –to-path=/backup/neo4j
# 输出示例:
Starting backup of database ‘neo4j’
Backup of database ‘neo4j’ completed successfully
Backup location: /backup/neo4j/neo4j-2026-04-04T10:00:00
# 备份所有数据库
# neo4j-admin database backup –to-path=/backup/neo4j
# 查看备份文件
# ls -la /backup/neo4j/
总用量 0
drwxr-xr-x. 2 neo4j neo4j 6 4月 4 10:00 neo4j-2026-04-04T10:00:00
# 导出为Cypher脚本
$ neo4j-admin database dump neo4j –to-path=/backup/neo4j/dump
7.2 数据恢复
# systemctl stop neo4j
# 恢复数据库
# neo4j-admin database restore neo4j –from-path=/backup/neo4j/neo4j-2026-04-04T10:00:00
# 输出示例:
Starting restore of database ‘neo4j’
Restore of database ‘neo4j’ completed successfully
# 从dump文件恢复
# neo4j-admin database load neo4j –from-path=/backup/neo4j/dump
# 启动服务
# systemctl start neo4j
# 验证恢复
$ cypher-shell -u neo4j -p fgedupass123 “MATCH (n) RETURN count(n)”
+———-+
| count(n) |
+———-+
| 4 |
+———-+
7.3 自动备份脚本
# vi /usr/local/bin/neo4j_backup.sh
#!/bin/bash
BACKUP_DIR=/backup/neo4j
DATE=$(date +%Y%m%d_%H%M%S)
LOG_FILE=/var/log/neo4j/backup.log
echo “=== Backup started at $(date) ===” >> $LOG_FILE
neo4j-admin database backup neo4j –to-path=${BACKUP_DIR}/${DATE} >> $LOG_FILE 2>&1
if [ $? -eq 0 ]; then
echo “Backup completed successfully” >> $LOG_FILE
else
echo “Backup failed” >> $LOG_FILE
fi
# 清理30天前的备份
find ${BACKUP_DIR} -mindepth 1 -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \; >> $LOG_FILE 2>&1
echo “=== Backup finished at $(date) ===” >> $LOG_FILE
echo “” >> $LOG_FILE
# 设置脚本权限
# chmod +x /usr/local/bin/neo4j_backup.sh
# 配置定时任务
# crontab -e
# 添加以下内容(每天凌晨2点执行备份)
0 2 * * * /usr/local/bin/neo4j_backup.sh
8. 升级与迁移
Neo4j升级和迁移是运维工作中的重要环节,需要仔细规划和执行。更多学习教程公众号风哥教程itpux_com
8.1 版本升级
$ neo4j –version
neo4j 5.15.0
# 执行完整备份
# neo4j-admin database backup neo4j –to-path=/backup/neo4j/pre_upgrade
# 停止服务
# systemctl stop neo4j
# 升级Neo4j
# dnf update neo4j
# 或者安装指定版本
# dnf install neo4j-5.16.0
# 执行数据库迁移
# neo4j-admin database migrate neo4j
# 输出示例:
Starting migration of database ‘neo4j’
Migration of database ‘neo4j’ completed successfully
# 启动服务
# systemctl start neo4j
# 验证版本
$ neo4j –version
neo4j 5.16.0
8.2 迁移到新服务器
# neo4j-admin database backup neo4j –to-path=/backup/neo4j/migration
# 打包备份文件
# tar -czf neo4j_migration.tar.gz /backup/neo4j/migration
# 传输备份文件
# scp neo4j_migration.tar.gz new-server:/backup/
# 在新服务器安装Neo4j
# 参考3.2节安装步骤
# 恢复数据
# systemctl stop neo4j
# tar -xzf /backup/neo4j_migration.tar.gz -C /
# neo4j-admin database restore neo4j –from-path=/backup/neo4j/migration/neo4j-*
# 启动服务
# systemctl start neo4j
# 验证迁移
$ cypher-shell -u neo4j -p fgedupass123 “MATCH (n) RETURN count(n)”
9. 生产环境实战案例
本节提供一个完整的生产环境配置案例,帮助读者更好地理解Neo4j的实际应用。from:www.itpux.com
9.1 集群部署
# 至少需要3个核心服务器
# 节点1: fgedudb01 (192.168.1.51) – Core
# 节点2: fgedudb02 (192.168.1.52) – Core
# 节点3: fgedudb03 (192.168.1.53) – Core
# 在所有节点配置
# vi /etc/neo4j/neo4j.conf
# 节点1配置
server.default_listen_address=0.0.0.0
server.default_advertised_address=192.168.1.51
dbms.mode=CORE
causal_clustering.minimum_core_cluster_size_at_formation=3
causal_clustering.minimum_core_cluster_size_at_runtime=3
causal_clustering.initial_discovery_members=192.168.1.51:7000,192.168.1.52:7000,192.168.1.53:7000
# 节点2配置
server.default_advertised_address=192.168.1.52
dbms.mode=CORE
# 节点3配置
server.default_advertised_address=192.168.1.53
dbms.mode=CORE
# 启动所有节点
# systemctl start neo4j
# 检查集群状态
$ cypher-shell -u neo4j -p fgedupass123 “CALL dbms.cluster.overview()”
+———————————————————————————————-+
| id | addresses | groups | role |
+———————————————————————————————-+
| “fgedudb01-12345” | {bolt: “bolt://192.168.1.51:7687”, …} | [“core”] | “LEADER”|
| “fgedudb02-12346” | {bolt: “bolt://192.168.1.52:7687”, …} | [“core”] | “FOLLOWER”|
| “fgedudb03-12347” | {bolt: “bolt://192.168.1.53:7687”, …} | [“core”] | “FOLLOWER”|
+———————————————————————————————-+
9.2 性能监控
neo4j@fgedudb> CALL db.stats.retrieve(‘GRAPH COUNTS’);
+——————————————+
| section | data |
+——————————————+
| “GRAPH COUNTS”| {nodes: 10000, …} |
+——————————————+
# 查看查询性能
neo4j@fgedudb> CALL dbms.listQueries();
+————————————————————————–+
| queryId | username | query | elapsedTime | status |
+————————————————————————–+
| “q1” | “neo4j” | “MATCH (n) RETURN n LIMIT 10” | “5 ms” | “running” |
+————————————————————————–+
# 查看事务信息
neo4j@fgedudb> CALL dbms.listTransactions();
# 查看JVM信息
neo4j@fgedudb> CALL dbms.info();
# 查看页面缓存统计
neo4j@fgedudb> CALL dbms.queryJmx(“org.neo4j:*”);
# 查看存储使用
neo4j@fgedudb> CALL dbms.listConfig(‘server.directories’);
9.3 APOC插件安装
# cd /data/neo4j/plugins
# wget https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/5.15.0/apoc-5.15.0-core.jar
# 修改配置文件
# vi /etc/neo4j/neo4j.conf
# 添加插件配置
dbms.security.procedures.unrestricted=apoc.*
dbms.security.procedures.allowlist=apoc.*
# 重启服务
# systemctl restart neo4j
# 验证APOC安装
neo4j@neo4j> RETURN apoc.version();
+————–+
| apoc.version |
+————–+
| “5.15.0” |
+————–+
# 使用APOC功能
neo4j@neo4j> CALL apoc.help(‘search’);
neo4j@neo4j> CALL apoc.path.expandConfig(…);
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
