diff --git a/Documentation/Books/Manual/Installation/Windows.md b/Documentation/Books/Manual/Installation/Windows.md index e531f47beb..ad66ac188e 100644 --- a/Documentation/Books/Manual/Installation/Windows.md +++ b/Documentation/Books/Manual/Installation/Windows.md @@ -74,7 +74,7 @@ avoids the data being synced to the windows domain controller. If this checkbox is selected the installer will attempt to perform an automatic update. For more information please see -[Upgrading from Previous Version](#upgrading-from-previous-version). +[Upgrading on Windows](../Upgrading/OSSpecificInfo/Windows.md). #### Keep Backup @@ -95,15 +95,6 @@ Select if you want the installer to create Desktop Icons that let you: - start the commandline client (arangosh) - start the database server (single user installation only) -### Upgrading from Previous Version - -If you are upgrading ArangoDB from an earlier version you need to copy your old -database directory [to the new default paths](#custom-install-paths). Upgrading -will keep your old data, password and choice of storage engine as it is. -Switching to the RocksDB storage engine requires an -[export](../Programs/Arangoexport/README.md) and -[reimport](../Programs/Arangoimport/README.md) of your data. - ### Starting If you installed ArangoDB for multiple users (as a service) it is automatically diff --git a/Documentation/Books/Manual/SUMMARY.md b/Documentation/Books/Manual/SUMMARY.md index 8a4983b9b9..48e677d6f6 100644 --- a/Documentation/Books/Manual/SUMMARY.md +++ b/Documentation/Books/Manual/SUMMARY.md @@ -312,6 +312,7 @@ * [OS-specific Information](Upgrading/OSSpecificInfo/README.md) * [Upgrading on Linux](Upgrading/OSSpecificInfo/Linux.md) * [Upgrading on macOS](Upgrading/OSSpecificInfo/MacOS.md) + * [Upgrading on Windows](Upgrading/OSSpecificInfo/Windows.md) * [Upgrading _Starter_ Deployments](Upgrading/Starter/README.md) * [Upgrading Manual Deployments](Upgrading/Manually/README.md) * [Upgrading an Active Failover deployment](Upgrading/Manually/ActiveFailover.md) diff --git a/Documentation/Books/Manual/Upgrading/OSSpecificInfo/README.md b/Documentation/Books/Manual/Upgrading/OSSpecificInfo/README.md index 1e70aad4ab..a8a0317bde 100644 --- a/Documentation/Books/Manual/Upgrading/OSSpecificInfo/README.md +++ b/Documentation/Books/Manual/Upgrading/OSSpecificInfo/README.md @@ -3,3 +3,4 @@ OS-specific Information - [Upgrading on Linux](Linux.md) - [Upgrading on macOS](MacOS.md) +- [Upgrading on Windows](Windows.md) \ No newline at end of file diff --git a/Documentation/Books/Manual/Upgrading/OSSpecificInfo/Windows.md b/Documentation/Books/Manual/Upgrading/OSSpecificInfo/Windows.md new file mode 100644 index 0000000000..4a5abdeffe --- /dev/null +++ b/Documentation/Books/Manual/Upgrading/OSSpecificInfo/Windows.md @@ -0,0 +1,115 @@ +Upgrading on Windows +==================== + +As there are different ways to install ArangoDB on Windows, the upgrade +method depends on the installation method that was used. + +In general, it will be needed to: + +- Install (or unpack) the new ArangoDB binaries on the system +- Upgrade the current database (or perform a restore) +- Optional (but suggested) to keep the system clean (unless there are specific + reasons to not do so): remove the old binaries from the system + +Some of the above steps may be done automatically, depending on your +specifc situation. + +Upgrading via the Installer +--------------------------- + +If you have installed via the _Installer_, to upgrade: + +- Download the new _Installer_ and run it. +- The _Installer_ will ask if you want to update your current database: select + the option "_Automatically update existing ArangoDB database_" so that the database + files will be upgraded. + +![Update Option](installer_upgrade.png) + +{% hint 'info' %} +Upgrading via the Installer, when the old data is kept, will keep your +password and choice of storage engine as it is. +{% endhint %} + +- After installing the new package, you will have both packages installed. +- You can uninstall the old one manually (make a copy of your old configuration +file first). + +![Uninstall old version](both_installations.png) + +{% hint 'danger' %} +When uninstalling the old package, please make sure the option +"_Delete databases with unistallation_" is **not** checked. +{% endhint %} + +![Delete Option](installer_delete.png) + +{% hint 'danger' %} +When upgrading, the Windows Installer does not use the old configuration file +for the installed _Single Instance_ but a new (default) one ([Issue #3773](https://github.com/arangodb/arangodb/issues/3773)). +To use the old configuration, it is currently needed to: +- Stop the server +- Replace the new with the old confituration file +- Restart the server +{% endhint %} + +Manual upgrade of a 'ZIP archive' installation +---------------------------------------------- + +There are two ways to upgrade a _Single Instance_ that has been started +from a _ZIP_ package: + +- In-Place upgrade +- Logical upgrade + +### In-Place upgrade + +{% hint 'info' %} This method works easier if: +- You are using a data directory which is located outside of the directory + created when extracting the _ZIP_ archive (data directory can be set via + the server option *--database.directory*) +- You are using a configuration file which is located outside of the directory + created when extracting the _ZIP_ archive (a configuration file can be passed via + the server option *--configuration*) +{% endhint %} + +Assuming that: +- Your data directory is _directory1_ (e.g. "D:\arango\data") +- Your configuration file is _file_ (e.g. "D:\arango\conf\arangod.conf") +- Your old binaries are on _directory2_ (e.g. "C:\tools\arangodb-3.4.0") + +to perform the upgrade of a _Single Instance_: + +1. Download and extract the new _ZIP_ package into a new directory (e.g + _directory3_ "C:\tools\arangodb-3.4.1") +2. Stop your old server +3. Start again the server (this time using the binary located in _directory3_) + passing: + - _directory1_ as *--database.directory*, + - _file_ as *--configuration* + - the option *--database.auto-upgrade* (so that the old data directory will + be upgraded) +4. When the previous step is finished the server will stop automatically; you + can now start your server again as done in the previous step but without + passing the *--database.auto-upgrade* option +5. Optionally remove the old server package by dropping the corresponding + directory when you are confident enough that all is working fine. + +### Logical upgrade + +To perform the upgrade of a _Single Instance_: + +1. Download the new package and extract it on a different location than the + previous one +2. Stop writes to the old server (e.g. block incoming connections) +3. Take a backup of the data using _arangodump_ +4. Stop the old server +5. Optional (depending on whether or not you modfied default confiugaration), + copy old ArangoDB configuration file to the new server (or just edit + the new configuration file) +6. Start the new server (with a fresh data directory, by default it will be + inside the directory created when extracting the _ZIP_ archive) +7. Restore the backup into the new server using _arangorestore_ +8. Re-enable the writes (e.g. allow again incoming connections) +9. Optionally remove the old server package by dropping the corresponding + directory when you are confident enough that all is working fine. diff --git a/Documentation/Books/Manual/Upgrading/OSSpecificInfo/both_installations.png b/Documentation/Books/Manual/Upgrading/OSSpecificInfo/both_installations.png new file mode 100644 index 0000000000..863d5f8f55 Binary files /dev/null and b/Documentation/Books/Manual/Upgrading/OSSpecificInfo/both_installations.png differ diff --git a/Documentation/Books/Manual/Upgrading/OSSpecificInfo/installer_delete.png b/Documentation/Books/Manual/Upgrading/OSSpecificInfo/installer_delete.png new file mode 100644 index 0000000000..3d1ee54e1d Binary files /dev/null and b/Documentation/Books/Manual/Upgrading/OSSpecificInfo/installer_delete.png differ diff --git a/Documentation/Books/Manual/Upgrading/OSSpecificInfo/installer_upgrade.png b/Documentation/Books/Manual/Upgrading/OSSpecificInfo/installer_upgrade.png new file mode 100644 index 0000000000..88590b290a Binary files /dev/null and b/Documentation/Books/Manual/Upgrading/OSSpecificInfo/installer_upgrade.png differ