Avatar billede executer Nybegynder
10. august 2001 - 09:42 Der er 15 kommentarer

Spejling af tabel.

Hej sa,

Jeg har en lille problemstilling som jeg ikke helt ved hvordan jeg griber klogest/bedst an.

Jeg har 2 forskellige servere, begge med MySQL server kørende, på den ene server har jeg en tabel kaldet Tabel-1, som ligger i Database-1. På den anden server har jeg så Database-2, her vil jeg gerne have spejlet en kopi af Tabel-1 over i, således at den er 100% identisk med Tabel-1 i Database-1.

Sagt på en anden måde, Database-1 og Database-2 skal  have identisk data i Tabel-1.

Jeg søger ikke en komplet løsning for hvordan dette løses bedst, men bare ideer og forslag til hvordan det kan løses.

Håber i kan hjælpe, på forhånd tak.
Avatar billede disky Nybegynder
10. august 2001 - 09:43 #1
brug phpmyadmin til at spytte structure and data ud, og gem text filen, load denne ind i den anden base, så er struktur og data kopieret 100%
Avatar billede executer Nybegynder
10. august 2001 - 09:45 #2
Hov, en lille ting jeg glemte i mit sprøgsmål. Det hele SKAL køre 100% automatisk.
Avatar billede executer Nybegynder
10. august 2001 - 09:46 #3
Hov, en lille ting jeg glemte i mit sprøgsmål. Det hele SKAL køre 100% automatisk.
Avatar billede disky Nybegynder
10. august 2001 - 09:49 #4
Så må du lave et program der gør det.
Avatar billede dazzle Nybegynder
10. august 2001 - 09:52 #5
Er det altid kun Tabel-1 fra Database-1 der skal kopieres til Database-2?  Hvad med ændringer foretaget i Database-2 skal de ikke ligeledes findes i Database-1 ?
Avatar billede executer Nybegynder
10. august 2001 - 09:52 #6
ja, det er jeg ligsom klar over, men vil gerne have nogle ideer til hvordan jeg laver dette mest genialt .
Avatar billede disky Nybegynder
10. august 2001 - 09:54 #7
dit program henter f.eks. 1000 poster i base1, og gemmer dem i base2.
Dette gentages indtil alle poster er flyttet.

Start evt, med at droppe databasen base2, og opret den igen.


Dette udføres så f.eks. 1 gang i timen, eller hvordan du nu vil
Avatar billede executer Nybegynder
10. august 2001 - 09:54 #8
Der bliver ikke foretaget ændringer i Database-2.tabel-1, alle ændringer bliver lavet i Database-1.Tabel-1, men disse skal så overføres til  Database-2.Tabel-1
Avatar billede executer Nybegynder
10. august 2001 - 09:56 #9
Disky>> den har jeg tænkt på men, jeg vil ikke åbne for direkte connections til min MySQL DB, da der er alvorlige sikkerheds ricisi i dette. Så problemet i denne metode er hvordan jeg får flyttet data fra den ene server til den anden.
Avatar billede disky Nybegynder
10. august 2001 - 09:58 #10
Hvis du ikke vil åbne en connection, kan du aldrig bruge basen til noget.

Ellers luk ned for base2, kopier de fysiske filer i data skuffen og start base2 igen.
Har dog ikke selv prøvet denne metode.
Avatar billede executer Nybegynder
10. august 2001 - 10:00 #11
Disky>> Det jeg mener med at jeg ikke vil åbne en connection, er at der aldrig vil blive åbnet for at andre end 127.0.0.1 .
Avatar billede disky Nybegynder
10. august 2001 - 10:02 #12
så må du lave et program på både den ene og den anden server, der snakker gennem en krypteret kanal.

Hvorfor egentligt have det samme data på 2 servere. det lyder som en mærkelig ting.
Avatar billede executer Nybegynder
10. august 2001 - 10:05 #13
disky>> Grunden til at jeg bruger 2 servere, er at den server som kører Database-2, laver så kraftige beregninger at den simpelthen vil hive den anden server ned, men for at jeg kan lave disse beregninger har jeg brug for de data som ligger i Tabel-1
Avatar billede disky Nybegynder
10. august 2001 - 10:07 #14
så lyder det som om du skal have en større server, eller tillade at serverne kan snakke med hinanden.
Avatar billede alvion Nybegynder
10. august 2001 - 11:19 #15
MySQL understøtter replikering således at du kan have en \"master\" server og et vilkårligt antal \"slave\" servere.

Læs mere om det i MySQL dokumentationen:

http://mysql.com/doc/R/e/Replication.html


En måde at åbne en connection mellem de to maskiner uden at skabe sikkerhedsproblemer er, at installere et ekstra netkort i hver maskine. Disse netkort forbindes så direkte med hinanden via et krydset netkabel. Hvert netkort får så deres egne separate ip-adresser udenfor den netmaske det øvrige net kører på.

Så sætter du MySQL op til at acceptere connections fra det netkort på en eller anden port.
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
Computerworld tilbyder specialiserede kurser i database-management

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