• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

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

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:
#
# 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:
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ß
 
OP
M

magic_halli

Hacker
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:
>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:
db_name < text_file

Mh, ich weiß nicht, was an meiner Syntax falsch sein soll!?! :?:
 

panamajo

Guru
magic_halli schrieb:
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.
 
OP
M

magic_halli

Hacker
panamajo schrieb:
magic_halli schrieb:
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:
 
Oben