Synchronisation de 2 Bases De Données MySQL distantes

Petit nouveau ! | 3 Messages

13 nov. 2020, 16:14

Bonjour, j'ai besoin d'exporter ma base de données MySQL fonctionnant sur un Serveur Local Windows Server 2012 R2, l'export devrait se faire vers un Serveur En Ligne hébergé chez IONOS et pour laquelle la base de données possède la même structure que celle En Local mais de nom différent. Comment m'y prendre ?

Dans la seconde étape, il sera question que j'écrive un autre script PHP sur le Serveur IONOS à distance qui tourne sur LINUX, lequel script PHP va se charger d'importer ce fichier exporté depuis mon Serveur Local Windows Server ... Alors, ma question : Comment m'y prendre pour Réussir le tout ?

En fait, mon véritable problème c'est d'écrire un script PHP qui devrait faire d'abord l'EXPORT de toute ma Base De Données en Local, puis se connecter au Serveur En Ligne MySQL de IONOS pour faire le sens contraire, c'est-à-dire l'IMPORT de ladite Base MySQL qui a la même structure ... Comment écrire ce script PHP ??? Parce que je ne suis pas certain que la syntaxe du Code qui fonctionne En Ligne de Commande est la même que celle à écrire dans un script PHP !!! C'est 2 environnements totalement différent. En plus, ce script doit être automatisé, je devrais créer une tâche CRON sur mon Windows Server pour qu'il le fasse automatiquement, bien sûr à des intervalles réguliers, genre toutes les 3 heures du temps (à 6h30, puis à 9h30, puis encore à 12h30, 15h30, 18h30, 20h30 et il devrait s'arrêter à 23h30 par exemple ...).
Voilà c'est exactement en détails de çà qu'il s'agit en définitive.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8627 Messages

13 nov. 2020, 22:10

Une piste là :
https://www.ionos.fr/assistance/heberge ... de-de-php/

Par ailleurs, pour la seconde étape, il est possible que ton hébergeur autorise les connexions à distance à ta base de données, du coup ton script d'import pourrait également s'exécuter sur ton serveur local.
https://www.ionos.fr/assistance/serveur ... e-donnees/
https://www.ionos.fr/assistance/serveur ... eur-mysql/
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 3 Messages

20 nov. 2020, 21:13

J'ai l'envie de dire que la syntaxe de mysqldump n'est adaptée qu'ene ligne de commande et non dans un script PHP, car voilà que j'ai mis ce script puis paramétré une tâche planifiée sous Windows Server 2012 R2 (tâche CRON) et en allant dans le système, le Planificateur de tâches Windows m'indique un message : "L'opération a été annulée par l'utilisateur. (0x800704C7) ...
Voici ce qu'a été le contenu de mon script PHP que j'ai logé dans un dossier de mon application :
<?php
//Entrez ici les informations de votre base de données et le nom du fichier de sauvegarde.
$mysqlDatabaseName ='database';
$mysqlUserName ='xxxxxxxxxxxxxx';
$mysqlPassword ='xxxxxxxxxxxxxx';
$mysqlHostName ='adresse ip';
$mysqlExportPath ='fichier-export.sql';

//Veuillez ne pas modifier les points suivants
//Exportation de la base de données et résultat
$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' > ' .$mysqlExportPath;
exec($command,$output=array(),$worked);
switch($worked){
case 0:
echo 'La base de données <b>' .$mysqlDatabaseName .'</b> a été stockée avec succès dans le chemin suivant '.getcwd().'/' .$mysqlExportPath .'</b>';
break;
case 1:
echo 'Une erreur s est produite lors de l exportation de <b>' .$mysqlDatabaseName .'</b> vers'.getcwd().'/' .$mysqlExportPath .'</b>';
break;
case 2:
echo 'Une erreur d exportation s est produite, veuillez vérifier les informations suivantes : <br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>NOTSHOWN</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr></table>';
break;
}
?>
Je ne vois pas dans mon Code là où le bas blaisse ...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8627 Messages

21 nov. 2020, 10:58

Quand tu lances ton script sans passer par une tache planifiée, ça fonctionne ?
Quand tout le reste a échoué, lisez le mode d'emploi...