Datenbank per SSH übertragen

Dieses Thema im Forum "SQL und Datenbanken" wurde erstellt von Geheimagent, 30.08.2007.

  1. #1 Geheimagent, 30.08.2007
    Geheimagent

    Geheimagent Jungspund

    Dabei seit:
    28.08.2007
    Beiträge:
    20
    Zustimmungen:
    0
    Kurze Frage, wie sieht ein Befehl aus, um per SSH eine Datenbank in einem entfernten Rechner zu übertragen.
    Bisher hatte ich immer einen phpMyAdmin, der steht mir nicht mehr zur Verfügung, und die Daten sind auch zu groß.

    Mit diesem Befehl könnte ich eine Datenbank lokal importieren:
    Code:
    mysql -u[dbuser] -p[dbpass] [dbname] < ./backup.sql
    Das einloggen, mit ssh ist mir soweit klar, nur nicht, wie ich das in einem rutsch vom lokalen Rechner auf die entfernte Datenbank einspiele.

    Die Datenbank befindet sich als datenbank.sql.gz unter /home/geheim/
     
  2. Anzeige

    Schau dir mal diesen Ratgeber an. Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 madfool, 30.08.2007
    madfool

    madfool Tripel-As

    Dabei seit:
    12.08.2004
    Beiträge:
    192
    Zustimmungen:
    0
    scp sollte dir da weiterhelfen.

    Gruß
    D.
     
  4. caba_

    caba_ (caba{_,}|manuw)

    Dabei seit:
    07.08.2007
    Beiträge:
    334
    Zustimmungen:
    0
    Code:
    scp datenbank.sql.gz user@hostname:/home/foobar/
     
  5. #4 tr0nix, 30.08.2007
    Zuletzt bearbeitet: 30.08.2007
    tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    Ich glaub ich habs falsch verstanden.

    Was willst du genau? Remote Datenbank mit lokalen Daten schwängern?
    ssh <remoterechner> mysql -h localhost -u <user> -p < lokalesfile.sql
     
  6. #5 Geheimagent, 30.08.2007
    Zuletzt bearbeitet: 30.08.2007
    Geheimagent

    Geheimagent Jungspund

    Dabei seit:
    28.08.2007
    Beiträge:
    20
    Zustimmungen:
    0
    Genau, ich möchte die Daten nicht erst an den Fremdrechner übertragen, und sie dann in die Datenbank damit füllen, sondern dieses direkt machen. Ich probier das dann mal gleich aus. Danke.

    Edit: Es wird 3 mal das Passwort abgefragt, und dann abgelehnt. Verstehe ich das richtig, ich brauche mich nur mit der IP des Rechners einloggen also:

    Code:
    ssh 666.666.666.666 mysql -h localhost -u geheimagent < geheimmatrial.sql
    passwort: geheim
    Beim Passwort gebe ich das von der Datenbank ein.
     
  7. tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    Du musst das Server-Passwort eingeben (also für den Unix User)! Wenn du zusätzlich noch ein Passwort für den MySQL-User brauchst sieht das ganze nochmals anderst aus :) - dann fehlt beispielsweise das "-p" beim mysql Command.
     
  8. #7 sim4000, 30.08.2007
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Kann man auch daran erkennen, das ssh mit
    Code:
    Password:
    zur Eingabe des Passwords auffordert, und mysql mit
    Code:
    Enter Password:
     
  9. #8 Geheimagent, 30.08.2007
    Geheimagent

    Geheimagent Jungspund

    Dabei seit:
    28.08.2007
    Beiträge:
    20
    Zustimmungen:
    0
    Ah,Danke.

    Also das ist so, dass ich sogar ein anderen Benutzer bei der Datenbank habe, als beim ssh, da logge ich mich als root ein, müsste ich den mit

    ssh root@666.666.666.666 mysql -h localhost -u geheimagent < geheimmatrial.sql

    davorsetzen, und das "-p" vor dem "-h" ?

    Danke Dir schon mal für Deine Hilfe herzlichst.
     
  10. caba_

    caba_ (caba{_,}|manuw)

    Dabei seit:
    07.08.2007
    Beiträge:
    334
    Zustimmungen:
    0
    Achne, du erlaubst root das einloggen per ssh? *räusper*
     
  11. #10 Geheimagent, 30.08.2007
    Zuletzt bearbeitet: 30.08.2007
    Geheimagent

    Geheimagent Jungspund

    Dabei seit:
    28.08.2007
    Beiträge:
    20
    Zustimmungen:
    0
    Viel sicherer ist niemanden den Zugriff zu erlauben, wenn man ihn nicht braucht. Das ist aber letztendlich nicht mein Problem.
     
  12. #11 Wolfgang, 30.08.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo

    Generell kannst du mit ssh remote Command absetzen.
    Am besten du generierst dir dazu einen key und richtest dir eine entsprechende ~/.ssh/config ein.
    Dann kannst du einen Alias verwenden, ohne Login mit Passwort. Das ist die sicherste Variante.

    e.g:
    Code:
    ssh hostalias "ls -la"
    
    Gruß Wolfgang
     
  13. caba_

    caba_ (caba{_,}|manuw)

    Dabei seit:
    07.08.2007
    Beiträge:
    334
    Zustimmungen:
    0
    OffTopic:

    Generell sind remote root-logins böse.
    Lege dir einen User an, oder eine Gruppe die ssh-login darf (z.b. ssh-user)
    und dann
    Code:
    adduser geheimagent ssh-user
    und dann machst dir nen key mit passphrase.


    MFG caba{_,}
     
  14. #13 tr0nix, 31.08.2007
    Zuletzt bearbeitet: 31.08.2007
    tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    Hallo Geheimagent

    Mit Passwort
    ssh root@666.666.666.666 "mysql -h localhost -u geheimagent -p" < geheimmatrial.sql

    Du kannst das Passwort auch direkt mitliefern. Wenn das Passwort AbC123 ist, wäre der String dann:
    ssh root@666.666.666.666 "mysql -h localhost -u geheimagent -pAbC123" < geheimmatrial.sql

    Ich schlage dir aber folgendes vor:
    - Kein root-User zum einloggen. Jeder User kann "mysql" benutzen und muss sich ja sowieso an der DB authentifizieren
    - Wenn du keine kritischen Daten in der DB hast, erstelle einen MySQL User der lokal ohne Passwort einloggen kann.
    - Wenn du ein Passwort spezifizieren willst, dann musst du dir bewusst sein, dass dieses lesbar sein wird für lokale Benutzer solange du die mysql-Datei lädst ("ps -ef" zeigt den Befehl inkl. dem Passwort an) -> wenn du also nur die DB lädst, wenn du anwesend bist, kannst du das auch auf der Konsole eingeben

    P.S. die IP kanns gar ned geben, das weisste schon :)
     
  15. #14 Geheimagent, 01.09.2007
    Geheimagent

    Geheimagent Jungspund

    Dabei seit:
    28.08.2007
    Beiträge:
    20
    Zustimmungen:
    0
    Danke für die Informationen. Die Idee einen Datenbanbenutzer ohne Passwort anzulegen ist nicht schlecht, normal könnte man das hinterher dann ja abändern. In Plesk lässt sich jedoch kein Datenbankuser anlegen ohne Passwort, und wie ich gerade festellte, wird ein Datenbankuser jeweils für eine Datenbank angelegt.
    und über die Konsole mit root wird, wie ich gerade feststelle das ganze geblockt.
    Also komme ich nicht drum rum, erst mal User und Key anzulegen.
    Ansonsten ist meine Frage bestens beantwortet. Ich danke Euch für die schnelle und freundlich Hilfe.
     
