MySQL in Script ansprechen

Status
Für weitere Antworten geschlossen.

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.569
Punkte für Reaktionen
1.396
Punkte
234
Tacho,

ich möchte in einem Shellscript Daten an die MySQL-DB übergeben
Rich (BBCode):
echo $sSQL | mysql -u $DBuser --password=$DBpassword $DBname

Allerdings bekomme ich so die Meldung: "/volume1/homes/admin/script.sh: line 37: mysql: not found"
Und wenn ich den Pfad "/usr/syno/mysql" verwende, bekomme ich die Meldung "/volume1/homes/admin/script.sh: line 37: /usr/syno/mysql: Permission denied"
Habe ich auch schon mit MySQL root und entsprechenden Passwort versucht.

Was mache ich da falsch?
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo,

das muß wohl an deinen Variablen liegen. Die Zeile ist jedenfalls völlig korrekt. Da die Meldung ja aussagt das Du keine Zugriffrechte hat, würde ich mal vermuten das User/Passwort nicht stimmen oder aber dieser User keine Zugriffsrechte auf die entsprechende Datenbank hat.

Gruß Frank

Edit: Zu spät gesehen. Hatte bei mir ein anderes mysql drauf. Wenn dann wäre glaube ich der korrekte Pfad /usr/syno/mysql/bin/mysql
 
Zuletzt bearbeitet:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.569
Punkte für Reaktionen
1.396
Punkte
234
Hallo Frank,

vielen Dank für deine Antwort.
Die Rechte sind nicht das Problem.

Nachdem dein Tipp nicht half, fand ich heraus, dass der Pfad nicht stimmte. Ich hatte "/usr/syno/mysql" angeben, musste aber "/usr/syno/mysql/bin/mysql" lauten. Jetzt geht es :)

Warum kann ich eigentlich nicht direkt "mysql" aufrufen? Muss der Pfad noch irgendwo eingetragen werden (ist ja der native MySQL-Server). Sollte doch standardmäßig der Fall sein, oder?
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hatte das mit dem Pfad auch schon festgestellt aber ist wohl durch das Edit untergegangen.

Und warum muß der Pfad verfügbar sein. Wird doch normalerweise eh nur einmal zum Start gebraucht. Wenn du das willst, trag den Pfad doch in deiner .profile unter der PATH-Variablen ein.

Gruß Frank
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.569
Punkte für Reaktionen
1.396
Punkte
234
Ja, dass meinte ich.

Ist zwar hier OffTopic, aber wird es einfach durch Doppelpunkt getrennt mit in der 3. Zeile drangehangen (genauso wahrscheinlich mit IPGK - hatte ich nie gemacht)?

/root/.profile:
Rich (BBCode):
umask 022

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
export PATH

#This fixes the backspace when telnetting in.
#if [ "$TERM" != "linux" ]; then
#        stty erase
#fi

HOME=/root
export HOME

TERM=${TERM:-cons25}
export TERM

PAGER=more
export PAGER

PS1="`hostname`> "

alias dir="ls -al"
alias ll="ls -la"
PATH=$PATH:/volume1/@appstore/JavaManager/Java/bin
PATH=$PATH:/volume1/@appstore/JavaManager/Java/jre/bin
export PATH
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat