Saltar al contenido principal

Windows Server

peligro
  • Si se utiliza un conjunto de réplicas, contacte con el soporte técnico de Passwork para una actualización adecuada y la preservación de los datos.
  • Si Passwork está instalado en un servidor virtual, se recomienda crear una instantánea virtual del sistema operativo antes de actualizar.

Preparación y eliminación de la versión obsoleta

Creación de una copia de seguridad

De forma predeterminada, las utilidades de administración de MongoDB no se encuentran en la variable de entorno $PATH. Es necesario buscar las utilidades mediante PowerShell.

Abra PowerShell como administrador:

  • Haga clic derecho en el icono de Inicio en la esquina inferior izquierda de la pantalla;
  • Seleccione Windows PowerShell (Administrador) en el menú contextual.

Busque las utilidades de administración:

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

Si MongoDB y las utilidades de administración se instalaron en una unidad no estándar, debe cambiar la ruta de búsqueda en el parámetro -Path.

Después de la ejecución, el directorio de trabajo actual cambiará al nuevo donde se encuentran las utilidades. Para verificar, ejecute:

dir

Cree un directorio:

mkdir C:\backup\

Cree una copia de seguridad:

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

Las utilidades mongodump y mongorestore se encuentran en el mismo directorio de instalación de MongoDB 4.x.

Eliminación

Detenga el servicio:

net stop MongoDB

Elimine el servicio de la base de datos:

sc.exe delete "MongoDB"

Elimine el directorio con el contenido de la base de datos:

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."
}

Busque MongoDB en el registro:

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

Elimine la entrada del registro:

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

Instalación y restauración de la copia de seguridad

Instalación

Descargue el instalador de MongoDB:

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
}
info

También puede descargar el instalador manualmente

Instale MongoDB con la configuración predeterminada:

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

Para instalar MongoDB en otra unidad, añada "INSTALLLOCATION=A:\MongoDB"

Cree un directorio para las utilidades de administración de MongoDB:

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"
}

Descargue las utilidades de administración:

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
}
info

También puede descargar las utilidades manualmente

Extraiga el contenido:

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

Verifique la conexión a la consola:

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

Restauración de la copia de seguridad

Si la conexión a la consola es exitosa, restaure las bases de datos desde la copia de seguridad:

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

Abra Passwork para verificar el funcionamiento correcto.