MySQL in Shell Script

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von xXNemesisXx, 15.01.2008.

  1. #1 xXNemesisXx, 15.01.2008
    xXNemesisXx

    xXNemesisXx Jungspund

    Dabei seit:
    12.12.2007
    Beiträge:
    18
    Zustimmungen:
    0
    Hallo Unix Fans!,
    Ich hab da mal ne Frage ;)

    Und zwar habe ich eine Datenbank die Tabellen und dann auch wieder Spalten bzw Datensätze hat, ich möchte nun bestimmte Datensätze aus der Datenbank Auslesen und in meinem Shell Script als Variable benutzen.

    Einleitung:

    Es ist ein BackUp Script das man über eine Web Anwendung Ändern kann.
    Bislang kann man den Namen und den "Wichtigen" Pfad auswählen. Das ganze gedöns wird denn in die Datenbank gespeichert und wartet darauf ins Shell Script eingefügt zu werden.

    Jetzt Frage:
    Wie geht das?
    kann mir jemand ein Code Schnippel zeigen?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 fabtagon, 15.01.2008
    fabtagon

    fabtagon somebody

    Dabei seit:
    20.07.2005
    Beiträge:
    28
    Zustimmungen:
    0
    PHP:
    sqlerg=`echo "select xyz from tabelle where something=1" | mysql -u user -p pass database`
    Aus $sqlerg anschließend mit den üblichen Shell-Werkzeugen oder Shell-Build-Ins den Wert extrahieren.
     
  4. #3 xXNemesisXx, 15.01.2008
    xXNemesisXx

    xXNemesisXx Jungspund

    Dabei seit:
    12.12.2007
    Beiträge:
    18
    Zustimmungen:
    0

    Ähm.. *hust* kannst du die üblichen Shell-Werkzeugen oder Shell-Build-Ins näher erleutern?

    ich kann mir Shell Script noch nicht so gut umgehen -.-

    Eigentlich fragt man das ja nicht aber könntest du mir ein konkretes Code Beispiel zeigen, wie ich nun vorgehen muss?

    Ich Verstehe leider noch nicht was man so alles machen kann usw.
     
  5. #4 foexle, 15.01.2008
    Zuletzt bearbeitet: 15.01.2008
    foexle

    foexle Kaiser

    Dabei seit:
    02.05.2007
    Beiträge:
    1.104
    Zustimmungen:
    0
    Ort:
    Saarbrücken
    du hast doch hier schon ein konkretes beispiel.... du musst nur dein SQL statement nur noch so absetzten, was immer du auch damit machen wills. und nach der pipe ... das ist "|" das hier trägst du die daten der mysql db ein ... also username, pw und datenbankname.
    das ganze ist ein kommando aus diesem grunde mit den hochkommata ' ... ' versehen. das ergebnis davon, also das result wird der variable sqlerg zugewiessen, die du wiederrum mit $sqlerg auslesen kannst

    hoffe das hat dir bischen geholfen ... und ein kleiner tipp es gibt sehr viele gute howtos und tuts zu shellskript programming

    mfg


    edit: mit mysql --help findest du den rest den du brauchst
     
  6. #5 xXNemesisXx, 15.01.2008
    xXNemesisXx

    xXNemesisXx Jungspund

    Dabei seit:
    12.12.2007
    Beiträge:
    18
    Zustimmungen:
    0
    moar ^^ ich habs.... fast! -.-

    also mein script:

    Code:
    #!/bin/sh
    sqlerg=`echo "SELECT Name FROM settings" | mysql -u XXX -p XXX BackUp`
    echo $sqlerg
    
    Name = Spalte
    settings = Tabelle
    BackUp = Datanbank

    Verstehe!

    so jetzt hab ich das ding mal in der Konsole ausgeführt....

    Passwort Abfrage...

    Und nun ist die Ausgabe "Name BackUp2"

    (BackUp2 ist der Datansatz der Spalte also richtig) Aber wie bekomme ich das "Name" da weg?
     
  7. #6 fabtagon, 15.01.2008
    fabtagon

    fabtagon somebody

    Dabei seit:
    20.07.2005
    Beiträge:
    28
    Zustimmungen:
    0
    Frag die Suchmaschine deines Vertrauens nach dem "Advanced bash scripting guide", dort bekommst du in 2h alle deine Fragen beantwortet - und nebenbei eine fundierte Einführung, mit der du auch lernst, was man damit sonst noch machen kann und insb. wie.

    Kleine Korrektur zum Passwort: mysql -u user --password=pass database

    > Und nun ist die Ausgabe "Name BackUp2"

    Ohne irgendwelche "Ascii-Rahmen"? (kann sein)

    PHP:
    echo ${sqlerg//Name }
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 moskadame, 22.02.2008
    moskadame

    moskadame Grünschnabel

    Dabei seit:
    22.02.2008
    Beiträge:
    1
    Zustimmungen:
    0
    Hallo,
    mit Hilfe der bisherigen Antworten auf diesen Thread konnte ich bei mir auch Daten aus einer Tabelle holen und in Variablen speichern.
    Leider habe ich nun ein Problem. Erst mal mein Code:

    PHP:
        NULL=`echo "SELECT ID FROM daten where ID='$count'" | mysql -u root -p'admin' test`
        
    ID=${NULL//ID};
        
    EINS=`echo "SELECT Server FROM daten where ID='$count'" | mysql -u root -p'admin' test`
        
    SERVER=${EINS//Server};
        
    ZWEI=`echo "SELECT User FROM daten where ID='$count'" | mysql -u root -p'admin' test`
        
    User=${ZWEI//User};
        
    DREI=`echo "SELECT Passw1 FROM daten where ID='$count'" | mysql -u root -p'admin' test`
        
    wePassw=${DREI//Passw1};
        
    VIER=`echo "SELECT Passw2 FROM daten where ID='$count'" | mysql -u root -p'admin' test`
        
    DBFTPPassw=${VIER//PPassw2};
    wie man sehen kann les ich die werte für ID, Server, User und Passwort aus und schreibe Sie jeweils in eine Variable.
    Nun möchte ich automatisch noch ein Verzeinis mit dem Servernamen erstellen also:

    mkdir /var/www/$SERVER

    leider funktioniert dass so nicht. Die Shell erstellt dann immer ein Verzeichnis in dem Aktuellen Verzeichniss und nicht in /var/www/.
    Meine Vermutung ist, dass da irgendwie ein Leerzeichen oder ein Zeilenumbruch drin ist... weil ich bekomme auch die Fehlermeldung "kann Verzeichniss /var/www/ nicht anlegen da es bereits exisitiert.

    Hat jemand eine Ahnung was ich da machen kann?
     
  10. #8 Cyber, 22.02.2008
    Zuletzt bearbeitet: 22.02.2008
    Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Sowas gabs hier schonmal. Da gings zwar um die ksh und oracle, aber die Anpassugn auf ne Bourne oder andere und MySQL ist fix gemacht.
     
Thema:

MySQL in Shell Script

Die Seite wird geladen...

MySQL in Shell Script - Ähnliche Themen

  1. Shell Skript mit Schleife und mysql Abfrage

    Shell Skript mit Schleife und mysql Abfrage: Hallo Leute, mit der Shell-Programmierung in Linux bin ich leider noch totaler Neuling und müsste nun ein kleines Skript bauen. Erst müsste eine...
  2. php und mysql in einer shell und als cron

    php und mysql in einer shell und als cron: moin, ich stehe grad etwas auf dem schlauch. ich möchte in einer datei xy.sh anweisungen für einen mysqldump und zur ansteuerung eines php...
  3. Abfrage von Daten aus einer MySQL DB über ein Shell Script

    Abfrage von Daten aus einer MySQL DB über ein Shell Script: Hallo, folgendes Problem: - ich soll per Script Daten aus meiner DB holen Wie funktioniert das genau? habe schon was von JISQL gehört?...
  4. Wie realisierbar? Shell-Skript bzg. MySQL etc.

    Wie realisierbar? Shell-Skript bzg. MySQL etc.: Hallo, ich stehe vor einem kleinen Problem. Und weiß überhaupt nicht, ob dies so richtig realisierbar ist. Ich will hier nicht die Arbeit...
  5. Freelancer gesucht - Debian / MySQL / Pearl / PHP - Erfahrung

    Freelancer gesucht - Debian / MySQL / Pearl / PHP - Erfahrung: Hallo, suche einen Freelancer für einen Webdienst... mit obigen Kenntnissen! Bitte Stundensatz mit Kurzbeschreibung mitteilen. NOCH WAS: Also...