Samstag, 5. August 2006
MySQL-(Fehler) FAQ
netzstrohm, 19:51h
Hier die wichtigsten Fragen und Antworten im Zusammenhang mit Installation und Betrieb von MySQL.
Q: Kann ich eine Datenbank im laufenden Betrieb sichern ?
L: Das ist ein diffiziles Problem, das alle Datenbanken betrifft. Wenn Sie sicher sind, dass keine Tabellen geöffnet und außer ihnen kein Nutzer angemeldet ist, können Sie die Datenbankverzeichnisse einfach kopieren.
- Q: Ich habe MySQL neu installiert und jetzt geht nichts mehr. Ich kriege den Server nicht mehr zum Laufen.
- A: Die häufigste Ursache solcher Fehler ist eine von einer früheren Installation noch irgendwo rumliegende my.ini . Da in der my.ini das Datenverzeichnis ausgewiesen ist sucht MySQL die Daten evtl. am falschen Ort. Die zweithäufigste Ursache ist, dass MySQL bei XP schon irgendwann mal als Dienst installiert wurde und daher schon läuft. Eine zweite Installation stört daher nur. Ich habe schon Fälle gesehen wo drei verschiedene MySQL-Dämonen (noch dazu unterschiedlicher Versionen) zugleich ihr Unwesen trieben.
- L1: Deinstallieren Sie MySQL, suchen Sie nach einer my.ini oder my.cnf. Löschen Sie diese und installieren Sie MySQL neu.
- L2: Öffnen Sie den Dienstemanager und suchen Sie nach dem Dienst MySQL. Beenden Sie diesen und ermitteln Sie den Installationsort.
- Q: ich komme von außen nicht als root auf den Mysql-Server. An der Maschine selbst kann ich mich einloggen.
- A: Es fehlt ein Eintrag, der Ihnen als root mit Passwort den Zugang von allen (oder nur bestimmten) erlaubt. Das folgende an der Maschine selbst:
- L1: Ändern mit UPDATE user SET host=’%’,password=password(’geheim’);
- L2: INSERT INTO USER VALUES(‘%’,’root’,password(‘geheim’),’Y’,’Y’,’Y’;’Y’,’Y’,’Y’;’Y’ ,’Y’,’Y’;’Y’,’Y’,’Y’;’Y’,’Y’); !! Es müssen genau 17 Felder sein.
- Q: Kann ich eine Datenbank auf einen anderen Server aufspielen / sichern ?
- A: Da jede Datenbank genau ein Verzeichnis hat ist das recht einfach möglcih. Bei gleicher Version soll es sogar zwischen Linux und Windows möglich sein.
- L: Gehen Sie folgendermaßen vor:
- Ermitteln Sie die Datenbankrechte und die Nutzer der Datenbank (sowie unter Linux Eigentümer und Gruppe der Dateien sowie die Linuxrechte), die transportiert werden soll (diese müssen Sie später nachbasteln)
- Stoppen Sie den Quellserver
- Kopieren Sie das Datenbankverzeichnis aus dem Verzeichnis \data übers Transportmedium oder übers Netz ans Ziel
- Am Zieldatenbankserver (das geht auch im laufenden Betrieb) kopieren sie das Verzeichnis ins UVZ \data (bei Linux müssen Sie noch Eigentümer/Gruppe sowie die Rechte ändern).
- Starten Sie den Datenbankserver neu und richten Sie Datenbanknutzer und Rechte ein.
- Machen Sie mit flush Privileges die Änderungen gültig und testen Di den Zugriff auf die Daten.
- Analog geht auch eine Sicherung der Datenbank. Eine Rücksicherung ist jedoch nur bei abgeschaltetem Server möglich.
MYSQL 5.X
Was ist anders bei MYSQL 5.X ?- Der Code wurde optimiert um noch mehr Schnelligkeit zu erreichen
- Die Tabelle user wurde um 20 weitere Felder erweitert, die aber alle für die meisten Nutzer ohne Bedeutund sind (sicheres Einloggen per SSL etc.)
- Das Installationsprogramm wurde erheblich verbessert, sodass es jetzt viele mehr Auswahlmöglichkeiten bietet und Fehler besser abfängt. Außerdem wird Standardmäßig nach C:\Programme installiert.
- Gestoppt wird der Server mit mysqladmin –u root shutdown.
MUE 05.08.06
... comment