2013-10-17 4 views
1

J'ai récemment eu un problème, mon disque dur s'est écrasé!Sauvegarde mysql automatique sur les fenêtres xampp 8?

Le fichier ibdata1 à "F: \ xampp \ mysql \ data \ ibdata1" dans mon disque dur est corrompu!

La taille de fichier était 8 gb mais quand j'essayais de copier après 6 gigaoctet il affichait l'erreur de contrôle de redondance!

J'ai récemment installé une nouvelle installation de xampp, je me demandais simplement s'il était possible de créer une sauvegarde automatique de fichiers comme le fait le fournisseur de service d'hébergement Web.

Toute aide sera grandement appréciée.

Répondre

1

J'utilise un fichier batch qui appelle mysqldump et qui est exécuté selon un planning par le planificateur de tâches Windows.

Vous devez d'abord créer un fichier batch. Ouvrez un nouveau fichier texte et incluez quelque chose de similaire à ceci. Enregistrez-le en tant que .BAT. Vous devez mettre à jour l'emplacement de votre bin MySQL. sur la première ligne. Cela devrait être dans votre xamppfiles directory.Then comprennent le nom d'utilisateur approprié mysql, le nom de base de données et le mot de passe dans la commande mysqldump

REM Export all data from this database 
cd C:\Program Files\MySQL\MySQL Server 5.6\bin 

REM To export to file (structure only) 
mysqldump --no-data [DATABASENAME] -h localhost -u [USER] -p[PASSWORD] > C:\databackup\database_ddl_backup.sql 
mysqldump --no-create-info --no-create-db [DATABASENAME] -h localhost -u [USER] -p[PASSWORD] > C:\databackup\database_data.sql 

Il vous suffit de programmer ce fichier batch en utilisant le Planificateur de tâches de Windows. Voici un article qui explique cela pour W7 et W8:

http://www.thewindowsclub.com/how-to-schedule-batch-file-run-automatically-windows-7

2

Adresser réponse que vous pouvez utiliser le script ci-dessous (pour XAMPP ou une autre configuration de MySQL). Après avoir créé le fichier bat, il peut être configuré dans Windows Scheduler comme tâche hebdomadaire par exemple.

Ce script créer des fichiers comme C: \ backups \ db1-2014-03-27.sql selon la date

mysqldumper.bat

FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B 
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B 
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B 
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B 
SET date=%yyyy%-%mm%-%dd% 

C:\xampp\mysql\bin\mysqldump.exe db1 -h localhost -u user1 -pPassWord1 > C:\backups\db1-%date%.sql 
C:\xampp\mysql\bin\mysqldump.exe db2 -h localhost -u user2 -pPassWord2 > C:\backups\db2-%date%.sql 
0

Juste pour prolonger un peu plus la donné des réponses au cas où quelqu'un voudrait ajouter du temps aux noms de fichiers de sauvegarde générés.

En utilisant ceci: https://stackoverflow.com/a/19741875

Nous pouvons construire le fichier batch suivant:

FOR /f %%a IN ('WMIC OS GET LocalDateTime ^| FIND "."') DO SET DTS=%%a 
SET date=%DTS:~0,8%-%DTS:~8,6% 

C:\xampp\mysql\bin\mysqldump.exe db1 -h localhost -u user1 -pPassWord1 > C:\backups\db1-%date%.sql 
C:\xampp\mysql\bin\mysqldump.exe db2 -h localhost -u user2 -pPassWord2 > C:\backups\db2-%date%.sql