neo4j命令行导入数据

docker-compose.yml 文件内容如下:

services:
  # neo4j
  neo4j:
  image: neo4j
  container_name: neo4j
  restart: always
  ports:
    - 7474:7474
    - 7687:7687
  environment:
  NEO4J_apoc_export_file_enabled: true
  NEO4J_apoc_import_file_enabled: true
  NEO4J_apoc_import_file_use__neo4j__config: true
  NEO4J_PLUGINS: '["apoc"]'
  NEO4J_AUTH: neo4j/msxk
  NEO4J_dbms_security_procedures_unrestricted: apoc.*
  NEO4J_dbms_security_auth__minimum__password__length: 4
  networks:
    - msxk-network
  volumes:
    - /$LJL_DOCKER/volume/neo4j/data:/data
    - /$LJL_DOCKER/volume/neo4j/logs:/logs
    - /$LJL_DOCKER/volume/neo4j/config:/config
    - /$LJL_DOCKER/volume/neo4j/plugins:/plugins
    # 20250617添加import挂载
    #- /$LJL_DOCKER/volume/neo4j/import:/var/lib/neo4j/import

networks:
  msxk-network:
    name: msxk-network
    driver: bridge

之前都是直接访问web端,现在在终端导入数据记录一下 因为没有挂载import目录,所以这里要做一些移动操作

准备文件如下: import.cypher # 存放cypher语句 data1.json # 数据文件 …

我放到了data目录里面,然后进入容器

docker exec -it neo4j /bin/bash
# 把数据文件放到import文件夹里面
cd /data && mv data.json xxx.json /var/lib/neo4j/import
cd /var/lib/neo4j/bin
# 执行就行了
cypher-shell -f /data/import.cypher