MySQL Export
Jörg
- datenbank
Hallo,
ich will meine MySQL-DB exportieren, dies ist ja mit phpMyAdmin möglich. Funktioniert auch wunderbar. Jedoch möchte ich, das man auf meiner Homepage, wenn man Admin-Rechte hat, im Admin-Center ein Backup der MySQL-DB herunterladen kann. Dieses Backup soll sobald man auf Backup klickt erstellt werden. Also kein altes Backup was seit 1,2,3 oder 4 Tagen auf dem Server liegt.
Ich hab auch schon gegoogled, jedoch fand ich nur Anleitungen über SSH-Zugriff, welchen ich nicht besitze.
Gruß
Jörg
hi,
Jedoch möchte ich, das man auf meiner Homepage, wenn man Admin-Rechte hat, im Admin-Center ein Backup der MySQL-DB herunterladen kann. Dieses Backup soll sobald man auf Backup klickt erstellt werden. Also kein altes Backup was seit 1,2,3 oder 4 Tagen auf dem Server liegt.
SELECT ... INTO OUTFILE könnte ggf. helfen, sofern die nötigen Schreibrechte vorhanden sind oder vergeben werden können.
gruß,
wahsaga
Hi,
SELECT ... INTO OUTFILE könnte ggf. helfen, sofern die nötigen Schreibrechte vorhanden sind oder vergeben werden können.
ich habe alles gelesen und denke es verstanden zuhaben, jedoch läuft es immer noch nicht, was ist falsch?
Quelltext:
$DatabaseHost = "rdbms.strato.de";
$DatabaseUser = "U123456";
$DatabasePassword = "123456";
$DatabasePointer = mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword);
mysql_query("SELECT ALL INTO DUMPFILE '/home/strato/www/xx/www.xxx.de/htdocs/mysql/backup.txt'", $DatabasePointer);
hi,
ich habe alles gelesen und denke es verstanden zuhaben, jedoch läuft es immer noch nicht, was ist falsch?
Warum stellst du diese Frage _uns_?
Da du auf mysql_error() verzichtest, interessiert es dich doch offenbar _selber_ überhaupt nicht, was schief ging.
gruß,
wahsaga
Hi,
ich habe folgenden Error Code:
Error: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR)
Message: %s near '%s' at line %d
Was heißt das?
Hi,
ich hab jetzt alles nochmal überarbeitet und habe jetzt ein anderen Fehler. Ich bekomme den Fehlercode 1046 (No database selected). Was ist falsch?
Quelltext:
<?php
$DatabaseHost = "rdbms.strato.de";
$DatabaseUser = "U123456";
$DatabasePassword = "123456";
$Database = "DB123456";
$DatabasePointer = mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword);
mysql_query("SELECT * FROM $Database INTO DUMPFILE '/home/strato/www/xx/www.xxx.de/htdocs/mysql/backup.txt'", $DatabasePointer);
echo mysql_errno()
?>
Hi,
ich hab jetzt alles nochmal überarbeitet und habe jetzt ein anderen Fehler. Ich bekomme den Fehlercode 1046 (No database selected). Was ist falsch?
nun ja. Der Fehlercode sagt schonmal den ersten Teil: Es fehlt ein mysql_select_db.
mysql_query("SELECT * FROM $Database INTO DUMPFILE '/home/strato/www/xx/www.xxx.de/htdocs/mysql/backup.txt'", $DatabasePointer);
Und dann selektiert man nicht aus einer Datenbank sondern aus einer Tabelle. FROM $DATABASE wird dich also nicht zum Ziel führen, da musst du die Tabellen schon einzeln angehen.
MfG
Rouven
Hi,
Ich hab schon wieder was Falsch, nur was? Fehlercode: 1045.
Quelltext:
<?php
$DatabaseHost = "rdbms.strato.de";
$DatabaseUser = "U123456";
$DatabasePassword = "123456";
$Database = "DB123456";
$Tabelle = "Test";
$DatabasePointer = mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword);
mysql_select_db($Database, $DatabasePointer);
mysql_query("SELECT * FROM $Tabelle INTO DUMPFILE '/home/strato/www/xx/www.xxx.de/htdocs/mysql/backup.txt'", $DatabasePointer);
echo mysql_errno()
?>
hi,
Ich hab schon wieder was Falsch, nur was? Fehlercode: 1045.
Die zu den letzten Fehlercode gehörigen Textmeldungen hast du ja wenigstens noch selber nachgeschlagen ...
Na gut, 1045 ist laut Manual "access denied".
gruß,
wahsaga
Hi
Wie kann ich das Problem lösen?
Gruß
Jörg
hi,
Wie kann ich das Problem lösen?
Der Türsteher hat dir gesagt, "Ey Alter, mit Turnschuhen kommst du hier nicht rein!".
Also zieh dich um.
(Translation: Die von dir verwendeten Zugangsdaten sind falsch, als benutze die korrekten.)
gruß,
wahsaga
echo $begrüßung;
Wie kann ich das Problem lösen?
Vor dem Lösen eines Problems muss zuerst einmal dessen Ursache gefunden werden.
Was soll denn getan werden? Der MySQL-Server soll eine Datei schreiben, dessen Pfad du ihm angegeben hast: SELECT ... INTO DUMPFILE /pfad/dateiname. Darf der MySQL-Server das überhaupt? Hat er die entsprechenden Zugriffsrechte im Dateisystem?
Hast du überhaupt auf dem MySQL-Server das Recht, Dateien zu schreiben? Ich denke nicht, dass ein Massenhoster das zulässt. Bedenke, dass Dateizugiffe und Pfadangaben in SQL-Befehlen sich natürlich auf das Dateisystem des MySQL-Servers beziehen, nicht auf das des sich auf einer beliebigen anderen Maschine befindlichen Clients (sprich: dein PHP).
Ich schätze, dass du den phpMyAdmin-Weg gehen musst: Abfragen aller Daten mit "normalen" SELECT-Statements und die entsprechenden INSERT-Befehle selbst daraus generieren. Alternativ gibt es dafür bereits fertige Klassen/Scripte.
echo "$verabschiedung $name";
Hi,
dann lass ich das mit der erstellung der Datei. Ist es den möglich den Inhalt in eine Variable zuschreiben, also das das Backup nicht in eine Datei, sondern als Text auf der HP angezeigt werden kann? Wie es auch bei phpMyAdmin möglich ist.
Wenn ja, wie?
Gruß
Jörg
Hi,
ich habe noch was vergessen in dem Post:
Das es dann nicht mehr heist "SELECT ....... INTO DUMPFILE" sondern "SELECT ..... INTO VARIABLE" oder so in der Art.
Gruß
Jörg
hi,
Das es dann nicht mehr heist "SELECT ....... INTO DUMPFILE" sondern "SELECT ..... INTO VARIABLE" oder so in der Art.
Nein, dann heißt es "normaler SELECT", und Auswertung/Ausgabe der einzelnen Datensätze in PHP mittels einer Schleife.
gruß,
wahsaga
hi,
"SELECT ALL INTO DUMPFILE '/home/strato/www/xx/www.xxx.de/htdocs/mysql/backup.txt'"
ALL what and FROM what denn bitte?
gruß,
wahsaga
Hi,
Jedoch möchte ich, das man auf meiner Homepage, wenn man Admin-Rechte hat, im Admin-Center ein Backup der MySQL-DB herunterladen kann. Dieses Backup soll sobald man auf Backup klickt erstellt werden.
Da fallen mir spontan 3 Möglichkeiten ein:
1. Versuch, ob du per exec() auf mysqldump zugreifen kannst
2. Kopiere dir die URI, die phpMyAdmin aufruft, um den Dump zu erzeugen. Wenn du "Senden" aktivierst, wird die Datei zum Download angeboten
3. Programmiere dir selber ein kleines Tool, das die Datenbank sichert.
Wenn ich mich nicht täusche, gibts zum Thema einen Thread im Archiv, bei dem auch eine Lösung gepostet wurde, schau da mal nach, mit nem Link kann ich aber leider nicht dienen.