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

Update baze... tj kopiranje podataka iz jedne baze u drugu

[es] :: MySQL :: Update baze... tj kopiranje podataka iz jedne baze u drugu

[ Pregleda: 3249 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SpizaGenije
Spiza Genije
Software Developer
Signus

Član broj: 247347
Poruke: 193
*.teol.net.



+4 Profil

icon Update baze... tj kopiranje podataka iz jedne baze u drugu20.12.2010. u 10:25 - pre 161 meseci
Pozdrav!
No, ovako... Potrebna mi je mala pomoć

Naime, imam tri MySQL servera na tri ('nak) mašine (OS - WIN XP). A to sve jer su mi drugi tako tražili.
E sada... na dve mašine mi se vrti aplikacija koju sam napisao, a koja prati neki hardver, te vrednosti sa tog uređaja obrađuje i upisuje ih u bazu podataka.
Treća mašina (sa trećim serverom :p ) mi čita (treba da čita!) izveštaje koji su upisani u one dve baze podataka... sve to je onako lepo umreženo po wirelesu.

PITANJE:

Kako da iz dve baze podataka, sa one dve mašine, sve podatke iz jedne tabele objedinim u trećoj bazi na trećoj mašini?

Možda će me neko pitati zašto to sve ne radim na jednom serveru! Odgovor je veoma jednostavan. Ljudi mi zahtevaju baš ovako! I to sve zato što se neko našao pametan da im (mojim nazoviklijentima) ispametuje kako to sve može da pukne, da zašteka server mašina (?!), da zakuca server baze (?!), da izgube sve podatke (!), da backup baze i nije jaka stvar (?!) etc, etc, etc... i opet (?!)
i koliko god im ja "trunio" da to nije tačno, da to i ako se dogodi, imaju posebni mehanizmi za ovo i ono za bla bla bla bla, ništa mi ne pomaže! :p

Koji mi je najbolji način da sve to odradim?

E sada... update baze u nekoj vremenskoj odrednici mi baš i ne pomaže, zato što sve mašine ne rade (baš uvek) u isto vreme...

Kako da jednostavnim dvoklikom na neki (recimo) batch fajl neko sa treće mašine apdejtuje te podatke?

S obzirom da nisam baš nešto upućen u ove stvari, ja bih voleo da mi to objasnite onako "narodskim jezikom"! :)
(Izgleda da ću u skorije vreme morati da se bacim na ozbiljnije izučavanje MySQL refmana :))) , ali mi je sada potrebna vaša pomoć i to onako brzinski! :p )

Nadam se da sam vam približio svoj problem.



I da! Kada sam već ovde... Da li mi je ovo, po vašem mišljenju dobar backup:

Code:

C:\mysql\bin\mysqldump.exe  --host neki_host --user root --password=neka_sifra --add-drop-table --add-locks -e --create-options --disable-keys --lock-all-tables --master-data --order-by-primary  --routines --triggers --database neka_baza > D:\\neki_folder\neki_txt_fajl_(backup).txt


...tj, šta bi se po vašem mišljenju trebalo dodati, izmeniti, izbaciti...

Unapred hvala! :)
Some people, when confronted with a problem, think: "I know, I'll use regular expressions."
Now they have two problems!
-Jamie Zawinsky
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu20.12.2010. u 15:36 - pre 161 meseci
sta znaci "objedinis"??

koja je struktura baze1, baze2 i baze3?

bekap je ok
 
Odgovor na temu

Shinhan
PHP programmer
Subotica

Član broj: 12327
Poruke: 372
*.static.isp.telekom.rs.

Jabber: shinhan@elitesecurity.org
ICQ: 400847988


+4 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu21.12.2010. u 08:04 - pre 161 meseci
Ček, nije u redu da neki kron radi stalno update sa prve dve na treću mašinu a OK je da neko ručno radi update na trećoj mašini? o.O

I koje od mašina nisu uvek uključene?
"Common sense is not so common." - Voltaire
 
Odgovor na temu

SpizaGenije
Spiza Genije
Software Developer
Signus

Član broj: 247347
Poruke: 193
*.teol.net.



+4 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu21.12.2010. u 09:37 - pre 161 meseci
@ bogdan.kecman

