'Neo4j cannot be started because the database files require upgrading and upgrades are disabled in the configuration

Getting the error "Neo4j cannot be started because the database files require upgrading and upgrades are disabled in the configuration. Please set 'dbms.allow_upgrade' to 'true' in your configuration file" when I try to connect neo4j through its Java driver.

Despite that I have set the property dbms.allow_upgrade to true in the neo4j.conf file, nothing is changed.



Solution 1:[1]

This worked for me, upgrade to the 3.3.1 neo4j Docker image! I tried the following but this didn't work either for 3.0:

 docker run \
  --publish=7474:7474 --publish=7687:7687 \
  --volume=$HOME/neo4j/data:/data \
  --volume=$HOME/neo4j/logs:/logs \
  --env=NEO4J_dbms_allow_upgrade=true \
  --env=NEO4J_dbms_allow_format_migration=true \
  neo4j:3.0

===============================================================

fflintstone@OPTIPLEX790 MINGW64 /c/Users/fflintstone
$ docker run \
>     --publish=7474:7474 --publish=7687:7687 \
>     --volume=$HOME/neo4j/data:/data \
>     --volume=$HOME/neo4j/logs:/logs \
>     --env=NEO4J_dbms_allow_upgrade=true \
>     --env=NEO4J_dbms_allow_format_migration=true \
>     neo4j:3.0
Starting Neo4j.
2017-12-26 06:47:03.172+0000 INFO  ======== Neo4j 3.0.12 ========
2017-12-26 06:47:03.228+0000 INFO  No SSL certificate found, generating a self-signed certificate..
2017-12-26 06:47:04.204+0000 INFO  Starting...
2017-12-26 06:47:05.140+0000 INFO  Bolt enabled on 0.0.0.0:7687.
2017-12-26 06:47:05.560+0000 ERROR Neo4j cannot be started, because the database files require upgrading and upgrades ar
e disabled in configuration. Please set 'dbms.allow_format_migration' to 'true' in your configuration file and try again
.

fflintstone@OPTIPLEX790 MINGW64 /c/Users/fflintstone
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
neo4j               3.0                 39739226e15b        13 days ago         606MB

fflintstone@OPTIPLEX790 MINGW64 /c/Users/fflintstone
$ docker run     --publish=7474:7474 --publish=7687:7687     --volume=$HOME/neo4j/data:/data     --volume=$HOME/neo4j/l
ogs:/logs     neo4j:3.3.1
Unable to find image 'neo4j:3.3.1' locally
3.3.1: Pulling from library/neo4j
2fdfe1cd78c2: Pull complete
82630fd6e5ba: Pull complete
119d364c885d: Pull complete
46f8fad107ee: Pull complete
fe7f5c604f04: Pull complete
6fd4ca7c99ff: Pull complete
d242a75fec77: Pull complete
Digest: sha256:baeb76f0d4785817c2a3608796ff0104a8f87ed89fe3391ef467eb6f0a1fc40e
Status: Downloaded newer image for neo4j:3.3.1
Active database: graph.db
Directories in use:
  home:         /var/lib/neo4j
  config:       /var/lib/neo4j/conf
  logs:         /logs
  plugins:      /var/lib/neo4j/plugins
  import:       /var/lib/neo4j/import
  data:         /var/lib/neo4j/data
  certificates: /var/lib/neo4j/certificates
  run:          /var/lib/neo4j/run
Starting Neo4j.
2017-12-26 06:51:42.867+0000 WARN  Unknown config option: causal_clustering.discovery_listen_address
2017-12-26 06:51:42.872+0000 WARN  Unknown config option: causal_clustering.raft_advertised_address
2017-12-26 06:51:42.872+0000 WARN  Unknown config option: causal_clustering.raft_listen_address
2017-12-26 06:51:42.872+0000 WARN  Unknown config option: ha.host.coordination
2017-12-26 06:51:42.872+0000 WARN  Unknown config option: causal_clustering.transaction_advertised_address
2017-12-26 06:51:42.873+0000 WARN  Unknown config option: causal_clustering.discovery_advertised_address
2017-12-26 06:51:42.873+0000 WARN  Unknown config option: ha.host.data
2017-12-26 06:51:42.874+0000 WARN  Unknown config option: causal_clustering.transaction_listen_address
2017-12-26 06:51:42.917+0000 INFO  ======== Neo4j 3.3.1 ========
2017-12-26 06:51:42.995+0000 INFO  Starting...
2017-12-26 06:51:45.790+0000 INFO  Bolt enabled on 0.0.0.0:7687.
2017-12-26 06:51:52.936+0000 INFO  Started.
2017-12-26 06:51:55.374+0000 INFO  Remote interface available at http://localhost:7474/

Solution 2:[2]

In my case, the problem was that the configuration file was not the one I thought.

According to this documentation, it should have been under <neo4j-home>/conf/neo4j.conf

However, running neo4j stop and then neo4j start printed out a couple of key paths.

Directories in use: home: /var/lib/neo4j config: /etc/neo4j logs: /var/log/neo4j plugins: /var/lib/neo4j/plugins import: /var/lib/neo4j/import data: /var/lib/neo4j/data certificates: /var/lib/neo4j/certificates run: /var/run/neo4j

So, editing the config found under /etc/neo4j worked.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 ChromaBurst
Solution 2 Finch_Powers