Medien & Phantastik > Multimedia - Software & Betriebsysteme

MySQL von Xampp nach lampp

(1/2) > >>

Karl Lauer:
Hallöchen,

ich hab das Problem, das ich auf meinem USB Stick Xampplite installiert habe und die SQL Datenbanken jetzt gerne auch auf meinem Ubunturechner nutzen wollte.
Ich hab also lampp installiert und den USB-Stick eingestöpselt. Dann einfach mal versucht die Datenbanken (ich glaube) auf dem Stick /xampp/mysql/data/[datenbankname] in das Vezeichnis auf meinem Rechner /opt/lampp/var/mysql/[datenbankname] zu kopieren.
Im phpmyadmin erkennt er das die Datenbank da ist, aber er behauptet es wär nix drin.
Wie geh ich am besten/ am einfachsten vor?

Andreas:
Ich würde da erst mal nen Dump ziehen und diese Datei dann versuchen über den PhpMyAdmin einzuspielen.

Sharrow:
Das Programm "mysqldump" sollte eigentlich im bin-Verzeichnis deiner mysql-Installation zu finden sein. Das ist genau für diesen Zweck gemacht.

mysqldump [options] --opt --all-databases > backup.sql

Anschließend kannst du den kram ganz normal per mysql wieder importieren.

mysql [options] < backup.sql

Kleiner Tipp: Wenn du im dump alle "INSERT " durch "INSERT DELAYED " ersetzt, geht das importieren bedeutend schneller.

Beide Schritte kann man auch mit phpMyAdmin etwas komfortabler erledigen. Das scheitert aber meistens besonders beim Importieren an der zu großen Datenmenge. Oft ist man gezwungen, den Dump in mehrere einzelne Dumps aufzuteilen, damit der Server den kram schluckt und vor dem Timeout verarbeiten kann.

Gast:
Wenn man mit PHPMyAdmin arbeitet, muss man bedenken das PHP in seiner Grundkonfiguration nur eine gewisse Dateigrösse verarbeiten kann. Diese Werte lassen sich in der php.ini (ich kenns nur Linux!) bearbeiten:

Am Beispiel unseres Servers:

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 45     ; Maximum execution time of each script, in seconds
max_input_time = 90     ; Maximum amount of time each script may spend parsing request data
memory_limit = 64M

Das sind zuerst die Resource-Limits, d.h. was ein PHP-Prozess an RAM und Rechenzeit verbrauchen darf. Die stehen Anfangs auf 32MB , 30 und 60. Abhängig vom RAM des localhosts kann man da auf 64 oder auch mehr MB hoch gehen. Executiontime und Inputtime können auf den Startwerten gelassen werden, solange es keine entsprechenden Fehlermeldungen gibt.


Dann das Datahandling:

; Maximum size of POST data that PHP will accept.
post_max_size = 8M

-> Ich kann mit dieser Einstellung per PHPMyAdmin SQL-Dumps von maximal 8MB verarbeiten lassen! Dieser Wert steht Anfangs auf 2MB und kann auf lokalen System, bzw. leistungsstarken Maschinen auch einfach auf die Grösse des zu verarbeitenden Dumps gesetzt werden. Allerdings sollte das den Wert des Memorylimits nicht überschreiten ;)

Und dann noch die Fileuploads, da PHPMyAdmin das Dumpfile ja zuerst "hochladen" muss:

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

-> sollte man dann auch mindestens die Grösse des Dumpfiles angeben, bzw. einen entsprechenden MB-Wert.

PHPMyAdmin ist gut um in der DB selbst zu arbeiten, oder beim Dumpen von kleinen Datenbanken bis, hm, sagen wir mal 30MB. Beim Einlesen eines Dumps grösserer Datenbanken (GroFaFo hat z.b. 350MB) bevorzuge Ich persönlich mittlerweile aber die Shell, da sich der localhost dann nicht noch mit dem PHP-Prozess belasten muss.

Per SSH:

1. Einloggen per SSH auf den localhost
2. Wechseln ins Verzeichnis in dem der Dump abgelegt ist (z.b. nach dem man diesen per FTP hochgeladen hat)
3. Login in MySQL mit mysql -uUSERNAME -pPASSWORT
4. Datenbank connecten mit connect DATENBANKNAME
5. dump einlesen mit source DATEINAME
6. zugucken und zurücklehnen.

Der Fantasyhost benötigt ca 40 Sekunden die GroFaFo-DB einzulesen.

Bitpicker:
Falls alle Stricke reißen: xampp gibt es auch für Linux.

Robin

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln