Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

mySQL: leere DB mit Struktur aus txt-File füllen

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
magic_halli
Hacker
Hacker
Beiträge: 369
Registriert: 10. Jul 2006, 08:44

mySQL: leere DB mit Struktur aus txt-File füllen

Beitrag von magic_halli » 14. Mär 2008, 11:57

Hi,

ich habe mir eine leere DB (Name ist NTOP) in mySQL angelegt und möchte diese nun mit Tabellen/Feldern füllen. Dazu habe ich ein txt-File:

Code: Alles auswählen



#
# Table structure for table 'Hosts'
#

CREATE TABLE `Hosts` (
  `ID` int(11) NOT NULL auto_increment,
  `IPaddress` char(16) NOT NULL default '',
  `MACaddress` char(50) default NULL,
  `NICvendor` char(32) default NULL,
  `OsName` char(50) default NULL,
  `PktRcvd` int(11) default NULL,
  `PktSent` int(11) default NULL,
  `PktMulticastSent` int(11) default NULL,
  `PktBroadcastSent` int(11) default NULL,
  `DataSent` int(11) default NULL,
  `DataRcvd` int(11) default NULL,
  `FirstSeen` datetime default NULL,
  `LastSeen` datetime default NULL,
  `DataMulticastSent` int(11) default NULL,
  `DataBroadcastSent` int(11) default NULL,
  PRIMARY KEY  (`ID`),
  KEY `ID` (`ID`)
) TYPE=MyISAM;



#
# Table structure for table 'IPtraffic'
#

CREATE TABLE `IPtraffic` (
  `IPaddress` char(16) NOT NULL default '',
  `TCPSentLoc` int(11) default NULL,
  `TCPSentRem` int(11) default NULL,
  `TCPrcvdLoc` int(11) default NULL,
  `TCPrcvdFromRem` int(11) default NULL,
  `UDPSentLoc` int(11) default NULL,
  `UDPsentRem` int(11) default NULL,
  `UDPrcvdLoc` int(11) default NULL,
  `UDPrcvdFromRem` int(11) default NULL,
  `ICMPsent` int(11) default NULL,
  `ICMPrcvd` int(11) default NULL,
  `OSPFsent` int(11) default NULL,
  `OSPFrcvd` int(11) default NULL,
  `IGMPsent` int(11) default NULL,
  `IGMPrcvd` int(11) default NULL,
  PRIMARY KEY  (`IPaddress`)
) TYPE=MyISAM;



#
# Table structure for table 'NameMapper'
#

CREATE TABLE `NameMapper` (
  `IPaddress` char(16) NOT NULL default '',
  `Name` char(50) default NULL,
  PRIMARY KEY  (`IPaddress`)
) TYPE=MyISAM;



#
# Table structure for table 'NonIPTraffic'
#

CREATE TABLE `NonIPTraffic` (
  `IPaddress` char(16) NOT NULL default '',
  `IPXsent` int(11) default NULL,
  `IPXrcvd` int(11) default NULL,
  `OSIsent` int(11) default NULL,
  `OSIrcvd` int(11) default NULL,
  `DLCsent` int(11) default NULL,
  `DLCrcvd` int(11) default NULL,
  `ARPsent` int(11) default NULL,
  `ARPrcvd` int(11) default NULL,
  `DECNETsent` int(11) default NULL,
  `DECNETrcvd` int(11) default NULL,
  `ATALKsent` int(11) default NULL,
  `ATALKrcvd` int(11) default NULL,
  `NBIOSsent` int(11) default NULL,
  `NBIOSrcvd` int(11) default NULL,
  `OtherSent` int(11) default NULL,
  `OtherRcvd` int(11) default NULL,
  PRIMARY KEY  (`IPaddress`)
) TYPE=MyISAM;



#
# Table structure for table 'TCPsessions'
#

