Topic: kopijavimas lenteles is skirtingu serveriu su php

gal kas turit variantą, arba esat pasidarę backup'o toolsą, kad galima būtų nusisiurbti iš kelių nutolusių DB į vieną?
Man reikia iš 4DB (2 serveriuose) nusiurbti tam tikros lentutės duomenis ir sukrauti į vieną lentutę atskiro serverio DB. Tą ruošiuosi daryti su php, nes reikės, kad jis periodiškai nusiurbinėtu visus duomenis (cronjob)..

P.S. skaičiau forumą, ieškojau google, bet tinkamo sprendimo neradau.

Iš anksto dėkoju už patarimus :)

Re: kopijavimas lenteles is skirtingu serveriu su php

DB reiks pakonfiguruoti, kad prie ju butu galima pasijungti is isores. O toliau viskas taip pat kaip, kad dirbtum tam paciam serve. Nelabai suprantu kur tau yra beda. :|

Re: kopijavimas lenteles is skirtingu serveriu su php

Neodan wrote:

DB reiks pakonfiguruoti, kad prie ju butu galima pasijungti is isores. O toliau viskas taip pat kaip, kad dirbtum tam paciam serve. Nelabai suprantu kur tau yra beda. :|

DB sukonfiginsim kad leistų prisijungimus su read teisėm iš konkrečių ip - nebėda.
Man bėda yra php skripte, kuris neužlaužtų serverių :) tikrintų ar gavo duomenis ir t.t. todėl prašau gal kas turit gatavą, aš pasimodifikuočiau :)

Re: kopijavimas lenteles is skirtingu serveriu su php

Realiai nereikia jokio PHP net. Viską gali padaryt per komandinę eilutę su mysqldump ir mysql programomis.

O dėl "užlaužimo" tai priklausys kiek ten yra duomenų ir kaip dažnai daryti "sinchronizaciją".

Re: kopijavimas lenteles is skirtingu serveriu su php

minde wrote:

Realiai nereikia jokio PHP net. Viską gali padaryt per komandinę eilutę su mysqldump ir mysql programomis.

O dėl "užlaužimo" tai priklausys kiek ten yra duomenų ir kaip dažnai daryti "sinchronizaciją".

kaip sakiau, noriu cronjob'o pagalba sukti skriptą kas 10 minučių. Duomenų nedaug, apie 20k įrašų iš visų DB. Kitaip neįsivaizduoju, paprotinkit su kokiu pavyzdiu :)

Re: kopijavimas lenteles is skirtingu serveriu su php

Nu tai cronjob'as kviečia import_script.sh:

#Trinam duomenis:
mysql -u local_user -pslaptazodis lokali_db -e "TRUNCATE lentele"

#1 db
mysqldump --no-create-info -h remote_server_1.lt -u remote_user_1 -pslaptazodis remote_db_1 lentele | mysql -u local_user -pslaptazodis lokali_db

#2 db
mysqldump --no-create-info -h remote_server_2.lt -u remote_user_2 -pslaptazodis remote_db_2 lentele | mysql -u local_user -pslaptazodis lokali_db

Nu čia tik mintis. Sintaksę tiksliai ir kitus niuansus turi pasitikrinti.

Re: kopijavimas lenteles is skirtingu serveriu su php

minde wrote:

Nu tai cronjob'as kviečia import_script.sh:

#Trinam duomenis:
mysql -u local_user -pslaptazodis lokali_db -e "TRUNCATE lentele"

#1 db
mysqldump --no-create-info -h remote_server_1.lt -u remote_user_1 -pslaptazodis remote_db_1 lentele | mysql -u local_user -pslaptazodis lokali_db

#2 db
mysqldump --no-create-info -h remote_server_2.lt -u remote_user_2 -pslaptazodis remote_db_2 lentele | mysql -u local_user -pslaptazodis lokali_db

Nu čia tik mintis. Sintaksę tiksliai ir kitus niuansus turi pasitikrinti.

ačiū, tik čia matau dumpą darai, man nereikia 50 stulpelių, o tik 4, todėl norisi selectą įbrauti :)

Re: kopijavimas lenteles is skirtingu serveriu su php

Na tai vietoj mysqldump naudok: mysql --execute='SELECT stulpelis_1, stulpelis_2 FROM lentele'

Re: kopijavimas lenteles is skirtingu serveriu su php

heh, pradėjau gilintis į FEDERATED connection ir TRIGERIUS, bet be pavyzdžio negaliu suvesti galų.
Kaip reikia į jau esamą lentelė sinchronizuoti (insert on, update on, delete) įrašus iš nutolusių db.. Viską norėčiau su MySQL realizuoti. php nebenoriu :)

Re: kopijavimas lenteles is skirtingu serveriu su php

ping?

Re: kopijavimas lenteles is skirtingu serveriu su php

majklas wrote:

pradėjau gilintis (...) bet be pavyzdžio negaliu suvesti galų

Matai, kad studentas galėtų kažką padaryt, jam reikia duoti pavyzdį, kur užtekti pakeisti tik pora konstantų. O programuotojai patys ieško pavyzdžių ir aiškinasi. Nelabai sveika norėti visus atsakymus gauti forume (-;