User anlegen

hallo DB Admins und auch user

ich weiß nicht ob ich hier genau richtig bin aber ich versuche es mal

also ich habe einen suse 7,2 server und möche dort über ein kleines script mirt user anlegen lassen
aber leider klappt es nich so wie ich es mir denke
wennich die zeielen alle einzeln eingeben klappte es alles wunderbar aber wenn ich sie zusammen in einer datei aufrufen geht es nicht

script :

#!/bin/sh

USER=„test99“
useradd $USER -g webusers -s „/bin/false“
>>>>
mysqladmin -u root -p create $USER

mysql -u root -p
mysql> grant select,insert,update,delete,create,drop on $USER.* to $USER@"%" identified by ‚$USER‘;
mysql> FLUSH PRIVILEGES;
mysql> exit

vieleicht habt ihr da eine idee wie ich es ander verpacken könnte

MFG
M.Lindemann

aber leider klappt es nich so wie ich es mir denke
wennich die zeielen alle einzeln eingeben klappte es alles
wunderbar aber wenn ich sie zusammen in einer datei aufrufen
geht es nicht

Naja, wenn du sie einzeln eingibst, dann gibst du die SQL-Befehle nachher am mysql-Prompt ein, wenn du das so in ein Skript schreibst versucht der Shell die Zeilen dann nachher als weitere Befehle zu verarbeiten.

Versuch mal das mit dem -e Parameter aufzurufen:

mysql -u root -p -e"grant select, insert, update, delete, create, drop on $USER.* to $USER@"%" identified by ‚$USER‘; FLUSH PRIVILEGES;"

Wobei jetzt die beiden Befehle in einem Stück, durch Strichpunkte getrennt und unter Anführungszeichen stehen, direkt an das e anschließend. Exit brauchst nicht, mit dem -e Parameter verlässt er das mysql automatisch wieder.

Grüße, Robert

PS: Du liegst hier im Forum sicher besser als in „Datenbanken allgemein“, deswegen habe ich dein Posting dort auch gelöscht. Bitte immer nur in ein Forum posten, Crosspostings sind nicht erwünscht. Und die beiden Datenbankforen werden eh von denselben leuten frequentiert.

Hallo Robert

Vielen danke erstaml für deine schnelle Antwort !

habe aber immer noch ein kleines problem

wenn ich es jetzt so in mein script einbaue ,bekomme ich immer volgendes in der console als ausgabe

linux:/home/frei-wild # ./useranlegen.sh
Enter password:
ERROR 1064 at line 1: You have an error in your SQL syntax near ‚% identified by ‚test99‘‘ at line 1
linux:/home/frei-wild #

script:
USER=„test99“

mysql -u root -p -e"grant select, insert, update, delete, create, drop on $USER.* to $USER@"%" identified by ‚$USER‘; FLUSH PRIVILEGES;"

was könnte ich den da noch falsch haben ??

MfG
M.Lindemann

Hallo Robert

ich habe es jetzt selbst hin bekommen !

wenn hier noch jemand anderes an meinem script interesse hat

hier isses

script:
#!/bin/sh

echo
echo
echo „!!! Script zum anlegen von Unix und MySQL User !!!“
echo

###############################

User anlegen

###############################

echo „User anlegen“
echo
echo Benutzer Name eingeben :
read USER
echo Vor und Zunamen eingeben :
read USER1
useradd $USER -c $USER1 -g webusers -s „/bin/false“ -m
echo „Passwort für den User“ $USER „eingeben!“
echo
passwd $USER

###############################

DATENBANK anlegen

###############################
echo „Datenbank anlegen“
echo
echo „Passwort des User root eingeben:“

mysqladmin -u root -p create $USER

echo „Datenbak erstellt“

echo „Datenbank rechte vergeben“
echo
echo „Passwort des User root eingeben:“
mysql -u root -p -e"grant select, insert, update, delete, create, drop, alter on $USER.* to $USER identified by ‚$USER‘; FLUSH PRIVILEGES;"
echo der User $USER wurde erstellt

bis denn
M.Lindemann