s obzirom da se ne bavim MySQL programiranjem (znam pisati upite i još par stvari :P ), te ne poznajem sleng (da ga nazovemo tako), možda sam pogrešio kada sam rekao "da objedinim". Želim samo da podatke iz dve tabele iz prve dve baze, prebacim u treću tabelu u trećoj bazi (tabele su u potpunosti iste, kao i baze podataka. Samo što je meni život zagorčan :p )

@Shinhan

nijedna mašina nije stalno uključena! :p
da se mene pita (a ne pita!), ja bih postavio server mašinu, na koju bih nakačio ostale, te na nju upisivao ili povlačio sve što mi je potrebno u datom trenutku.
I kad bih radio bekap, radio bih ga i na klon diskove i onda ne bih imao nikakvih problema... taman kada bi se server mašina zapalila i izgorila do džampera! :D

e sada... s obzirom da oni izgleda vole da idu peške (jer su tako tražili), ja bih im na treću mašinu ubacio neki batch file koji bi radio otprilike ovo "ajd ti meni sa tog i tog IP-a iz te i te baze podataka apdejtuj tu i tu tabelu u tu i tu tabelu te i te baze podataka, a koja se nalazi na tom i tom ip-u (localhost u ovom slučaju)... a pre toga bi morali upaliti sve računare sa kojih skidaju podatke.

PS. ne, nisam ja glup i debil. ja jednostavno radim ono što mi je rečeno, a to nešto mi se ni malo ne sviđa.
ispade sada da moram da se povremeno bavim i administracijom baza podataka, a ja ne znam ni najosnovnije stvari.
jedino što znam, to je da se preko svoje aplikacije nakačim na bazu, da isto tako ispišem string u aplikaciji, koji mi predstavlja najobičniji upit (SELECT, DELETE i INSERT - to je sve što sam do sada koristio kada je reč o SQL sintaksi). znam stvari koje zna jedan programer koji je do pre par godina radio u VB 6, a sada radi u VB.net i C#.

e sada... ako neko stvarno ima živaca da jednom kompletnom noob-u, kada je reč o MySQL-u, pomogne... HVALA MU! :D
Some people, when confronted with a problem, think: "I know, I'll use regular expressions."
Now they have two problems!
-Jamie Zawinsky
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu21.12.2010. u 10:54 - pre 161 meseci
Citat:
SpizaGenije: @ bogdan.kecman

s obzirom da se ne bavim MySQL programiranjem (znam pisati upite i još par stvari :P ), te ne poznajem sleng (da ga nazovemo tako), možda sam pogrešio kada sam rekao "da objedinim". Želim samo da podatke iz dve tabele iz prve dve baze, prebacim u treću tabelu u trećoj bazi (tabele su u potpunosti iste, kao i baze podataka. Samo što je meni život zagorčan :p )


ne mislim ja nista lose, samo pitam, i oni koji to rade za leba i oni koji to rade usput, svako ima neki "svoj sleng" tako da ja volem da pitam sta je pisac hteo da kaze


sad, sto se tice tog "objedinjavanja" - pitanje je dalje "a zasto"? ... da li da bi sada neki treci program pristupao tim podacima ili ?

o cemu se radi .. recimo da na S1 i S2 imas tabelu T1:
Code:

create table T1 (id int auto_increment not null primary key, name char(10));


i sada na S1 ti uradis
Code:

insert into T1 (name) values ('pera'), ('mika'), ('zika');


a na S2 uradis
Code:

insert into T1 (name) values ('svetlana'), ('svemirka'), ('zizela');


na S1 imas

1, pera
2, mika
3, zika

na S2 imas
1, svetlana
2, svemirka
3, zizela

sta hoces da uradis na S3?

ne mozes nikako da imas 1, pera i 1,svetlana posto to nece da radi, prva kolona ti je unique ...

ako ti radi posao da na S3 imas

1,pera
2,svetlana
3,mika
4,zika
5,zizela
6,svemirka

onda to moze da se napravi tako sto ces na S1 i na S2 da upalis binlog i to sa formatom STATEMENT, onda na tom trecem serveru napravis skript koji ce da povuce binlog flushne mysql i izvrsi taj binlog lokalno...

ono sto je za*ebato je sto ako ne S1 sada uradis

update T1 set name='Mikica; where id=2;

to kada prebacis na S3 on ce ti promeniti slog gde je svetlana u mikica a ne miku posto je sada svetlana id3 ...

