LINUX: mySQL-Datenbank sichern

* Tutorials about servers, viewers and simulators
* Anleitungen über Server, Viewer und Simulatoren

LINUX: mySQL-Datenbank sichern

Beitragvon Lena Vanilli » Mo 23. Nov 2009, 18:28

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Hallo Metropolitaner,

wer die Standard-Datenbank SQLite einsetzt, braucht z.B. beim Serverwechsel nur alle Dateien mit der Dateiendung ".db" auf den neuen Server kopieren.

Bei mySQL sieht das etwas anders aus. Da müssen die Daten aus der Datenbank ausgelesen und in die neue Datenbank eingelesen werden. Das macht man mit "mysqldump". Und der Aufruf sieht folgendermassen aus:

Code: Alles auswählen
mysqldump -u root -p datenbankname > opensim.dump


Für datenbankname bitte den Namen der mySQL-Datenbank eingeben. Bevor der Dump ausgeführt wird, werdet ihr noch nach dem root-Passwort gefragt. Als Output gibts dann in unserem Beispiel die Datei "opensim.dump", in welcher die DB-Inhalte in SQL-Befehlen gefasst sind.

Und das Einlesen in die neue Datenbank geht genauso einfach:

Code: Alles auswählen
mysql -u root -p datenbankname < opensim.dump


Viele Spass beim Sichern!
Lena
Alles wird gut!
Benutzeravatar
Lena Vanilli
Administrator
 
Beiträge: 3127
Registriert: Mi 1. Apr 2009, 11:23
Wohnort: Konstanz

Re: LINUX: mySQL-Datenbank sichern

Beitragvon Brunhild » Di 24. Nov 2009, 10:03

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Hmm, MYSQL scheint nicht so wirklich mein Ding zu sein.
Wenn ich das so mache wie Du schreibst kommt die Meldung dass die Datenbank nicht existiert. Wenn ich ne leere Datenbank mit dem Namen erstelle dann läuft mysqldump zwar durch aber irgendwie passiert nix, die Datenbank ist hinterher immer noch leer.
Kannst Du mir da weiterhelfen?

Danke

Bruni
>>> Bei uns werden Sie geholfen :-D <<<
Benutzeravatar
Brunhild
 
Beiträge: 993
Registriert: So 26. Apr 2009, 14:52
Wohnort: Erlangen

Re: LINUX: mySQL-Datenbank sichern

Beitragvon Lena Vanilli » Di 24. Nov 2009, 22:20

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Kommt die Fehlermeldung, wenn du versuchst die Dumpdatei einzulesen? Hat er denn überhaupt eine Dumpdatei erstellt? Ich bin mir jetzt auch nicht mehr sicher, ob das mysqldump als erstes die DB-Anlage in die SQL-Datei schreibt. Falls nicht, muss die Datenbank vorher manuell angelegt werden. Schau einfach mal in die ersten Datensätze der SQL-Datei.

Das Einspielen geht natürlich auch mit mysql (statt mysqldump). Die Syntax ist die gleiche.

Viel Erfolg
Lena
Alles wird gut!
Benutzeravatar
Lena Vanilli
Administrator
 
Beiträge: 3127
Registriert: Mi 1. Apr 2009, 11:23
Wohnort: Konstanz

Re: LINUX: mySQL-Datenbank sichern

Beitragvon Brunhild » Mi 25. Nov 2009, 10:25

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Huhu Lena,

also wenn ich ohne vorher die Datenbank anzulegen den Importbefehl ausführe kommt diese Meldung:

Code: Alles auswählen
-- MySQL dump 10.13  Distrib 5.1.36, for suse-linux-gnu (i686)
--
-- Host: localhost    Database: opensim
-- ------------------------------------------------------
-- Server version       5.1.36-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
[color=#FF0000]mysqldump: Got error: 1049: Unknown database 'opensim' when selecting the database[/color]


Die letzte Zeile sagt mir dass die Datenbank vermisst wird. Also hab ich mit
Code: Alles auswählen
mysql create database opensim;
ne Datenbank angelegt:

Code: Alles auswählen
mysql> create database opensim;
Query OK, 1 row affected (0.00 sec)

mysql> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| opensim            |
| test               |
+--------------------+
4 rows in set (0.00 sec)


offensichtilich hat das auch geklappt.

Dann nochmal den mysqldump ausgeführt:

Code: Alles auswählen
mysqldump -u root -p opensim < opensim.dump
Enter password:
-- MySQL dump 10.13  Distrib 5.1.36, for suse-linux-gnu (i686)
--
-- Host: localhost    Database: opensim
-- ------------------------------------------------------
-- Server version       5.1.36-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2009-11-25 10:14:39


und siehe da, keine Fehlermeldung.
Aber wenn ich jetzt im mysql die Datenbank öffne
Code: Alles auswählen
use opensim;

und dann die Tabellen anzeigen lassen will zeigt sich dass die Datenbank leer ist:

Code: Alles auswählen
mysql> show tables;
Empty set (0.00 sec)


Der Datenbankdump ist ca 4MB gross. Wenn ich ihn mit nen Texteditor öffne erscheint ein wirrer Zeichensalat aus dem ich nicht wirklich schlau werde.

Gruss

Bruni
>>> Bei uns werden Sie geholfen :-D <<<
Benutzeravatar
Brunhild
 
Beiträge: 993
Registriert: So 26. Apr 2009, 14:52
Wohnort: Erlangen

Re: LINUX: mySQL-Datenbank sichern

Beitragvon Lena Vanilli » Mi 25. Nov 2009, 17:59

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Huhu Bruni,

versuche beim Einlesen der Dumpdatei doch einmal "mysql" anstatt "mysqldump". Ansonsten der gleiche Aufbau.

Grüße
Lena
Alles wird gut!
Benutzeravatar
Lena Vanilli
Administrator
 
Beiträge: 3127
Registriert: Mi 1. Apr 2009, 11:23
Wohnort: Konstanz


Zurück zu Technical Tutorials / Technische Anleitungen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast



Powered by phpBB

Deutsche Übersetzung durch phpBB.de
.

Style designed by Artodia.