[ vilyu @ 27.03.2012. 20:37 ] @
Situacija je sledeca:
- imam ssh pristup racunaru A
- sa racunara A mogu da pristupim portu 3306 racunara B (sto ne mogu direktno zbog firewall-a), ali nemam ssh pristup
- zelim da dump-ujem bazu sa racunara B direktno na svoju masinu

Kako da napravim tunel do masine B, tako da mogu da pozivom mysqldump programa na svojoj masini preuzmem bazu sa racunara B?

MySQL Workbench ima takvu opciju, da se tek sa racunara A povezuje na 3306 racunara B, ali ne znam kako to ostvaruje. Workbench svakako daje jedno resenje, ali me interesuje kako se to radi iz konzole.

Razmisljao sam o varijanti da na masini A napravim tunel sa porta 4406 na 3306 na masini B, pa da lokalni 3306 tunelujem na 4406 na A, ali to nesto nije radilo.

Moze neki hint?
[ nkrgovic @ 27.03.2012. 21:58 ] @
hint: ssh -L

:) Trazio si hint.
[ vilyu @ 29.03.2012. 16:12 ] @
Hvala na odgovoru. Ipak sam tražio hint koji prevazilazi ono što sam naveo u prvom postu. Mislim da je iz prve poruke na temi jasno da sam već pravio tunel sa -L.
[ Mister Big Time @ 01.04.2012. 21:12 ] @
Zasto ne dampujes bazu sa B na A, a onda sa A na svoju masinu ili gde god zelis dalje...
[ vilyu @ 02.04.2012. 17:24 ] @
Pa i radim tako trenutno. Ali trazim lakse resenje. Ako postoji, sto ga ne bih primenio? Uostalom, cim moze Workbench...
[ nkrgovic @ 02.04.2012. 17:42 ] @
Na masini na kojoj imas prisup dignes tunel koji mysql port sa udaljene masine kaci na neki lokalni port. Onda sa tvoje lokalne masine pravi mysql konekciju na tu masinu na kojoj imas ssh, na port koji si sam odredio sa mysql -u nekiuser -h A --port novi_port
[ vilyu @ 04.04.2012. 18:54 ] @
Probao, no problem je sto kad sa masine A:4406 probam da napravim tunel na B:3306 trazi mi pass za masinu B, a to nemam.
[ Machiavelli... @ 08.04.2012. 11:49 ] @
Napravi parove public/private keys na A (ssh-keygen) i iskopiraj public na B. Isto uradi na B i iskopiraj public na A. Ne bi trebao onda da ti trazi sifru.
[ vilyu @ 08.04.2012. 13:07 ] @
Nemam ssh pristup masini B, te sve opcije gde ja nesto radim na masini B otpadaju.

Da se vratimo na postavku: Mogu da pokrenem mysqldump na masini A, sa parametrom -h B i da tako svucem dump na A, pa potom scp sebi u lokal.

Ono sto trazim je: Kako napraviti ssh tunel, tako da pokrenem mysqldump u lokalu, a svucem podatke sa masine B (kojoj nemam ssh pristup), preko masine A?
[ niceness @ 08.04.2012. 14:12 ] @
Cekaj malo, ako vec ima mysqldump na masini "A" onda bi ovako nesto radilo posao:
Code:
lokalna_masina$ ssh masina_A "mysqldump -h masina_B [ostali parametri]" > mysql.bkp

Znaci mysqldump se pokrece na masini A, a izlaz se vraca nazad kroz ssh i na lokalnoj masini preusmerava (samo stdout) u fajl.

Ili mozda nisam dobro shvatio problem... :)
[ maksvel @ 08.04.2012. 14:17 ] @
Cenim da ti treba ovako nešto:
http://psdlw.users.sourceforge.net/wordpress/?tag=mysqldump

//edit: u međuvremenu je niceness postovao, pogledaj prvo njegov "recept".
[ vilyu @ 09.04.2012. 16:59 ] @
niceness to je bilo resenje koje sam trazio. Zaboravio sam da ce izlaz naredbe na udaljenom racunaru da se prosledi meni u lokal.

Hvala svima sto ste se zainteresovali da mi pomognete s ovim.
[ bogdan.kecman @ 17.04.2012. 05:41 ] @
mnogo ti je bolje resenje sa http://psdlw.users.sourceforge.net/wordpress/?tag=mysqldump gde radis mysqldump --compress

dakle


ssh -L 7777:B:3306 userA@A
mysqldump --compress -a -e -upera -pperic -h 127.0.0.1 -P 7777 --protocol=tcp nekabaza > lokalnifajlsabekapom.sqldump