Avatar billede lullalej Nybegynder
22. august 2006 - 11:54 Der er 19 kommentarer og
1 løsning

Flytte MySQL indhold til anden database, på anden server?

Hejsa Eksperter :)

Jeg skal lave et script der flytter indholdet af tabel_1 fra database_1 på server_1 til tabel_2 fra database_2 på server_2

Håber i forstår det...

Altså, flytte indholdet af en tabel over på en anden server...

Hvordan får man lige det til at hænge sammen? - Jeg ved kun hvordan man kan flytte rundt i samme database... Det kræver jo forbindelse til 2 databaser på hver sin server, på samme tid...

Håber i kan hjælpe mig med et par hints :)

På forhånd tak...
Avatar billede iss Novice
22. august 2006 - 12:03 #1
Er phpmyadmin ikke god nok?
Avatar billede lullalej Nybegynder
22. august 2006 - 12:05 #2
Hvor i PHPMyAdmin finder du den funktion? - Jeg er aldrig stødt på den...

Desuden er det også en fil der skal køres via en cron-job en dag ;)
Avatar billede iss Novice
22. august 2006 - 12:08 #3
Så skriv hvad du vil... det hele...
Avatar billede lullalej Nybegynder
22. august 2006 - 12:11 #4
Okay...

Jeg har en tabel kaldet `textlog` i en database på en server ude i den store verden... Indholdet af denne tabel, vil jeg gerne flytte over på en server hjemme hos mig selv, i en tabel der hedder `textlog_backup`.
Avatar billede iss Novice
22. august 2006 - 12:18 #5
Lav en sql dump på den ude, og download den hjem erstat textlog med textlog_backup og importere.
Avatar billede iss Novice
22. august 2006 - 12:19 #6
Husk at i nok begge har låst sålede at det kun er localhost der kan forbinde, så du skal have script på hver maskine, dvs på remote har du dump scriptet og lokalt import.
Avatar billede lullalej Nybegynder
22. august 2006 - 12:23 #7
Den skal køre det automatisk, så det skal ikke være noget med en dump-fil... Uden menneskelig indblanding...

Jeg sætter min server op så den kan modtage import fra den anden server ;)
Avatar billede iss Novice
22. august 2006 - 12:25 #8
????????????????????????????????????????????????????????????????????

Kan en dump fil ikke laves automatisk eller hvad er det du skriver?
Avatar billede lullalej Nybegynder
22. august 2006 - 12:27 #9
Jow det kan man sagtens...

Men kan det ikke laves lidt ligesom når man flytter rundt i samme db? (UDEN dump-fil)
Avatar billede iss Novice
22. august 2006 - 12:29 #10
Som efter at to SQL'er ikke kan snakke som når de kun tillader lockalhost connect...
Avatar billede lullalej Nybegynder
22. august 2006 - 12:34 #11
jamen, hvis jeg nu sætter min sql-server op så den godt kan connectes fra den anden server, hvad så?
Avatar billede iss Novice
22. august 2006 - 12:41 #12
Hjælper dig ikke så meget som efter du så skal kunne sætte noget op på remoten som jeg vil mene kræver root adgang.
Avatar billede lullalej Nybegynder
22. august 2006 - 12:44 #13
jeg har root adgang på begge servere...
Avatar billede iss Novice
22. august 2006 - 12:57 #14
Hvorfor så spørge i PHP, når det du leder efter er eb SQL løsning?

Kig efter MySQL Cluster... Så har du en realtime backup.
Avatar billede lullalej Nybegynder
22. august 2006 - 13:04 #15
Fordi jeg havde regnet med at lave et PHP-script til det...
Avatar billede iss Novice
22. august 2006 - 13:06 #16
Når du ville have de to servere til at snakke sammen? Syntes ikke lige det hænger sammen.
Avatar billede lullalej Nybegynder
22. august 2006 - 13:22 #17
Det kan godt være det ikke hænger sammen, men så kan man jo sige det på en pæn måde??

Lukker!
Avatar billede iss Novice
22. august 2006 - 13:27 #18
Som efter du ikke aner hvad du vil, så er det f*ndm* svært at hjælpe dig... Og jeg har da ikke sagt noget upænt til dig. Men ja, jeg skal nok huske du ikke vil hjælpes en anden gang.
Avatar billede lullalej Nybegynder
22. august 2006 - 15:36 #19
Hvis nogen en dag skal bruge det, så kan det laves sådan her (husk at gøre så serveren kan logge ind på den anden server):

<?

$s_conn1 = mysql_connect("localhost","brugernavn1","kode1");
mysql_select_db("db1",$s_conn1);

$tiden = time()-864000;

$i = 0;

$sql_insert = "";

$s_hent = mysql_query("SELECT * FROM db1.textbox WHERE tid < '$tiden' ORDER BY id ASC");
WHILE($hent = mysql_fetch_array($s_hent)) {

    $sql_insert = $sql_insert."INSERT INTO `backup.textbox` (`id`, `username`, `rum`, `tid`, `besked`, `til`) VALUES (".$hent[id].", '".$hent[username]."', ".$hent[rum].", ".$hent[tid].", '".$hent[besked]."', '".$hent[til]."');";

    $i++;

}

mysql_close();

$s_conn2 = mysql_connect("remote_server","brugernavn2","kode2");
mysql_select_db("db2",$s_conn2);

mysql_query($sql_insert);

mysql_close();

print $i;

?>
Avatar billede lullalej Nybegynder
22. august 2006 - 15:40 #20
og så i WHILE skal der også lige være den her:
mysql_query("DELETE FROM backup.textbox WHERE id = '$hent[id]'");
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester