Unterschied zwischen DROP USER und Löschen einer Zeile aus der Tabelle mysql.user

8

Ich habe zu jedem Zeitpunkt eine Datenbank mit Hunderten von aktiven Verbindungen. Wenn ich die DROP USER SQL-Anweisung verwende, um ein Benutzerkonto zu entfernen, dauert es ~ 4 Sekunden, während der alle anderen Verbindungen den Status "Berechtigungen überprüfen" haben. Das bedeutet, dass ich die Datenbank für einen guten Teil von 4000 Sekunden sperre, um 1000 Benutzer zu löschen, was nicht akzeptabel ist. Ich stelle jedoch fest, dass das Löschen einer Benutzerzeile aus der Tabelle mysql.users sofort erfolgt.

Löscht eine Zeile von mysql.users koscher? Was sind die Nachteile im Vergleich zur Verwendung von DROP USER? Verlasse ich abgestandene Reihen woanders? Gibt es Vermehrungsprobleme? Ich werde wahrscheinlich diesen Weg gehen müssen, aber ich möchte wissen, welche anderen Säuberungen ich tun muss.

    
BrainCore 12.05.2012, 01:08
quelle

1 Antwort

3

Hängt von Ihrer Version von MySQL ab

Drop-Benutzer in MySQL <= v5.0 entfernte nur den Benutzerdatensatz, aber keine Privilegien. MySQL >= v5.0.2 macht beides in einem einzigen Schritt.

Auch mehrere Benutzer können übergeben werden.

    
codemonkee 12.05.2012 01:15
quelle

Tags und Links