mySQL Datenbank "sichern" bzw "transferieren&

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
SirCus
Beiträge: 182
Registriert: 10.09.2004 11:44
Wohnort: München
Kontaktdaten:

mySQL Datenbank "sichern" bzw "transferieren&

Beitrag von SirCus »

folgendes Problem
in Meinem mySQL Büchlein stehen ein paar Kommandos um eine Datenbank in mySQL mittels PERL scripten zu sichern und wiederherzustellen.

aber erstens hab ichmich mit PERL noch nich befasst,
zweitens .. gibts ne Möglichkeit das auch ohne PERL zu machen?

Also Tabelle anlegen, Formate für Spalten etc. ihr wisst schon :)
2D Game H.E.R.A. (Entwicklung eingefroren)
www.chamaeleo-fx.de.vu

- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

wenn's für's web ist, schau dir mal phpMyAdmin an. Ist eine recht umfangreiche Weboberfläche für MySQL-Datenbanken
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Max.
Beiträge: 58
Registriert: 29.08.2004 13:19

Beitrag von Max. »

Das einfachste ist es, den MySQL Dienst vor der Sicherung zu beenden, dann das Verzeichnis "DB-Name" (alle DB relevanten Dateien sind dort) kopieren und anschliessend wieder den Server hochfahren.

Habe ich mehrfach unter MySQL/Linux praktiziert.

Alternativ gibt es die Möglichkeit eines "SELECT ... INTO OUTFILE", das die Daten in einem Textfile ablegt. Mal die Doku angucken, da gibt es viele Parameter.
AMD XP 2400+ · 1 GB RAM · Radeon 9800 Pro · Win XP SP1 · IE 6.0
Benutzeravatar
SirCus
Beiträge: 182
Registriert: 10.09.2004 11:44
Wohnort: München
Kontaktdaten:

Beitrag von SirCus »

php admin habe ich nicht, es geht mir tatsächlich um die Möglichkeit die Datenbankstruktur über die Kommandozeile zu sichern.

@Max
wenn ich das verzeichnis "DB-Name" sichere, erkennt ein zweiter mySQL server diese neue Datenbank auch an?

Ich habe eben eine funktion mysql dump gefunden, werde mir die mal angucken.

Im Grunde suche ich 2 Funktionen:
1. lediglich die Datenbank struktur ohne Ihnhalte sichern
2. die Inhalte sichern.
Ich denke das Kopieren des Verzeichnisses sowie mysqldump sichern jeweils die Datenbankstruktur UND den inhalt.
2D Game H.E.R.A. (Entwicklung eingefroren)
www.chamaeleo-fx.de.vu

- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
Max.
Beiträge: 58
Registriert: 29.08.2004 13:19

Beitrag von Max. »

SirCus hat geschrieben:@Max
wenn ich das verzeichnis "DB-Name" sichere, erkennt ein zweiter mySQL server diese neue Datenbank auch an?
Macht er (ist allerdings sicher hilfreich, wenn beide MySQL Server die gleiche Version haben).

Versuch es einfach mal; erstelle ein neues Verzeichnis (normalerweise unterhalb von /var/lib/mysql und kopiere den Inhalt eines anderen DB Verzeichnisses da rein. Wenn die Berechtigungen passen, dann solltest Du sofort mit der "neuen" DB arbeiten können.

Um mit mysqldump nur die Struktur zu bekommen, ruf es so auf:

Code: Alles auswählen

mysqldump -u user -p --no-data Datenbank-Name > Datei
Es gibt auch noch jede Menge "SHOW" Kommandos;

z.B.

Code: Alles auswählen

 SHOW CREATE TABLE tables_priv;
angewendet auf die DB mysql ergibt:

Code: Alles auswählen

CREATE TABLE `tables_priv` (
  `Host` char(60) binary NOT NULL default '',
  `Db` char(64) binary NOT NULL default '',
  `User` char(16) binary NOT NULL default '',
  `Table_name` char(60) binary NOT NULL default '',
  `Grantor` char(77) NOT NULL default '',
  `Timestamp` timestamp(14) NOT NULL,
  `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter') NOT NULL default '',
  `Column_priv` set('Select','Insert','Update','References') NOT NULL default '',
  PRIMARY KEY  (`Host`,`Db`,`User`,`Table_name`),
  KEY `Grantor` (`Grantor`)
) TYPE=MyISAM COMMENT='Table privileges'
also den SQL Befehl um eine Tabelle mit derselben Struktur zu erstellen.
AMD XP 2400+ · 1 GB RAM · Radeon 9800 Pro · Win XP SP1 · IE 6.0
Benutzeravatar
SirCus
Beiträge: 182
Registriert: 10.09.2004 11:44
Wohnort: München
Kontaktdaten:

Beitrag von SirCus »

jupp, geht alles :)
vielen Dank
2D Game H.E.R.A. (Entwicklung eingefroren)
www.chamaeleo-fx.de.vu

- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
Antworten