J'ai une base de données MySQL locale qui change de temps en temps, je souhaite la synchroniser avec la base de données distante. J'utilise l'option de synchronisation de PhpMyAdmin pour cela.
J'ai donné à toutes les IP la permission de se connecter à distance.
Problème: Lorsque je souhaite synchroniser une base de données distante avec une base de données locale à l’aide de l’option de synchronisation de PhpMyAdmin. Il ne montre que la différence de structure de base de données mais les données sont également différentes sur les deux bases de données, mais ne montre pas cette différence.
Et quand je synchronise la base de données en cliquant sur le bouton Synchronize Database
et que je fais à nouveau la synchronisation. Il montre à nouveau la même synchronisation de structure.
Voir l'image ci-dessous
Si vous avez une autre solution, indiquez-le également . Détails locaux OS: Windows7Logiciel: EasyPHP12.0 Détails de la télécommande Serveur: Linux Cpanel PhpMyAdmin
Ouvrez phpMyAdmin/config.inc.php
et ajoutez ces lignes à propos de "Configuration du serveur".
$i++;
$cfg['Servers'][$i]['Host'] = '<remote-server-address>'; // Remote MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension'] = 'mysql'; // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['compress'] = FALSE; // Use compressed protocol for the MySQL connection
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = '<db-username>'; // Remote MySQL user
$cfg['Servers'][$i]['password'] = '<db-password>'; // Remote MySQL password
Il existe maintenant un menu déroulant "serveurs" sur votre page d'accueil phpMyAdmin. Choisissez votre serveur et le bingo!
Crédits: codejourneymen
Et, il y a beaucoup d'exemples, peut-être d'aide:
Ma réponse n’est pas liée à PhpMyAdmin, mais de toute façon, permettez-moi de vous recommander Outils de comparaison de schémas/données dans dbForge Studio for MySQL. Ces outils vous aideront à rechercher, visualiser les différences et synchroniser deux bases de données.
Si vous n'avez pas accès à la base de données distante, vous pouvez utiliser une connexion de tunnel HTTP ou une connexion de sécurité SSL/SSH.
Essayez d’utiliser SQLyog Job Agent (SJA) Sous Windows, il est disponible avec l’interface graphique primée MySQL SQLyog. La version Linux de SJA est gratuite et peut être téléchargée à partir de webyog.com
Lors de la création de tables, je laissais le serveur distant utiliser des nombres pairs et le serveur local pour ajouter des nombres impairs pour une incrémentation automatique ..__ Ensuite, je disposais d'un script permettant d'extraire ou de transférer des données entre serveurs sans problèmes de duplication.
Je ne comprends pas pourquoi vous ne voudriez pas simplement mettre à jour la télécommande et abandonner la base de données locale en même temps. Suggestion: vous voudrez peut-être configurer deux télécommandes - EX: dev.domain.com, www.domain.com. liez le code local au dev et mettez à jour/test, puis, lorsque vous voulez passer en production, il suffit de télécharger dev dump de données sur www DB. Sûr et prêt au repli lorsque la base de données locale tombe.