cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple users using same Neo4j Instance

Havyasa
Node

We are creating a Community edition Neo4J Instance in our VM server. We are required to use the same Neo4j instance for multiple users logging into this VM server.

I am creating the Neo4j Instance as an Admin and creating the instance for All users on the VM server. However, Neo4j forces every user to a new Instance and the other users do not have access to the data which I may have created. So, any DB created within my Instance is not visible to the other Users logging to the VM Server.

Also, we need to make sure that we can access the same Neo4j DB Instance via API as well. We are currently in a POC and would like to explore this before embarking on the enterprise edition/ Aura DB (cloud) version of Neo4j.

Has anyone faced similar problems and how was this addressed with the community edition of Neo4j? Any ideas or suggestions are welcome.

1 ACCEPTED SOLUTION

steggy
Neo4j
Neo4j

You can use desktop to connect to the shared database - just dont create a new database for each user. In Desktop, see the list of databases and use the "Add" button and add a remote connection to the shared database.

View solution in original post

9 REPLIES 9

steggy
Neo4j
Neo4j

@Havyasa - it sounds like you're creating a new database for each user, whereas what you want to do is to create a new user in the database for each user. Have a look https://neo4j.com/docs/cypher-manual/current/access-control/manage-users/

Thanks, Steggy! The challenge we have is that each user logs in with different Corp Id's on the same VM Server. We need access to this DB Instance created by the Admin shared across all users logging into that server.

We had looked into the new user approach earlier. The moment the neo4j is opened by the other user, it creates their own DB Instance along with their unique Project Id. They do not have access to the DB where the new users were created.

steggy
Neo4j
Neo4j

I'm not sure what you've done to set this up. Basically what you want to do is install the neo4j software under a single user (which it seems you've done). When other users log into the VM, they can just use whatever client to connect to that already running database and log in with their user. You don't mention what *kind* of a VM - are you running, for example, Microsoft Windows? What software are your individual users accessing? Give us some more details here, and I'm sure someone can lead you in the right direction

We are using Windows VM Server and am Neo4j Desktop to connect to Neo4j. Definitely, we are doing something Incorrect here.

Based on your notes above, it appears that we need to use a DB client to connect to the Neo4j DB and we should not face this Issue. Would razor Sql or any other open source DB client would work for accessing Neo4j DB. Are there any recommended client application you can recommend to access Neo4j DB.

Would we face similar problem if we want to access Neo4j Bloom from different users? Possible there is a separate solution for that. I would like to tackle the DB Issue before getting to the Neo4j Bloom challenges. 😉

Thank you for your quick response.

steggy
Neo4j
Neo4j

You can use desktop to connect to the shared database - just dont create a new database for each user. In Desktop, see the list of databases and use the "Add" button and add a remote connection to the shared database.

So this is what I plan on doing.

  • Log in as User 1
  • Create a new project folder
  • Create a Local DBMS e.g: DB001 as needed for the project

Now, login as User 2

  • Click on New and "Create project from directory"
  • I should be able to see the Project folder.
  • Now, Add DB DB0001 using the "Remote Connection" option
  • I should get access to the DBMS DB001 created by User 1

Is my understanding correct?

steggy
Neo4j
Neo4j

I don't use browser much myself, but yes that looks reasonable to me.

Thank you! I'll try this option out and let you know my findings.

Woo hoo... That worked!

Thank you, @steggy !

There are some nuances while we try to connect using "Remote Connection" Eg: It didn't give any error when the remote DBMS was not present; but that is not a concern for me now..