Updating MongoDB 3.6 to 4.4¶
The following instructions include the update of both, single system and cluster.
In case of a single system perform all instructions, except of those concerning the replica set.
In case of a cluster perfom the instructions as stated in the subchapters.
Caution - incompatibility
Due to incompatibility of the MongoDB service versions 3.6 and 4.4 you must export the stored data before updating and reimport them afterwards.
The standard procedure is as follows:
Saving the Database Content¶
-
Open a PowerShell (Administrator).
-
Start MongoDB, if necessary:
Start-Service -name seal-mongodb
Hint - cluster
In a cluster, you have to start all members of the replica set.
-
Save the stored data:
-
Single server
& "C:\Program Files\MongoDB\Tools\100\bin\mongodump.exe" /ssl /tlsInsecure /oplog /gzip /out "$env:TEMP\mongodump"
-
Cluster
& "C:\Program Files\MongoDB\Tools\100\bin\mongodump.exe" /uri:"mongodb://<server1>:27017,<server2>:27017,<server3>:27017/?replicaSet=p5" /ssl /tlsInsecure /oplog /gzip /out "$env:TEMP\mongodump"
Hint - cluster
In a cluster, you need to perform the above instructions on one server only. This will not affect the operation of the replica set primary.
-
Updating the Database¶
Hint - Cluster
In a cluster, you have to perform the following instructions except of the initializing of the database on every member of the replica set.
Caution - updating members of the replica set
In a cluster, you have to upgrade and reconfigure all members of the replica before you restore the database.
-
Stop all dependent services.
Hint - services with database access
Services that access the database will restart continuously while you are updating the database. To prevent this unnecessary server load, you need to stop all services.
Literature - further information
Please refer to the documentations of the installed products for further information about stopping the corresponding services.
-
Stop MongoDB:
Stop-Service -name seal-mongodb -Force
-
Remove all subdirectories and files in the
C:\ProgramData\SEAL Systems\data\seal-mongodb
directory, except of the base directory itself:Remove-Item "C:\ProgramData\SEAL Systems\data\seal-mongodb\*" -Force -Recurse
-
In single systems or the replica set primary, Reinitialize the database.
Restoring the Database Content¶
Hint - Cluster
In a cluster, you have to perform the following instructions on the replica set primary only.
- Remove the directory of the admin database dump:
Remove-Item "$env:TEMP\mongodump\admin" -Force -Recurse
!!! caution "Caution - admin database"
MongoDB uses the admin database for storing internal configuration and runtime information. After the update, this information will no longer match the new configuration. Therefore, you must remove this directory before you restore the data.
-
Restore the data:
-
Single server
& "C:\Program Files\MongoDB\Tools\100\bin\mongorestore.exe" /ssl /tlsInsecure /drop /oplogReplay /gzip "$env:TEMP\mongodump"
-
Cluster
& "C:\Program Files\MongoDB\Tools\100\bin\mongorestore.exe" /uri:"mongodb://<server1>:27017,<server2>:27017,<server3>:27017/?replicaSet=p5" /ssl /tlsInsecure /drop /oplogReplay /gzip "$env:TEMP\mongodump"
Hint - cluster
In a cluster, you have to perform the above instructions on one server only.
-
-
Restart MongoDB:
Restart-Service -name seal-mongodb -Force
-
Restart all dependent services.
Literature - further information
Please refer to the documentations of the installed products for further information about starting the corresponding services.