CREATE TABLE `TCPsessions` (
  `Client` char(18) default NULL,
  `Server` char(18) default NULL,
  `ClientPort` int(11) default NULL,
  `ServerPort` int(11) default NULL,
  `DataSent` char(16) default NULL,
  `DataRcvd` char(16) default NULL,
  `FirstSeen` datetime default NULL,
  `LastSeen` datetime default NULL,
  `ID` int(11) NOT NULL auto_increment,
  PRIMARY KEY  (`ID`),
  KEY `ID` (`ID`)
) TYPE=MyISAM;
Doch irgendwie scheint meine Syntax zum befüllen der DB nicht korrekt zu sein?!

Code: Alles auswählen

mysql>  NTOP < /usr/share/ntop/mysql_definitions.txt ;
Fehlermeldung: "ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NTOP < /usr/share/ntop/mySQLdefs.txt
NTOP < /usr/share/ntop/mysql_definitions.txt' at line 1
"

Wie kann ich bitteschön meine leere DB mittels eines txt-Files füllen? Muß ich das txt vielleicht in *.sql umbenennen? ...ich weiß nich weiter


Danke und Gruß
Suse10.1
AMD X2 DualCore 4400+
2GB RAM

Werbung:
Benutzeravatar
panamajo
Guru
Guru
Beiträge: 2587
Registriert: 12. Feb 2005, 22:45

Beitrag von panamajo » 14. Mär 2008, 12:10

man mysql

magic_halli
Hacker
Hacker
Beiträge: 369
Registriert: 10. Jul 2006, 08:44

Beitrag von magic_halli » 14. Mär 2008, 12:24

schon gelesen: da steht die Syntax eigentlich auch so drin, wie ich sie benutze!
In der mysql-Textconsole vom MySQL Administrator gebe ich ein:

Code: Alles auswählen

>mysql  NTOP < /usr/local/share/ntop/mysql_definitions.txt
In man mysql stehts auch so drin:
"However, it is also possible to put your SQL statements in a file and then tell mysql to read its input from that file. ..."

Code: Alles auswählen

db_name < text_file
Mh, ich weiß nicht, was an meiner Syntax falsch sein soll!?! :?:
Suse10.1
AMD X2 DualCore 4400+
2GB RAM

Benutzeravatar
panamajo
Guru
Guru
Beiträge: 2587
Registriert: 12. Feb 2005, 22:45

Beitrag von panamajo » 14. Mär 2008, 12:48

magic_halli hat geschrieben:schon gelesen: da steht die Syntax eigentlich auch so drin, wie ich sie benutze!
In der mysql-Textconsole vom MySQL Administrator gebe ich ein:
Du solltest das nicht im MySQL Interface eingeben sondern in der Shell (aka console).

Im MySQL Interface kannst du SQL Befehle ausführen, "mysql" ist aber kein solcher.

magic_halli
Hacker
Hacker
Beiträge: 369
Registriert: 10. Jul 2006, 08:44

Beitrag von magic_halli » 14. Mär 2008, 13:10

panamajo hat geschrieben:
magic_halli hat geschrieben:schon gelesen: da steht die Syntax eigentlich auch so drin, wie ich sie benutze!
In der mysql-Textconsole vom MySQL Administrator gebe ich ein:
Du solltest das nicht im MySQL Interface eingeben sondern in der Shell (aka console).

Im MySQL Interface kannst du SQL Befehle ausführen, "mysql" ist aber kein solcher.
Im MySQL Interface gebe ich das schon OHNE 'mysql' ein... das war quasi nur die 1:1 Ausgabe der kompletten Zeile (mein Fehler). :wink:
Suse10.1
AMD X2 DualCore 4400+
2GB RAM

Benutzeravatar
panamajo
Guru
Guru
Beiträge: 2587
Registriert: 12. Feb 2005, 22:45

Beitrag von panamajo » 14. Mär 2008, 21:27

magic_halli hat geschrieben:Im MySQL Interface gebe ich das schon OHNE 'mysql' ein... das war quasi nur die 1:1 Ausgabe der kompletten Zeile (mein Fehler). :wink:
NTOP < /usr/local/share/ntop/mysql_definitions.txt
ist auch kein valides SQL.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast