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.