2 Tabellen aus einer MySQL-DB remote als Text holen
Bei meinem ehemaligem Hoster ist ziemliches Chaos, sieht danach aus, dass er in Konkurs ist. Meine letzten cpanel-Backups sind bereits irgendwie defekt, weil der Hoster permanent manuell rum gepfuscht hat, aber ich kann mich noch per ssh zum Rechner verbinden. Einloggen über cpanel bringt die Meldung, dass das License-File nicht mehr gelesen werden kann. Da dort Scripte laufen, die den ssh-Zugang relativ rasch deaktivieren, wenn zB zu viele Dinge gleichzeitig laufen, muss ich sehr vorsichtig sein, damit ich mir nicht die letzten Möglichkeiten nehme, mir von dort noch etwas zu holen. Meine Quota dort ist auch sehr knapp, sodass ein Fullbackup mit Komprimieren nicht mehr möglich ist. Ich möchte mir also über die Konsole 2 Tabellen aus einer Datenbank als Text holen. Kann mir bitte wer die genaue Syntax dafür nennen. Ich möchte keinen Fehler machen, da ich vermutlich nur 1 Versuch habe. Bekannt ist also: IP-Adresse Datenbank-Name Tabelle User Passwort Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Al Bogner [mailto:suse-linux@ml061.pinguin.uni.cc] schrieb:
Ich möchte mir also über die Konsole 2 Tabellen aus einer Datenbank als Text holen. Kann mir bitte wer die genaue Syntax dafür nennen. Ich möchte keinen Fehler machen, da ich vermutlich nur 1 Versuch habe.
Bekannt ist also: IP-Adresse Datenbank-Name Tabelle User Passwort
Da ist mysqldump Dein Freund: mysqldump -u<User> -p<Passwort> <Datenbank-Name> [<Tabellenname1> <Tabellenname2> ...] Erzeugt Dir einen Dump der geanannten Tabellen bzw. (wenn Du keinen Tabellennamen angibst) der kompletten DB. Einfach die Ausgabe mit ">" in eine Datei umleiten und diese z.B. per ssh, scp o.ä. auf den lokalen Rechner kopieren... Nach "-u" und "-p" dürfen (IIRC) keine Leerzeichen stehen. <Passwort> kannst Du weglassen, wenn Du möchtest. Dann fragt der Befehl interaktiv danach. Weitere Auskünfte erteilt 'mysqldump --help' -- Mit freundlichen Grüßen Thomas Voigt -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 6. September 2007 15:17 schrieb Voigt Thomas:
Ich möchte mir also über die Konsole 2 Tabellen aus einer Datenbank als Text holen. Kann mir bitte wer die genaue Syntax dafür nennen. Ich möchte keinen Fehler machen, da ich vermutlich nur 1 Versuch habe.
Bekannt ist also: IP-Adresse Datenbank-Name Tabelle User Passwort
mysqldump -u<User> -p<Passwort> <Datenbank-Name> [<Tabellenname1> <Tabellenname2> ...]
Ich war mir unsicher, ob die DB durch die Tabelle irgendwie durch einen Trenner gekennzeichnet sein muss, aber eigentlich hätte ich es lokal ausprobieren können.
Erzeugt Dir einen Dump der geanannten Tabellen bzw. (wenn Du keinen Tabellennamen angibst) der kompletten DB. Einfach die Ausgabe mit ">" in eine Datei umleiten und diese z.B. per ssh, scp o.ä. auf den lokalen Rechner kopieren...
Ist klar.
Nach "-u" und "-p" dürfen (IIRC) keine Leerzeichen stehen. <Passwort> kannst Du weglassen, wenn Du möchtest. Dann fragt der Befehl interaktiv danach.
Eben leider nicht. mysqldump: Got error: 1045: Access denied for user '...'@'localhost' (using password: NO) when trying to connect Und nun habe ich das Problem, dass das PW mehrere Sonderzeichen enthält und ich die Meldung nach dem 1. Sonderzeichen erhalte: "event not found" Am lokalen Server würde bereits alles so funktionieren, wie ich es mir vorstelle. Ich scheitere nur an der PW-Eingabe. Das PW unter " zu setzen hilft auch nichts. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Al Bogner wrote:
Am Donnerstag, 6. September 2007 15:17 schrieb Voigt Thomas:
Nach "-u" und "-p" dürfen (IIRC) keine Leerzeichen stehen. <Passwort> kannst Du weglassen, wenn Du möchtest. Dann fragt der Befehl interaktiv danach.
Eben leider nicht.
mysqldump: Got error: 1045: Access denied for user '...'@'localhost' (using password: NO) when trying to connect
Doch. Du hast vergessen, -p zu schreiben (also die Option -p aber ohne das Paswort): mysqldump -u<User> -p <Datenbank-Name> <Tabellenname1> Dann fragt mysql interaktiv nach dem Passwort. Joachim -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 6. September 2007 17:34 schrieb Joachim Marx:
Al Bogner wrote:
Am Donnerstag, 6. September 2007 15:17 schrieb Voigt Thomas:
Nach "-u" und "-p" dürfen (IIRC) keine Leerzeichen stehen. <Passwort> kannst Du weglassen, wenn Du möchtest. Dann fragt der Befehl interaktiv danach.
Eben leider nicht.
mysqldump: Got error: 1045: Access denied for user '...'@'localhost' (using password: NO) when trying to connect
Doch. Du hast vergessen, -p zu schreiben (also die Option -p aber ohne das Paswort):
mysqldump -u<User> -p <Datenbank-Name> <Tabellenname1>
Dann fragt mysql interaktiv nach dem Passwort.
Stimmt, aber klappt immer noch nicht. mysqldump: Got error: 1045: Access denied for user 'name'@'localhost' (using password: YES) when trying to connect Sieht irgendwie nach einem Rechteproblem aus, aber ich habe für diese MySQL-DB beim Hoster natürlich lkeine root-Rechte und der meldet sich ja auch nicht mehr. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Al Bogner wrote:
mysqldump: Got error: 1045: Access denied for user 'name'@'localhost' (using password: YES) when trying to connect
Sieht irgendwie nach einem Rechteproblem aus, aber ich habe für diese MySQL-DB beim Hoster natürlich lkeine root-Rechte und der meldet sich ja auch nicht mehr.
|Probier mal mysqldump --host=127.0.0.1 -p ... Damit wird per TCP/IP zum MYSQL-Server verbunden (statt per socket) Evtl. hast Du vom Provider mit den Zugangsdaten auch einen anderen Hostnamen für den MySQL-Server genannt bekommen? Dann nimm den. Also: mysqldump --host=hier_der_hostname -p ... Joachim | -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 6. September 2007 18:56 schrieb Joachim Marx:
Al Bogner wrote:
mysqldump: Got error: 1045: Access denied for user 'name'@'localhost' (using password: YES) when trying to connect
Sieht irgendwie nach einem Rechteproblem aus, aber ich habe für diese MySQL-DB beim Hoster natürlich lkeine root-Rechte und der meldet sich ja auch nicht mehr.
|Probier mal
mysqldump --host=127.0.0.1 -p ...
Damit wird per TCP/IP zum MYSQL-Server verbunden (statt per socket)
Evtl. hast Du vom Provider mit den Zugangsdaten auch einen anderen Hostnamen für den MySQL-Server genannt bekommen? Dann nimm den. Also: mysqldump --host=hier_der_hostname -p ...
Das Problem ist gelöst. _Innerhalb_ des Passwortes müssen Sonderzeichen mit \ "gequotet" werden., wenn das PW per Shell übergeben wird. Vielen Dank! Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Al! On Thu, 06 Sep 2007, Al Bogner wrote:
Das Problem ist gelöst. _Innerhalb_ des Passwortes müssen Sonderzeichen mit \ "gequotet" werden., wenn das PW per Shell übergeben wird.
Solltest Du das Passwort nicht interaktiv eingeben? Macht sich sonst nicht so toll in der history oder in der Prozesstabelle. Vor allem, wenn der Prozess länger läuft und auf einem unbekannten Server läuft. Mit freundlichen Grüßen, Christian -- hundred-and-one symptoms of being an internet addict: 244. You use more than 20 passwords. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 6. September 2007 20:23 schrieb Christian Brabandt:
Hi Al!
On Thu, 06 Sep 2007, Al Bogner wrote:
Das Problem ist gelöst. _Innerhalb_ des Passwortes müssen Sonderzeichen mit \ "gequotet" werden., wenn das PW per Shell übergeben wird.
Solltest Du das Passwort nicht interaktiv eingeben?
Also dort ist das ziemlich egal. Bei einem Hoster, der in Konkurs ist, kann man sowieso nicht sagen was passiert, und wer das root-PW dort hat, kann auch darauf zugreifen. Nachdem cpanel die PW sowieso offen als Kontrollmeldung per Mail versendet, ist es IMHO Luxus sich dort über die bash_history Gedanken zu machen. Mann kann gegen diese per Mail versandten PW kaum was unternehmen, speziell, wenn der passwd-Befehl gesperrt ist. Viel mehr als bei einem neuen Hoster andere PW zu verwenden, fällt mir nicht ein. Außerdem fürchte ich, dass die Zeit verstreicht und der ssh-Zugang dicht gemacht wird. Ich habe zwar den mysql-dump mittlerweile dort geschafft, wo es nicht so wichtig war, aber die Datenbanken, die wichtig wären, lassen mich, warum auch immer nicht rein. Eine blöde Sache, wenn Sicherungen defekt sind. In Zukunft überlege ich mir ein eigenes Sicherungskonzept und verlasse mich nicht mehr auf cpanel-Backups. Gibt es eine Möglichkeit aus einem cpanel-Backup die MySQL-PW auszulesen? Ich würde die gerne mit den lokal notierten vergleichen? Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (4)
-
Al Bogner
-
Christian Brabandt
-
Joachim Marx
-
Voigt Thomas