MySQL import, zonder actieve putty connectie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • pim
  • Registratie: Juli 2001
  • Laatst online: 17-09 11:39
Ik zit in het buitenland achter een slechte internetverbinding.

Nu wil ik een MySQL table importeren met 2 miljoen records(via putty commandline), maar zodra ik de internetverbinding verlies, stopt de import..
Is er een manier om die import aan te zetten, en dat ik vervolgens mijn laptop af kan sluiten, en dat die import gewoon doorgaat?

code:
1
mysql -u username -p -f databasenaam < data.sql

Acties:
  • 0 Henk 'm!

  • Rmg
  • Registratie: November 2003
  • Laatst online: 20:52

Rmg

mysql -u username -p -f databasenaam < data.sql &

of screen gebruiken, dan kan je ook nog voortgang checken na een tijdje

[ Voor 4% gewijzigd door Rmg op 27-01-2011 08:15 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Gebruik screen om een sessie te openen die kan worden losgekoppeld van je tty, of gebruik nohup en stuur de taak naar de background:

nohup mysql -u username -p -f databasenaam < data.sql &


Beiden zijn niet specifiek voor MySQL imports, dit kan ook in allerlei andere situaties worden gebruikt.

Acties:
  • 0 Henk 'm!

  • pim
  • Registratie: Juli 2001
  • Laatst online: 17-09 11:39
Ik weet niet wat er precies gebeurd, maar als ik & toevoeg aan het einde krijg ik dit terug, en word de import niet gestart, hij vraagt ook niet om een password:

code:
1
2
3
4
5
6
7
-bash-3.2$ mysql -u username --default-character-set utf8 --force -p username < talen.txt &
[2] 32336
-bash-3.2$

[2]+  Stopped                 mysql -u username --default-character-set utf8 --force -p username < talen.txt
-bash-3.2$
-bash-3.2$

Acties:
  • 0 Henk 'm!

  • Exhar
  • Registratie: Februari 2007
  • Niet online
screen
mysql import starten (& is niet nodig, in dit geval)
CTRL + a, CTRL + D ( C-a C-d (detach) Detach screen from this terminal.)

Dan kan je uitloggen maar zal de import verder draaien in de screen.

hint: man screen

Acties:
  • 0 Henk 'm!

Verwijderd

Oh, eh, natuurlijk :)

Maak eerst even een bestandje aan in je home directory met je wachtwoord:
touch ~/.my.cnf
chmod 600 ~/.my.cnf


Daarna bewerk je de inhoud van het bestand en maak je er het volgende van:
code:
1
2
[client]
password=wachtwoordhier


Dan kun je -p flag weglaten en moet alles goed werken.
Punt is natuurlijk dat je inderdaad op een of andere manier je wachtwoord moet doorgeven :)

In een screen sessie zou je hier geen last van hebben, daarin kun je gewoon het commando uitvoeren zoals je altijd zou doen, maar dat vereist wat meer leerwerk. Je hebt daar overigens wel heel veel aan. Ik werk altijd in een screen sessie.

Acties:
  • 0 Henk 'm!

  • pim
  • Registratie: Juli 2001
  • Laatst online: 17-09 11:39
Thanx Cheatah. Het importeren wordt nu gestart... Maar net verloor ik de internetverbinding, en toen werd de import toch weer afgebroken.. De & stond er wel achter..

"screen" is jammer genoeg niet geinstalleerd op deze server..

Acties:
  • 0 Henk 'm!

  • pim
  • Registratie: Juli 2001
  • Laatst online: 17-09 11:39
Ik heb het nu opgelost door elke keer de mysql queries uit het textbestand te deleten die al gedaan zijn...
Dus is het goed gegaan tot lijn 2500, dan doe ik:

sed '1,2500d' oud.sql > nieuw.sql

Acties:
  • 0 Henk 'm!

  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 06:13

BoAC

Memento mori

Je vergeet de nohup commando..
Pagina: 1