Zum Hauptinhalt springen

Windows Server

gefahr
  • Falls ein Replica Set verwendet wird — kontaktieren Sie bitte den technischen Support von Passwork für eine ordnungsgemäße Aktualisierung und Datensicherung.
  • Falls Passwork auf einem virtuellen Server installiert ist, wird empfohlen, vor der Aktualisierung einen virtuellen Snapshot des Betriebssystems zu erstellen.

Vorbereitung und Entfernung der veralteten Version​

Backup erstellen​

Standardmäßig befinden sich die MongoDB-Administrationswerkzeuge nicht in der Umgebungsvariable $PATH. Sie müssen die Werkzeuge über PowerShell suchen.

Öffnen Sie PowerShell als Administrator:

  • Klicken Sie mit der rechten Maustaste auf das Start-Symbol in der unteren linken Ecke des Bildschirms;
  • Wählen Sie Windows PowerShell (Administrator) aus dem Kontextmenü.

Suchen Sie nach Administrationswerkzeugen:

$utilityPath = Get-ChildItem -Path "C:\" -Filter "mongodump.exe" -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1; $utilityDirectory = $utilityPath.DirectoryName; cd $utilityDirectory
info

Wenn MongoDB und die Administrationswerkzeuge auf einem nicht standardmäßigen Laufwerk installiert wurden, müssen Sie den Suchpfad im Parameter -Path ändern.

Nach der Ausführung wechselt das aktuelle Arbeitsverzeichnis zu dem Verzeichnis, in dem sich die Werkzeuge befinden. Zur Überprüfung führen Sie Folgendes aus:

dir

Erstellen Sie ein Verzeichnis:

mkdir C:\backup\

Erstellen Sie ein Backup:

$timestamp = Get-Date -Format "yyyy-MM-dd_HH-mm"
.\mongodump --out "C:\backup\mongo-$timestamp"
info

Die Werkzeuge mongodump und mongorestore befinden sich im selben Verzeichnis der MongoDB 4.x-Installation.

Entfernung​

Stoppen Sie den Dienst:

net stop MongoDB

Löschen Sie den Datenbankdienst:

sc.exe delete "MongoDB"

Löschen Sie das Verzeichnis mit dem Datenbankinhalt:

if (Test-Path "$env:ProgramFiles\MongoDB") {
Remove-Item -Path "$env:ProgramFiles\MongoDB" -Recurse -Force
Write-Host "MongoDB directory deleted." -ForegroundColor Green
} else {
Write-Host "MongoDB directory not found."
}

Suchen Sie MongoDB in der Registrierung:

$mongo = Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" | Where-Object {
($_ | Get-ItemProperty).DisplayName -like "*MongoDB*"
}

Löschen Sie den Registrierungseintrag:

if ($mongo) {
$mongo.PSPath | Remove-Item -Recurse -Force
Write-Host "Entry removed from registry" -ForegroundColor Green
} else {
Write-Host "Entry with DisplayName not found"
}

Installation und Wiederherstellung des Backups​

Installation​

Laden Sie das MongoDB-Installationsprogramm herunter:

try {
(New-Object System.Net.WebClient).DownloadFile("https://repos.passwork.pro/repository/windows_packages/mongodb_database_latest.msi", "$env:SystemDrive\Windows\Temp\mongodb_database_latest.msi")
Write-Host "MongoDB successfully downloaded" -ForegroundColor Green
} catch {
Write-Host "Error downloading MongoDB: $_" -ForegroundColor Red
}

Installieren Sie MongoDB mit Standardeinstellungen:

try {
Start-Process -FilePath "msiexec.exe" -ArgumentList "/l*v", "$env:SystemDrive\Windows\Temp\mdbinstall.log", "/qb", "/i", "$env:SystemDrive\Windows\Temp\mongodb_database_latest.msi", "SHOULD_INSTALL_COMPASS=0", "ADDLOCAL=Router,ServerService" -Wait -ErrorAction Stop
} catch {
Write-Host "MongoDB installation error: $_." -ForegroundColor Red
}
info

Um MongoDB auf einem anderen Laufwerk zu installieren, fügen Sie "INSTALLLOCATION=A:\MongoDB" hinzu

Erstellen Sie ein Verzeichnis für die MongoDB-Administrationswerkzeuge:

if (-not (Test-Path "$env:ProgramFiles\MongoDB\Tools\")) {
New-Item -ItemType Directory -Force -Path "$env:ProgramFiles\MongoDB\Tools\"
Write-Host "Directory successfully created" -ForegroundColor Green
} else {
Write-Host "Directory already exists"
}

Laden Sie die Administrationswerkzeuge herunter:

try {
(New-Object System.Net.WebClient).DownloadFile(
"https://repos.passwork.pro/repository/windows_packages/database_tools_latest.zip",
"$env:SystemDrive\Windows\Temp\database_tools_latest.zip"
)
Write-Host "Administration utilities downloaded" -ForegroundColor Green
} catch {
Write-Host "Error downloading administration utilities: $_" -ForegroundColor Red
}

Entpacken Sie den Inhalt:

Expand-Archive `
-Path "$env:SystemDrive\Windows\Temp\database_tools_latest.zip" `
-DestinationPath "$env:ProgramFiles\MongoDB\Tools\"

Überprüfen Sie die Verbindung zur Shell:

cd "$env:ProgramFiles\MongoDB\Tools\"
.\mongosh mongodb://localhost:27017

Wiederherstellung des Backups​

Wenn die Verbindung zur Shell erfolgreich ist, stellen Sie die Datenbanken aus dem Backup wieder her:

cd "$env:ProgramFiles\MongoDB\Tools\"
.\mongorestore --drop "C:\backup\mongo-xxxx-xx-xx_xx-xx"

Öffnen Sie Passwork, um die ordnungsgemäße Funktionsweise zu überprüfen.