web-dev-qa-db-fra.com

Synchronisez la base de données locale et distante MySQL avec phpMyAdmin

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 enter image description here

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

16
عثمان غني

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: 

Base de données distante phpadmin

13
K-Gun

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.

2
Devart

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

Vérifier ici

1
Subodh Ghulaxe

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.

0
Savvy Aaron

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.

0
Jim Miller