侧边栏壁纸
博主头像
suke

ah?

  • 累计撰写 54 篇文章
  • 累计创建 38 个标签
  • 累计收到 103 条评论

目 录CONTENT

文章目录

图数据库neo4j部署到增删改查快速实践

suke
2022-08-17 / 0 评论 / 2 点赞 / 360 阅读 / 805 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-08-30,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

neo4j-test-2022081501-1660727229913

镜像拉取

## https://hub.docker.com/_/neo4j/tags 
docker pull neo4j:4.4.9-community ## 注意社区版和企业版

部署启动

基础说明

容器部署默认用户名必须是 neo4j,--privileged授予最高权限 生产环境请在前面创建文件夹的时候授予文件夹 neo4j用户权限

chown -R neo4j:neo4j /home/neo4j/*
docker run -d --name container_name \  //-d表示容器后台运行 --name指定容器名字
	-p 7474:7474 -p 7687:7687 \  //映射容器的端口号到宿主机的端口号
	-v /home/neo4j/data:/data \  //把容器内的数据目录挂载到宿主机的对应目录下
	-v /home/neo4j/logs:/logs \  //挂载日志目录
	-v /home/neo4j/conf:/var/lib/neo4j/conf   //挂载配置目录
	-v /home/neo4j/import:/var/lib/neo4j/import \  //挂载数据导入目录
    -v /home/neo4j/plugins:/plugins \ //插件
	--env NEO4J_AUTH=neo4j/password \  //设定数据库的名字的访问密码
	neo4j //指定使用的镜像

容器部署

预备文件夹

mkdir -p /home/neo4j/data && mkdir -p /home/neo4j/logs && mkdir -p /home/neo4j/conf && mkdir -p /home/neo4j/import &&  mkdir -p /home/neo4j/plugins

启动

docker run -d --privileged --name neo4j-cebon -p 7474:7474 -p 7687:7687 -v /home/neo4j/data:/data -v /home/neo4j/logs:/logs -v /home/neo4j/conf:/var/lib/neo4j/conf -v /home/neo4j/import:/var/lib/neo4j/import --env NEO4J_AUTH=neo4j/pwdneo4j neo4j:4.4.9-community

访问

## 7474 网页可视化  7687数据库连接地址
localhost:7474

预见性问题说明

## 新版默认开启外部所有IP访问;
dbms.connectors.default_listen_address=0.0.0.0  //指定连接器的默认监听ip为0.0.0.0,即允许任何ip连接到数据库
## 导入数据报错解决办法
dbms.directories.import=import //默认导入文件的文件夹位置 容器启动后默认没有这个配置,因此导入数据会报错,所以请配置后则前面挂在导入数据目录生效

导入mysql数据

  1. 先导出到csv
  2. 上传到前面的挂载数据导入目录/home/neo4j/import
  3. 打开可视化页面 7474
  4. 输入导入语句
load csv with headers  from "file:///department.csv" as line create(n:department{dept_id:line.id,dept_name:line.dept_name,dept_pid:line.parent_id}) return n

创建变量属性一定要加标签,下面的n都代表一个变量,临时生效,用完即没,n:lebel 代表给某个特定标签指定临时变量

增加

create (n:Person { name: 'wjl', id: 10001 }) return n;
create (n:Person { name: 'suc', id: 10002 }) return n;

查看

## 查询固定标签下的
match (n:Person) return n;
match (n:Person) return n.name;
## 查询所有则去掉标签即可
match (n) where n.id = 10001 return n

修改

## 变更值
match (n:Person) where n.id = 10001 set n.name = 'wmm002'  return n;
##添加额外标签
match (n:Person) where n.id = 10001 set n:GroupAdmin  return n;

## 增加额外属性
match (n:Person) where n.id = 10001 set n.dept_id = 1,n.nickname = '王某某' return n

## 变更完成再次查询则会发现该变量增加了标签和额外变量
## match (n) where n.id = 10001 return n

删除

## 删除指定标签的数据
MATCH (n:Person) DELETE n
## 清空库
MATCH (n) DELETE n

创建关联关系

match(a:Users),(b:department) where a.user_dept_id = b.dept_id CREATE (a)-[r:belong]->(b) 
RETURN r;
2

评论区