ich habe das Problem, dass ich mit einem MySQL-Script einen User löschen will. Wenn dieser nicht vorhanden ist, soll allerdings auch kein Fehler kommen.
Das gleiche habe ich mit einer Datenbank so gemacht:
„DROP DATABASE IF EXISTS usr_web635_1;“
Dieses IF EXISTS funktioniert allerdings bei
„DROP USER ‚web635‘@‚localhost‘;“
leider nicht! Könnt ihr mir sagen, wie das geht?
Ich weiß nicht genau, was du damit meinst. Aber ich kann dir ja mal das Script zeigen. Ich lösche diesen User (wie auch die Datenbank) nur, um ihn neu anzulegen (incl. Rechte für den User), damit alles mit den Rechten usw auch ganz sicher stimmt.
Hier also mal das Script (bisher). Hinzu kommen später auch noch sämtliche Tabellen usw!
# Datenbank zur Sicherheit vorher löschen:
DROP DATABASE IF EXISTS usr\_web635\_1;
# Datenbank erstellen:
CREATE DATABASE usr\_web635\_1;
# Benutzer zur Sicherheit vorher löschen:
DROP USER 'web635'@'localhost';
# Benutzer erstellen:
CREATE USER 'web635'@'localhost' IDENTIFIED BY 'browsergame';
# Benutzerrechte einstellen:
GRANT USAGE ON \*.\* TO 'web635'@'localhost' IDENTIFIED BY 'browsergame' WITH
MAX\_QUERIES\_PER\_HOUR 0
MAX\_CONNECTIONS\_PER\_HOUR 0
MAX\_UPDATES\_PER\_HOUR 0
MAX\_USER\_CONNECTIONS 0;
# Benutzerrechte für DB einstellen:
GRANT
SELECT,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
INDEX,
ALTER,
CREATE TEMPORARY TABLES,
CREATE VIEW,
SHOW VIEW,
CREATE ROUTINE,
ALTER ROUTINE,
EXECUTE ON `usr_web635_1`.\* TO 'web635'@'localhost';
Beim Ausführen von „DROP USER ‚web635‘@‚localhost‘;“ meckert er, falls der User noch nicht vorhanden ist. Das ist mein Problem.
Ich weiß nicht genau, was du damit meinst. Aber ich kann dir
ja mal das Script zeigen. Ich lösche diesen User (wie auch die
Datenbank) nur, um ihn neu anzulegen (incl. Rechte für den
User), damit alles mit den Rechten usw auch ganz sicher
stimmt.
Hier also mal das Script (bisher). Hinzu kommen später auch
noch sämtliche Tabellen usw!
Beim Ausführen von „DROP USER ‚web635‘@‚localhost‘;“ meckert
er, falls der User noch nicht vorhanden ist. Das ist mein
Problem.
Liebe Grüße
Woosh
Hallo Woosh,
innerhlab eines SQL-Scriptes sehe ich echt Probleme dass abzufangen. Es macht aber auch keinen Sinn, alles in ein Script zu packen, das bekommt man nicht mehr gepflegt. Wenn Du dann einzelne Scripte hast, kannst Du Sie entweder über ein SQL-Script nacheinander aufrufen (bei MySQL bin ich mir nicht 100% sicher) oder über ein Betriebssystemscript, dass in diesem Fall auch den Fehlerabfang machen kann.
MfG Georg V.
P.S.: Ich hoffe Du hast oder wirst das Passwort dieses Accounts wechseln :-/
das Passwort is sowieso ein anderes
Naja okay, dann werde ich das ganze ganz einfach per PHP lösen dann is das alles eh kein Problem mehr. Vielen Dank trotzdem für deine Hilfe