Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MYSQL per shell daten einlesen funktioniert nicht

Frage Entwicklung Datenbanken

Mitglied: hanscgn

hanscgn (Level 1) - Jetzt verbinden

03.07.2009, aktualisiert 20:05 Uhr, 3513 Aufrufe, 2 Kommentare

Hallo zusammen, ich bin begeistert was hier für tolle Tips und Hilfestellungen gegeben werden.

Vielleicht kann auch mir geholfen werden, ich sitze nun schon seit Tagen an einem Prob. mit dem ich alleine nicht fertig werde.
Liegt mit Sicherheit daran das ich gerade erst Anfange mich mit MYSQL zu beschäftigen.

Zu meinem Problem:

Ich hole mir aus einem logfile zeilen heraus die ich nun gerne in eine Datenbank schreiben möchte.

Der Aufbau der Datei

Monat Tag Uhrzeit Mac-Adresse

als Beispiel

Jun 26 15:34:15 00-50-56-c0-00-08
Jun 26 15:40:15 00-50-56-c0-00-08

u.s.w

Die Datei liegt nicht auf dem mysql server selbst sondern soll von einem client abgearbeitet werden.

Versucht habe ich es als erstes so
01.
#! /bin/sh 
02.
SQL="LOAD DATA LOCAL INFILE '/tmp/datei' INTO TABLE `wlan` FIELDS TERMINATED BY ';' 
03.
echo $SQL | mysql datenbank -h 192.168.100.2 .u user -p password
aber leider funktioniert es einfach nicht,


Fehlermeldung lautet Error 1064 at line 1: You have an error in your SQL syntax; check the Manual u.s.w...

Ich hoffe das sich einer meiner annimmt und helfen kann.


Vielen dank
Mitglied: filippg
03.07.2009 um 17:01 Uhr
Hallo,

FIELDS TERMINATED BY ';'
bedeutet wohl, dass er zwischen den einzelnen Feldern (Monat, Tag..) in den Datensätzen jeweils ; erwartet. In deinen Beispieldaten ist da aber ein Leerzeichen.
Daneben sind gerade Datumswerte immer kritisch, da hier ein String (01.01.09) in einen Zahlenwert (interne Repräsentation des Datums in MySql) umgewandelt werden kann - und das funktioniert nicht für jeden String. Das gilt natürlich nur, wenn die Spalte in MySql dann auch von einem Datumstyp ist, und kein Stringtyp. Ersteres ist aber i.A. ziemlich sinnvoll, da man nur dann vernünftig Abfragen drauf fahren kann. Also: was uns hier noch fehlt ist die Definition deiner Tabelle.
Zu guter Letzt halte ich für fragwürdig, ob das Pipen (echo $SQL | ...) wie gewünscht funktioniert, das überlasse ich aber einem Linuxer.
Ach ja: in SQL="LOAD DATA LOCAL INFILE '/tmp/datei' INTO TABLE `wlan` FIELDS TERMINATED BY ';' fehlt am Ende noch ein ".

Gruß

Filipp
Bitte warten ..
Mitglied: hanscgn
03.07.2009 um 23:18 Uhr
Hallo filipp,

du hast recht, sorry ich habe wohl verpasst es dazu zu schreiben, ich habe es mit beiden varianten versucht (mit; und ohne;.

Also der SQL Aufruf funktioniert in meinem anderen Scipt hervorragend. Einziger Unterschied liegt darin das ich in meiner anderen Datenbank mein Syslog mit grep bearbeite und nur eine Zahl ausgegeben wird die ich dann
in die Datenbank sende.
Dort Arbeite ich auch mit Variablen, was ich aber hier nicht hinbekommen habe da ich hier ja mehrere Daten in mehreren Zeilen verarbeiten muss.

So ich bin das ganze nun noch mal durchgegangen, er nimmt es leider nicht an in die Datenbank auf.

Nun bin ich zum test mal hingegangen und habe mich direkt auf meinen Server per ssh verbunden.

Habe mich mit der datenbank verbunden und habe es mal auf diese Weise versucht.

load data local infile '/tmp/wlan' into table 'wlan' fields-terminated-by=';'

Ich bekomme keine Fehlermeldung, aber die Datensätze sind auch nicht in der Datenbank.

Finde es nur merkwürdig das wenn ich das File per PhpMyadmin importiere funktioniert es ohne Probleme.

Was mache ich falsch?

Gruß
Hans
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Router & Routing
Transparenter Proxy funktioniert nicht? (1)

Frage von mrserious73 zum Thema Router & Routing ...

Cloud-Dienste
Amazon: Dieser Lkw transportiert Daten in die Cloud (1)

Link von Kraemer zum Thema Cloud-Dienste ...

VB for Applications
Excel VBA Sortierung von Daten (5)

Frage von easy4breezy zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...