druga varijanta koja ti je najlaksa je da na S3 stavis DVA mysql-a, i da napravis replikaciju sa S1 na prvi S3 server i sa S2 na drugi S3 server, sve ce da radi automatski nemas sta da se cimas i pravis skripte a oni onda neka razmisljaju na S3 sta ce odakle da vade
 
Odgovor na temu

SpizaGenije
Spiza Genije
Software Developer
Signus

Član broj: 247347
Poruke: 193
*.teol.net.



+4 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu22.12.2010. u 09:11 - pre 161 meseci
Izvinjavam se što sam ispario sa foruma na "čak" 20h :P :))))

@bogdan.kecman

joooj druže, pa za šta me smatraš?! :p ;))))
ono što jes' jes'... ne znam baš mnogo kada je reč o MySQL-u, ali bar znam da PK mora biti jedinstven! :D

E sada... moja tabela:

Code:

CREATE TABLE `tbl_nalog` (
  `nalogID` varchar(10) collate latin2_croatian_ci NOT NULL,
  `nalog_dan` date NOT NULL,
  `nalog_sat` time NOT NULL,
  `user_nalog` varchar(5) collate latin2_croatian_ci NOT NULL,
  `device_no` varchar(2) collate latin2_croatian_ci NOT NULL,
  `s_sirovina` varchar(30) collate latin2_croatian_ci NOT NULL,
  `merenje` decimal(6,1) NOT NULL default '0.0',
  PRIMARY KEY  (`nalogID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_croatian_ci;


se nalazi u sve tri DB...

'nalogID' ce izgledati npr.: '1012221001' na prvoj bazi i '1012222001' na drugoj, gde su prve dve cifre (10) tekuća godina, druge dve (12) tekući mesec, treće dve (22) tekući dan, sedma cifra (1 ili 2) je br. uređaja a poslednje tri (001) je redni broj merenja.Stoga, kada prenesem podatke iz prve dve baze na treću, to će izgledati ovako:

S1:
'1012221001'
'1012221002'
'1012221003'
'1012221004'

S2:
'1012222001'
'1012222002'
'1012222003'
'1012222004'

S3:
'1012221001'
'1012221002'
'1012221003'
'1012221004'
'1012222001'
'1012222002'
'1012222003'
'1012222004'

E sada... iz treće DB ću povlačiti podatke pri pregledu izveštaja, a koji se mogu selektovati po različitim kriterijumima (prikaži podatke o sirovini samo sa prvog (ili drugog) uređaja, daj mi podatke o ukupnom protoku, tamo gde je sirovinski sastav u % taj i taj, izvuci mi prosek, prikaži mi nešto grafički (šta oš i 'oklen oš :p ) i šta ti ja više znam šta će mi još izmisliti...



PS
I zašto mi pored
Code:
latin2_croatian_ci
nemamo i npr.
Code:
latin2_serbian_ci

Ili ga imamo negde "zaturenog", a ja ga ne mogu nikako naći :p


Some people, when confronted with a problem, think: "I know, I'll use regular expressions."
Now they have two problems!
-Jamie Zawinsky
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu22.12.2010. u 14:34 - pre 161 meseci
o dalje nisi odgovorio sta sa PK ... u tabeli imas

Code:

PRIMARY KEY  (`nalogID`)


to sto ti je primarni kljuc VARCHAR!!!! necu ni da komentarisem, ali na koji nacin ces ti da napravis da ti je unique S1/S2 da bi mogao da ga prebacis na S3 ?! tj da neces na S1 i S2 da izgenerises ISTI nalogID - kako onda mislis da ga prebacis na S3

Citat:

sedma cifra (1 ili 2) je br


da li je ovo unique za S1 / S2, tj na S1 ce uvek biti 1 a na S2 ce uvek biti 2 ?!


Citat:

I zašto mi pored
Code:
latin2_croatian_ci

nemamo i npr.
Code:
latin2_serbian_ci



:D politicka iz*avanja ... nama je zvanicno pismo cirilica, cirilice NEMA u LATINx vec mora da se koristi unicode. u standardnom unicode-u cirlica se vec korektno sortira i poredi tako da utf_general_ci radi za srpsku cirilicu 1/1. Ono sto je problem je sto mi realno (iako to politicari i ovi sa sanu pokusavaju da ignorisu) koristimo i latinicu paralelno te je onda neophodno definisati pravila za sortiranje i poredjenje po tom principu. Osim dalekoistocnih zemalja (japan i sl) mi smo jedini koji koriste dva pisma. E sada, ja sam licno cimao ove sa fakulteta i ove iz sanu i one iz vukove zaduzbine da mi se daju TACNA PRAVILA za srpsku kolaciju, kako se poredi cirilica i latinica mesano, kako se sortira i slicno, dobio sam odgovor "koja latinica?!"... ako pogledas kod mene na blogu ja sam napravio externu kolaciju (izeditujes xml-ove i resetujes mysql) koja sortira utf po pravilima koja sam ja odredio - dakle cirilica se jednaci sa latinicom i sve se sortira zajedno, dakle cirilicna i latinicna slova se zajedno sortiraju po azbuci (umesto prvo latinica po abecedi pa cirilica po azbuci i umesto da latinicno A nije jednako sa cirilicnim A) ... to je trebalo da udje u 5.5 kao utf8_serbian_ci ali NIJE - nije zato sto MySQL ne moze sam za sebe da donese odluku kako ce da se sortira srpski jezik, niti ja mogu to da donesem kao bogdan kecman, vec za to mora da postoji dokument neke vazece ustanove koji ce ta pravila da donese ... mene su na sva 3 mesta gde sam trazio takav dokument od*ebali i samo sto nisu digli dreku kako me nije sramota da spominjem latinicu i sta njih briga za tamo neki mysql i sta njih briga kako se sortira latinica, mogu da sortiram latinicu kako god ja hocu to se njih ne tice ... zato ni mysql 5.5 nema utf_serbian_ci (a ima i slovenian i croatian) nego jedino postoji taj blog post sa primerom kako to sam da uradis (pa mozes i da modifikujes malo ako hoces...)
 
Odgovor na temu

SpizaGenije
Spiza Genije
Software Developer
Signus

Član broj: 247347
Poruke: 193
*.teol.net.



+4 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu22.12.2010. u 14:58 - pre 161 meseci
Citat:
to sto ti je primarni kljuc VARCHAR!!!! necu ni da komentarisem

Neće biti varchar! biće integer...
nego sam ja nešto eksperimentisao ranije kada sam pokušavao da napravim unique pk



Citat:
da li je ovo unique za S1 / S2, tj na S1 ce uvek biti 1 a na S2 ce uvek biti 2 ?!

Da. Na S1 će UVEK biti 1, a na S2 će UVEK biti 2



Citat:
o dalje nisi odgovorio sta sa PK ... u tabeli imas

ovo nisam razumeo "šta je pisac hteo da pita" :p :D



Some people, when confronted with a problem, think: "I know, I'll use regular expressions."
Now they have two problems!
-Jamie Zawinsky
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu22.12.2010. u 15:18 - pre 161 meseci
ok ako je uvek 1 i uvek 2 onda to odgovara i na drugo pitanje ...

dakle, kresnes binlog na S1 i S2

sad, ako hoces da radis to manualno (skript) jednom dnevno npr napravis skript koji

1. na S1 izvrsi FLUSH LOGS
2. sa S1 pokupi sve binlog fajlove osim zadnjeg (kreiranog malopre) koje do sada nije pokupio i iskopira ih na S3 (zapamti koji si zadnji pokupio da bi znao u sledecoj iteraciji koje uzimas)
3. na S2 izvrsi FLUSH LOGS
4. sa S2 pokupi sve binlog fajlove osim zadnjeg (kreiranog malopre) koje do sada nije pokupio i iskopira ih na S3 (zapamti koji si zadnji pokupio da bi znao u sledecoj iteraciji koje uzimas)
5. na S3 serveru za sve fajlove koje si prebacio sa S1 i S2 izvrsis "mysqlbinlog imefajla | mysql "


ako ti ne radi posao da to radis tako iz skripte x puta dnevno, mozes da napravis skript koji ce na S3 da radi CHANGE MASTER TO prvo na jedan pa na drugi server (pre toga zapamtis sa show slave status dokle si stao) i to vrtis tako u krug i skupljas sa 2 mastera ...

najlaksi (najsporiji) nacin radi ako na S3 nemas nikad nikakve write-ove .. a to je da
1. uradis mysqldump na S1 (sa --create --drop ovo ono )
2. uradis mysqldump na S2 (sa --no-create-db --no-create-info)
3. pustis s1.dump na S3 (to ce da dropne sve i da upise ono sto je bilo na S1)
4. pustis s2.dump na S3 (to ce da doda sve sa S2 - nece da brise nista zbog --no-create-db i --no-create-info)


 
Odgovor na temu

SpizaGenije
Spiza Genije
Software Developer
Signus

Član broj: 247347
Poruke: 193
*.teol.net.



+4 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu24.12.2010. u 11:06 - pre 161 meseci
jaoj druže, F1...F1...F1...F1

nisam hteo ovih dana da odg. na poruku... sve dok ne isprobam i vidim da li to funkcioniše...
Elem, export S1 i S2 mi radi... ali import u S3 neće nikako da mi proguli!

može li jedan onako kratak sample code (al' da radi) kako bi ti odradio export i kasnije import u S3

btw... kako da eksportujem i importujem samo jednu tabelu (a ne čitavu bazu sa S1 i S2), pošto to zaista nikada nisam radio...
Some people, when confronted with a problem, think: "I know, I'll use regular expressions."
Now they have two problems!
-Jamie Zawinsky
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu24.12.2010. u 14:42 - pre 161 meseci
Code:

TABELA=t1
BAZA=b1
USER=malipera
PASS=perinpass

mysqldump --host S1 --user $USER --password=$PASS --add-drop-table -e --create-options --disable-keys   --order-by-primary  --routines --triggers  $BAZA $TABELA > S1BACKUP.sql
mysqldump --host S2 --user $USER --password=$PASS  --disable-keys   --order-by-primary  -no-create-db --no-create-info --database $BAZA $TABELA > S2BACKUP.sql
cat S1BACKUP.sql | mysql --host S3 --user $USER --password=$PASS $BAZA
cat S2BACKUP.sql | mysql --host S3 --user $USER --password=$PASS $BAZA


jasno?
 
Odgovor na temu

SpizaGenije
Spiza Genije
Software Developer
Signus

Član broj: 247347
Poruke: 193
*.teol.net.



+4 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu24.12.2010. u 14:59 - pre 161 meseci
Hvala, hvala...
Evo sada ću da pokušam...
javim ti kasnije...
hvala još jednom.. pozz!
Some people, when confronted with a problem, think: "I know, I'll use regular expressions."
Now they have two problems!
-Jamie Zawinsky
 
Odgovor na temu

gobs
Goran Surtov
ing. odrzavanje ,
K.Dubica

Član broj: 162343
Poruke: 51
89.111.232.*



+2 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu24.12.2010. u 16:25 - pre 161 meseci
Pozdrav.
Postoji li mogućnost da insertuješ podatke istovremeno na S1 i S3 odnosno S2 i S3 ?
Potpis ...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu24.12.2010. u 22:55 - pre 161 meseci
Citat:
gobs: Pozdrav.
Postoji li mogućnost da insertuješ podatke istovremeno na S1 i S3 odnosno S2 i S3 ?


bojim se da njegova izjava koja glas

Citat:
nijedna mašina nije stalno uključena!


onemogucava takav pristup
 
Odgovor na temu

gobs
Goran Surtov
ing. odrzavanje ,
K.Dubica

Član broj: 162343
Poruke: 51
89.111.232.*



+2 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu25.12.2010. u 09:08 - pre 161 meseci
Izvinjavam se to sam propustio u čitanju.
Potpis ...
 
Odgovor na temu

SpizaGenije
Spiza Genije
Software Developer
Signus

Član broj: 247347
Poruke: 193
*.teol.net.



+4 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu25.12.2010. u 10:10 - pre 161 meseci
@bogdan.kecman
Hvala druže... sada radi... malo sam proguglao i po netu pa sam nešto iskombinovao :D

@gobs
Pozdrav! :))))
Some people, when confronted with a problem, think: "I know, I'll use regular expressions."
Now they have two problems!
-Jamie Zawinsky
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Update baze... tj kopiranje podataka iz jedne baze u drugu25.12.2010. u 18:44 - pre 161 meseci
sada posto ti radi, u duhu open source-a lepo uzmes i copy paste svoje resnje ovde da i drugi mogu sutra da ga iskoriste sutra kada im zatreba
 
Odgovor na temu

[es] :: MySQL :: Update baze... tj kopiranje podataka iz jedne baze u drugu

[ Pregleda: 3249 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

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