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

phpmyadmin synkronisere

Du ser ud til at have et par problemer her,

TIME OUT

Jeg vil starte her, da du muligvis har et tilladelsesproblem. Jeg vil anbefale først at sikre, at din lokale IP-adresse har tilladelse til at oprette forbindelse til din eksterne mySQL-database og omvendt, afhængigt af din opsætning kan du muligvis konfigurere dette i phpMyAdmin, en hosting-konsul såsom cPanel eller via shell-adgang. Jeg vil foreslå, at du opretter en separat bruger med en stærk adgangskode til fjernadgang. Du bør have en statisk IP-adresse på din lokale internetforbindelse, hvis du ikke har en, skal du kontakte din internetudbyder og arrangere en.

I phpMyAdmin, hvis du har tilstrækkelig adgang, via fanen "brugerprivilegier" og indstille "værten" under "login information". Jeg vil ikke anbefale indstillingen "enhver vært" af åbenlyse sikkerhedsmæssige årsager.

I cPanel skal du under "databaser" finde "remote mySQL", hvor du kan indstille din IP-adresse.

Endelig i SSH,

  1. åbn mySQL-konfigurationsfilen med din yndlingseditor, såsom VI eller Nano, på Ubuntu er den placeret på "/etc/mysql/my.conf",
  2. kommenter "bind-adresse =127.0.0.1", så det ser ud som "#bind-adresse =127.0.0.1",
  3. genstart mySQL med "/etc/init.d/mysql genstart",
  4. log ind på mySQL med "mysql -u root -p",
  5. for en ny bruger, "CREATE USER 'MY_USERNAME'@'localhost' IDENTIFICERET AF 'MY_PASSWORD'"
  6. efterfulgt af "GI ALLE PRIVILEGIER PÅ 'MY_DATABASE'.* TIL 'MY_USERNAME'@'12.34.56.78' IDENTIFICERET AF 'MY_PASSWORD';" - bemærk, udskift IP-adressen "12.34.56.78" med din faktiske IP-adresse.
  7. Du skulle nu have bekræftelse i stil med forespørgslen ok.
  8. Afslut endelig mysql med "quit"-kommandoen og genstart med "/etc/init.d/mysql restart"

BEMÆRK:Jeg vil anbefale at konfigurere begge mySQL-installationer til fjernadgang.

Jeg vil nu anbefale at teste dette ved at køre et lille script på din lokale maskine, sådan noget som

<?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'];
}
}
?>

BEMÆRK:du bør have data i databasen for at scriptet fungerer korrekt, et resultat uden data vil vise en besked om at scriptet ikke kunne hente dataene, dette vil stadig fastslå om du nu har adgang til databasen eller ej, men ikke ikke sikre, at den er 100 % operationel.

MÆSTER ELLER SLAVE

Ja, det er muligt, forudsat at du har tilstrækkelig adgang

I phpMyAdmin:

  1. under fanen "replikering" finder du en guide til at give dig koden til at indstille dette i mySQL-konfigurationsfilen (på Ubuntu er den placeret på "/etc/mysql/my.conf"),
  2. klik på linket for at konfigurere masterserveren
  3. indtast oplysningerne i formularen, kopier koden
  4. gå til din konfigurationsfil (placering ovenfor) og tilføj koden leveret af phpMyAdmin
  5. når du har opdateret konfigurationsfilen, genstart mySQL og klik på gå-knappen i phpMyAdmin, vil dette bekræfte ændringerne
  6. Nu igen under fanen "replikering" skal du klikke på linket for at konfigurere slaveserveren
  7. sørg for, at du har et unikt server-id i din konfigurationsfil, hvis ikke, tilføj linjen leveret af phpMyAdmin i [mysqld] sektionen af ​​filen
  8. Udfør de nødvendige oplysninger, og klik på Gå

Dette bør konfigurere din replikering.

SYNKRONISER

Hvis alt andet er fejlet, så gå i phpMyAdmin til fanen "synkroniser", indtast oplysningerne og så er du i gang, du skal bare bekræfte synkroniseringen på næste side og 2 sekunder senere er du færdig, så nemt er det.

Til produktionsservere har jeg personligt et master/slave-replikeringsopsætning, men til udvikling synkroniserer jeg, når jeg har brug for "live" data for at replikere en fejl eller et problem, det skyldes, at jeg kun skal synkronisere en gang hver 6.-12. måned. Hvis jeg har brug for live data lokalt, så ville jeg konfigurere master/slave-replikeringen




  1. Sådan ændres adgangskode til MySQL-konsollen i WAMP 2.5

  2. Den sidste DBeaver EE-udgivelse i 2020

  3. Hvordan skriver jeg en SP i phpMyAdmin (MySQL)?

  4. MySQL - Syntaksfejl i lagret procedure ved brug af "hvis".