Thema:

Datenbank per SSH übertragen

Die Seite wird geladen...

Datenbank per SSH übertragen - Ähnliche Themen

  1. MySQL Datenbank / Phpmyadmin Fehler #2002

    MySQL Datenbank / Phpmyadmin Fehler #2002: Wie oben schon beschrieben kommt bei mir immer wenn ich versuche auf Phpmyadmin zu verbinden dieser Fehler : #2002 Die Anmeldung am MySQL-Server...
  2. MongoDB: Tausende Datenbanken offen

    MongoDB: Tausende Datenbanken offen: Saarbrücker Cybersicherheits-Studenten haben fast 40.000 ungesicherte MongoDB-Instanzen mit Namen, Adressen, E-Mails und Kreditkartennummern im...
  3. NoSQL-Datenbank Cassandra 2.1 bringt Geschwindigkeitsschub

    NoSQL-Datenbank Cassandra 2.1 bringt Geschwindigkeitsschub: Die Apache Softare Foundation hat auf dem diesjährigen Cassandra Summit die verteilte NoSQL-Datenbank Cassandra in der Version 2.1 veröffentlicht....
  4. FSF und Debian verbessern Datenbank für Hardware, die freie Software unterstützt

    FSF und Debian verbessern Datenbank für Hardware, die freie Software unterstützt: Die Free Software Foundation und die Linux-Distribution Debian wollen gemeinsam eine Datenbank ausbauen, die Anwendern freier Software Tipps gibt,...
  5. NoSQL-Datenbank CouchDB in Version 1.6 erschienen

    NoSQL-Datenbank CouchDB in Version 1.6 erschienen: Die CouchDB-Entwickler haben ihre dokumentenbasierte NoSQL-Datenbank in der Version 1.6 veröffentlicht. CouchDB wird seit 2005 entwickelt, ist...