User löschen wenn dieser existiert

Hi Leute,

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?

Liebe Grüße
Woosh

Hallo Woosh,

wie erzeugst Du denn das MySQL-Script? Kannst Du dies vorher abfragen, ob der User existiert?

MfG Georg V.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

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.

Liebe Grüße
Woosh

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 :-/

Hi Georg V.,

das Passwort is sowieso ein anderes :wink:
Naja okay, dann werde ich das ganze ganz einfach per PHP lösen :wink: dann is das alles eh kein Problem mehr. Vielen Dank trotzdem für deine Hilfe :smile:

Liebe Grüße
Woosh