Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Cron job i PHP Export Importa baza mysql

[es] :: PHP :: Cron job i PHP Export Importa baza mysql

[ Pregleda: 2253 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ekonomist30
Sanel Bajric
SANELDESIGN-Web developing and
programming
SANELDESIGN
Sarajevo

Član broj: 197541
Poruke: 76
*.pppoe2051.bih.net.ba.

Sajt: saneldesign.com


+6 Profil

icon Cron job i PHP Export Importa baza mysql25.10.2011. u 22:54 - pre 151 meseci
Pozdrav svima.

Pitanje je:

Imam bazu A sa tabelom tA

zelim je exportovati (odredjena polja) - da li query mozda?

a zatim Importovati u bazu B, tabelu Tb. Radi se naravno o istom MySQL serveru.
MIslim da bi najbolje rjesenje bip PHP + Cron zadatak za tu php skriptu.

Ima li ko kavu ideju, jer sam ostao bez maste:

1. Kako da eliminiram "duple stavke" kod importa
2. Da ku bi neko da mi preporuci teoretski najbolji put da se ovo uradi u skripti, dakle-export/import/php/cron.

Hvala vam svima, sorry ako je malo zbrkano, ali onaj ko se razumije, skontace se :))
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Cron job i PHP Export Importa baza mysql25.10.2011. u 23:14 - pre 151 meseci
Ovako bih ja to uradio:

Napravim pre svega cron job koji ce izvrsavati tu skriptu na neki odredjeni period (koji je tebi potreban). Svaki upis u tabeli A i u tabeli B ima svoj ID (polje ID), preko kojeg se vrsi provera da li upis vec postoji u tB. Radim SELECT query tabele A i prihvatam podatke. Potom iscitavam svaki red tabele koju sam prihvatio, citam njen ID i proveravam da li postoji u tB preko drugog query-ja, tako sto radim SELECT WHERE (id iz prve = id u drugoj, ili sta vec treba), i ukoliko nema rezultata, upisujem podatke iz reda tabele A u tabelu B. Tako za svaki red koji sam iscitao iz tabele A. Po potrebi brisem podatke iz tabele A.

Iz pitanja shvatam da je ovo nesto sto se jednom radi, ali posto si spomenuo cronjob, deluje mi da zelis vremenski da se izvrsava. Sve u svemu, ovo ti je neki nacin na koji to radis.

Verujem da postoji laksi nacin, koji bi pre svega manje opteretio MySQL server, ali ovako bih ja to odradio.
Koliko cesto ovo treba da se izvrsava i koliko je redova ukupno u obe baze, otprilike?
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 871
*.teol.net.



+148 Profil

icon Re: Cron job i PHP Export Importa baza mysql26.10.2011. u 00:03 - pre 151 meseci
Vrsenje SELECTa za svaki red je isuvise zahtjevno i treba ga izbjegavati pod svaku cijenu, pogotovo ako se planira neki veci broj rekorda.

Najbolje bi bilo da oba sistema koriste istu tabelu, na jednom serveru.

Ukoliko to nije izvodljivo, sledece rjesenje bi bilo modifikovati kod koji upisuje podatke u tabelu A, pa da generise SQL update fajl. Periodicno bi se ovaj fajl poslao na drugi server gdje bi se izvrsio i nova tabela bi bila updajtovana.

Ako i ovo nije moguce, onda je najefikasnije raditi clean import u tabelu B svaki put, naravno pod uslovom da se u B ne nalaze dodatni podaci koji ne postoje u A.

 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: Cron job i PHP Export Importa baza mysql26.10.2011. u 00:14 - pre 151 meseci
Generisanje sql fajla nije loše rešenje, ali možda zahteva dosta modifikacije originalnog koda.

Selektovanje svih rezultata pa provera jednog po jednog nije preporučljiva pogotovo ako imaš puno upisa (možda jedino auto-refresh sa limitiranjem kao što ima mysql dumper, ali ni to nije idealno rešenje ako se često poziva preko crona).

Možda je bolje da druga tabela tB ima polje tA_id. Radiš selektovanje poslednjeg ID-a iz tabele tB kako bi dobio poslednji unos. Zatim selektuješ sve iz tabele tA (WHERE ta.id>POSLEDNJI_tAID_tB_TABELE) i napraviš sql dump koji posle završene petlje insertuješ.
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.dynamic.isp.telekom.rs.



+218 Profil

