Français Sauvegarde base de données Windows

  • Auteur de la discussion Auteur de la discussion JasonA3
  • Date de début Date de début

JasonA3

User
17/3/20
41
1
20
450
Bonjour,

Je vous partage aujourd'hui un script de backup automatique pour votre base de donnée sous Windows. Vous pouvez le coupler avec une tâche répétitive afin de le rendre automatique.

Vous allez donc devoir créer un fichier backup.bat avec ceci à l'intérieur :
Code:
Développer Réduire Copier
@ECHO OFF

For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%b-%%a-%%c)
For /f "tokens=1-3 delims=/:/ " %%a in ('time /t') do (set mytime=%%aH%%b-%%c)
set mytime=%mytime: =%

REM Export all databases into file C:\path\backup\databases.[year][month][day].sql
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" --all-databases --result-file="C:\CHEMIN_ACCESS\%mydate%__%mytime%.sql" --user=USER_DB --password=MDP_DB

REM Change working Directory to the location of the DB dump file.
C:
CD \path-to\backup\

REM Compress DB dump file into CAB file (use "EXPAND file.cab" to decompress).
MAKECAB "%mydate%__%mytime%.sql" "%mydate%__%mytime%.sql.cab"

REM Delete uncompressed DB dump file.
DEL /q /f "%mydate%__%mytime%.sql"



Pour ceux utilisant MariaDB

Merci à _NEYPHIS_ NEYPHISTV
Code:
Développer Réduire Copier
@ECHO OFF

For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%b-%%a-%%c)
For /f "tokens=1-3 delims=/:/ " %%a in ('time /t') do (set mytime=%%aH%%b-%%c)
set mytime=%mytime: =%

REM Export all databases into file C:\path\backup\databases.[year][month][day].sql
"C:\Program Files\MariaDB 10.5\bin\mariadb-dump.exe" --all-databases --result-file="C:\CheminDeSauvegarde\%mydate%__%mytime%.sql" --user=NomDutilisateur --password=VotreMotDePasse

REM Change working Directory to the location of the DB dump file.
C:
CD \path-to\backup\

REM Compress DB dump file into CAB file (use "EXPAND file.cab" to decompress).
MAKECAB "%mydate%__%mytime%.sql" "%mydate%__%mytime%.sql.cab"

REM Delete uncompressed DB dump file.
DEL /q /f "%mydate%__%mytime%.sql"

Dans la ligne 8 à bien rentrer les infos de votre base de données (user et password) ainsi que le chemin (result-file) vers l'endroit où les fichiers de sauvegarde seront mis ;)
 
Dernière édition:
  • Like
Les réactions: Said
JasonA3 JasonA3FL Hey, bonjour j'utilise MariaDB est ce fonctionnel aussi ?

Hello,

Je n'ai pas essayé, mais tu aurais juste besoin de changer ce chemin d'accès ligne 8

C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe

En fonction de là où se trouve le dump dans le dossier d'install
 
Voici la version MariaDB pour ceux qui n'utilise pas MySQL :)

Code:
Développer Réduire Copier
@ECHO OFF

For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%b-%%a-%%c)
For /f "tokens=1-3 delims=/:/ " %%a in ('time /t') do (set mytime=%%aH%%b-%%c)
set mytime=%mytime: =%

REM Export all databases into file C:\path\backup\databases.[year][month][day].sql
"C:\Program Files\MariaDB 10.5\bin\mariadb-dump.exe" --all-databases --result-file="C:\CheminDeSauvegarde\%mydate%__%mytime%.sql" --user=DB_USER --password=DB_PASSWORD

REM Change working Directory to the location of the DB dump file.
C:
CD \path-to\backup\

REM Compress DB dump file into CAB file (use "EXPAND file.cab" to decompress).
MAKECAB "%mydate%__%mytime%.sql" "%mydate%__%mytime%.sql.cab"

REM Delete uncompressed DB dump file.
DEL /q /f "%mydate%__%mytime%.sql"
 
  • Like
Les réactions: JasonA3
Bonjour, les sauvegardes ne s'écrase pas entre elle. Et oui elle sont nommé par la date et l'heure de création du fichier.

Ex : 03_11_2020__12_26.sql
 
pour ceux qui utilise phpmyadmin lol sa se passe comment ?
Aucune idée, PMA n’est pas la solution la plus efficace en terme d’accessibilité / fonctionnalité.

Si tu as PMA tu as forcément la possibilité de te connecter via un logiciel comme HeidiSQL qui te permettra de faire ce genre de sauvegarde. Cependant, si tu es chez un hébergeur, vois plutôt avec eux ils ont peut être des options de sauvegarde où pourrons le faire pour toi.
 
Aucune idée, PMA n’est pas la solution la plus efficace en terme d’accessibilité / fonctionnalité.

Si tu as PMA tu as forcément la possibilité de te connecter via un logiciel comme HeidiSQL qui te permettra de faire ce genre de sauvegarde. Cependant, si tu es chez un hébergeur, vois plutôt avec eux ils ont peut être des options de sauvegarde où pourrons le faire pour toi.
je n'utilise pas d'hébergeur, je suis sous machine dédié ma db tourne sur xampp avec phpmyadmin tous en local pour des raisons de sécurité bien évidemment
 
je n'utilise pas d'hébergeur, je suis sous machine dédié ma db tourne sur xampp avec phpmyadmin tous en local pour des raisons de sécurité bien évidemment

Aie. Oui tu peux utiliser HeidiSQL dans ce cas. Mais je te conseil vivement de créer un vrai serveur de base de donnée au lieu de passer par Xampp :)
 
  • Like
Les réactions: Maxence
Activité
Pour l'instant, il n'y a personne ici