sql >> Database >  >> Database Tools >> phpMyAdmin

phpmyadmin synchroniseren

Je lijkt hier een paar problemen te hebben,

TIME-OUT

Ik zou hier beginnen, omdat je mogelijk een probleem met de rechten hebt. Ik raad aan om er eerst voor te zorgen dat uw lokale IP-adres toestemming heeft om verbinding te maken met uw externe mySQL-database en vice versa, afhankelijk van uw instellingen kunt u dit mogelijk configureren in phpMyAdmin, een hostingconsulent zoals cPanel of via shell-toegang. Ik raad aan om een ​​aparte gebruiker in te stellen met een sterk wachtwoord voor toegang op afstand. Je zou een statisch IP-adres moeten hebben op je lokale internetverbinding, als je er geen hebt, neem dan contact op met je internetprovider en regel er een.

In phpMyAdmin, als je voldoende toegang hebt, via het tabblad "gebruikersrechten" en het instellen van de "host" onder "inloggegevens". Ik zou de instelling "elke host" om voor de hand liggende veiligheidsredenen niet aanbevelen.

In cPanel, onder "databases" zou u "remote mySQL" moeten vinden waar u uw IP-adres kunt instellen.

Eindelijk in SSH,

  1. open het mySQL-configuratiebestand met uw favoriete editor zoals VI of Nano, op Ubuntu bevindt het zich op "/etc/mysql/my.conf",
  2. commentaar "bind-address =127.0.0.1" zodat het lijkt op "#bind-address =127.0.0.1",
  3. start mySQL opnieuw met "/etc/init.d/mysql restart",
  4. log in op mySQL met "mysql -u root -p",
  5. voor een nieuwe gebruiker, "MAAK GEBRUIKER 'MY_USERNAME'@'localhost' GEDENTIFICEERD DOOR 'MY_PASSWORD'"
  6. gevolgd met "VERLENEN ALLE PRIVILEGES OP 'MY_DATABASE'.* TO 'MY_USERNAME'@'12.34.56.78' GEDENTIFICEERD DOOR 'MY_PASSWORD';" - let op, vervang het IP-adres "12.34.56.78" door uw werkelijke IP-adres.
  7. Je zou nu een bevestiging moeten hebben in de trant van ok.
  8. Sluit mysql ten slotte af met de opdracht "quit" en start opnieuw met "/etc/init.d/mysql restart"

OPMERKING:ik zou aanraden om beide mySQL-installaties in te stellen voor toegang op afstand.

Ik zou nu aanraden dit te testen door een klein script op je lokale computer uit te voeren, zoiets als

<?php
$host = 'mysql_remoteip';
$user = 'mysql_username';
$pass = 'mysql_password';
$db = 'mysql_database';

$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("OOPS! I can not connect to the remote mySQL database, I was given the following error: ".mysql_error());
$sql = "SELECT column FROM table WHERE column='my_var'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
if(empty($row['column']) {
echo "WHOOPS! I could not get information from the mySQL, was there data for me to retrieve in the database?";
} else {
echo "The data I retrieved is:<br />"
echo $row['column'];
}
}
?>

OPMERKING:u moet gegevens in de database hebben om het script correct te laten werken, een resultaat zonder gegevens zal een bericht weergeven dat het script de gegevens niet kon ophalen, dit zal nog steeds vaststellen of u nu toegang hebt tot de database of niet, maar niet niet garanderen dat het 100% operationeel is.

MASTER OF SLAVE

Ja, dat is mogelijk, mits u voldoende toegang heeft

In phpMyAdmin:

  1. onder het tabblad "replicatie" vindt u een wizard die u de code geeft om dit in te stellen in het mySQL-configuratiebestand (op Ubuntu bevindt het zich op "/etc/mysql/my.conf"),
  2. klik op de link om de hoofdserver te configureren
  3. voer de informatie in het formulier in, kopieer de code
  4. ga naar uw configuratiebestand (locatie hierboven) en voeg de code toe die door phpMyAdmin is verstrekt
  5. zodra u het configuratiebestand heeft bijgewerkt, start u mySQL opnieuw en klikt u op de knop Go in phpMyAdmin, dit zal de wijzigingen bevestigen
  6. Klik nu opnieuw onder het tabblad "replicatie" op de link om de slave-server te configureren
  7. zorg ervoor dat u een unieke server-id in uw configuratiebestand heeft, zo niet, voeg dan de regel toe die door phpMyAdmin wordt geleverd in het [mysqld]-gedeelte van het bestand
  8. Vul de vereiste informatie in en klik op Start

Dit zou uw replicatie moeten instellen.

SYNCHRONISEREN

Als al het andere is mislukt, gaat u in phpMyAdmin naar het tabblad "synchroniseren", voert u de informatie in en u kunt beginnen, u hoeft alleen de synchronisatie op de volgende pagina te bevestigen en 2 seconden later bent u klaar, zo eenvoudig is het.

Voor productieservers heb ik persoonlijk een master/slave-replicatie-opstelling, maar voor ontwikkeling synchroniseer ik wanneer ik "live" gegevens nodig heb om een ​​fout of probleem te repliceren, dit komt omdat ik maar eens in de 6-12 maanden hoef te synchroniseren. Als ik lokaal live gegevens nodig heb, zou ik de master/slave-replicatie instellen




  1. MySQL STR_TO_DATE-functie werkt niet voor tijd

  2. wat heb ik nog meer nodig behalve $cfg['Servers'][$i]['ssl']=TRUE

  3. Drool 6-werkbank integreren met Java-toepassing

  4. Google Cloud PHP mijn beheerder krijgt geen verbinding met ssh