icon Re: Cron job i PHP Export Importa baza mysql26.10.2011. u 01:02 - pre 151 meseci
1.Mozes bez php-a preko cron joba dirketko iz konzole da pozivas dump
Code:

mysqldump --insert-ignore -u user -ppassword  mydatabaseA table1 > table1.sql | mysql -u user -ppassword mydatabaseB < table1.sql


2. Mozes da pozoves ovaj sql iz PHP-a ili opet iz konzole
Code (sql):

INSERT IGNORE bazaB.tabela (col1, col2)
SELECT col1, col2 FROM bazaA.tabela
 


3. Mozes da napravis php koji pravi dump fajl, jako lako i onda taj fajl da ucitas i izvrsis.

4. Mozes cak ako hoces da selektujes iz jedne baze sve sto nema u drugoj pa da to importujes.

5. Mozes da vidis koji je poslednji id u bazi B pa da sve posle toga selektujes u bazi A
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

Ekonomist30
Sanel Bajric
SANELDESIGN-Web developing and
programming
SANELDESIGN
Sarajevo

Član broj: 197541
Poruke: 76
31.176.225.*

Sajt: saneldesign.com


+6 Profil

icon Re: Cron job i PHP Export Importa baza mysql26.10.2011. u 10:47 - pre 151 meseci
Super odgovori, hvala vam i naravno super komplikacija, kako sam i ocekivao - mislim na opterecenje servera.

Pokusacu ipak da sve stavim u jednu bazu, pa da tako prebacujem podatke iz tabele u tabelu- Hajd da vam objasnim o cemu se radi:

Radim na jednoj web stranici, ala Freelancer.com, znaci reverse bidding system, i to sam skoro zavrsio, znaci logovanje, liste poslova itd itd.

Rijesio sam i geo-polozaj bidova preko google maps-a, kada se objave nove ponude zadataka, one se mogu vidjeti na karti svijeta.

E sad, ideja mi je sljedeca-iskoristiti podatke koje imam u tabeli CLANOVI, te napraviti pretragu na GMaps, u smislu-imam formu pretraga. gdje upisem mjesto, npr.Sarajevo, i na mapi mi prikaze sve freelancere i poslodavce cija je adresa u Sarajevu. Belaj mi je to sto su mi polja tabele CLANOVI drugacijeg naziva, a sad da mijenjam cijeli kod stranice da bih uskladio sa ovom skruptom, fakat mi nema smisla, ili cu mozda na kraju ipak mijenjati kod skripte, ok, sta mogu.

Gogle-ov API za mape je dosta fleksibilan, ali sam ja zaribao, pa ako neko ima ideju da mi pomogne, a da ne mjenjam kod, bio bih zahvalan na ideji.

OTud mi ideja za cron - podaci iz tabele CLANOVI bi se u vremenskom periodu t prebacivali u tabelu PRETRAGA, znaci oni koji su potrebni (query), ali mi je to rjesenje "preglomazno", a mjenjanje kod-e vala ne mogu vise, ionako radim sedmicama :)).

Hvala vam u svakom slucaju i na svakom savjetu
 
Odgovor na temu

valjan
Janko Valencik
Software Deployer
Schneider Electric
Novi Sad

Član broj: 158605
Poruke: 3531
*.dynamic.sbb.rs.



+553 Profil

icon Re: Cron job i PHP Export Importa baza mysql26.10.2011. u 12:01 - pre 151 meseci
Moj predlog je da iskoristis replikaciju - neka MySQL sam odradjuje posao, i ti ne moras da lupas glavu oko cronova, duplikata podataka itd. Procedura za setovanje replikacije nije mnogo komplikovana, jedina zvrcka kod tebe je sto ti obe baze trce na istom serveru, pa bi trebalo u stvari ubaciti dve instance MySQL servera na toj masini, svaka sa svojim zasebnim konfiguracionim fajlom, i jedna bi onda funckionisala kao master a druga kao slave...
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Cron job i PHP Export Importa baza mysql01.11.2011. u 04:34 - pre 151 meseci
Zar replikacija ne bi kopirala ceo sadrzaj jedne baze u drugu? Sta ce da radi sa 2 iste baze na 2 razlicita servera?

Mislim da je replikacija nesto sto bi trebalo da se koristi za rasterecenje MySQL servera, bekap, i nista vise. Njemu je potrebno samo kopiranje odredjene tabele iz jedne baze u drugu bazu sa filtriranjem vec postojecih unosa.
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

[es] :: PHP :: Cron job i PHP Export Importa baza mysql

[ Pregleda: 2253 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.