sh-skript

mury

Grünschnabel
Hi,
ich weiss nicht ob das hier richtig ist..aber..

ich arbeite gerade an einem Script..kurz ein shortcut von meiner make.sh

echo mysql-DB befüllen
mysql --local-infile << EOF
#mysql << EOF
use kto;
truncate table katalog;
truncate table pg;
truncate table merkmal_pg;
..... etc
EOF

Problem hier:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
-> klar.. er braucht das pw vom root
wenn ich in meinem script
mysql -p noch mit hinzufüge..frägt er nach meinem passwort..nach eingabe
steht dann nur noch mysql>
und mein script läuft nicht mehr weiter.

hat jemand vielleicht eine idee?
 
Kannst du die SQL Anweisungen nicht in eine externe Datei auslagern und den Aufruf dann so starten:
mysql -p < file.sql
Oder soll man das Password gar nicht interaktiv eingeben müssen?
 
ich würd das passwort eigentlich gern mitgeben..
aber ich glaub auch wenn ich das schaffe, würde er mit dem script nicht weitermachen sondern mysql > auf anweisung warten.

ich gebe ich denn das passwort eigentlich mit?
 
einfach an den -p Parameter anhängen:
mysql -pMeinPasswort

Aber dann kann jeder mit Shell Zugriff, während dein Skript läuft, mittels ps das Passwort sehen. ps kann ja den kompletten Befehl inklusive Parameter anzeigen und du übergibst ja das Passwort direkt mit.
 
pw sehen ist eigentlich grad irrelevant.

problem ist grad..das das skript dann nicht mehr weiterläuft =(

mysql-DB befüllen
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 42 to server version: 5.0.26

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
 
Werden die angegebenen SQL Befehle ausgeführt mit deiner Methode?
Hast du die Methode mit der externen Datei in der die SQL Befehle stehen ausprobiert?
 
mhm.. ich glaub das Problem erweitert sich immer :)

mysql-DB befüllen
ERROR 1064 (42000) at line 1: 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 'mysql --local-infile << EOF
use kto' at line 1
merkmal-pg.xml erzeugen
DBI connect('dbname=kto','',...) failed: Access denied for user 'root'@'localhost' (using password: NO) at /usr/lib/perl5/site_perl/5.8.8/DBIx/DBStag.pm line 81

Could not connect to database: "dbi:mysql:dbname=kto"
 

Neue Beiträge

Zurück