Für gespeicherte Routinen muss die Tabelle
proc
in der mysql
-Datenbank
vorhanden sein. Diese Tabelle wird schon bei der
Installationsprozedur von MySQL 5.1 angelegt. Wenn
Sie von einer älteren Version auf MySQL 5.1
aufrüsten, achten Sie bitte darauf, Ihre Berechtigungstabellen zu
aktualisieren, damit die Tabelle proc
vorhanden
ist. Siehe auch Abschnitt 5.6, „mysql_fix_privilege_tables — Upgrade von MySQL-Systemtabellen“.
Nach Anweisungen, die gespeicherte Routinen erzeugen, ändern oder
löschen, bearbeitet der Server die Tabelle
mysql.proc
. Eine manuelle Manipulation dieser
Tabelle wird der Server nicht bemerken.
Im Berechtigungssystem von MySQL werden gespeicherte Routinen folgendermaßen behandelt:
Das CREATE ROUTINE
-Recht ist erforderlich,
um gespeicherte Routinen zu erzeugen.
Das ALTER ROUTINE
-Recht wird benötigt, um
gespeicherte Routinen zu ändern oder zu löschen. Dieses
Recht wird automatisch dem Erzeuger einer Routine erteilt.
Das EXECUTE
-Recht ist notwendig, um
gespeicherte Routinen auszuführen, wird aber ebenfalls dem
Erzeuger einer Routine automatisch erteilt. Das
voreingestellte SQL SECURITY
-Merkmal einer
Routine ist DEFINER
und erlaubt es
Benutzern, mit denen die Routine verbunden ist, und die
darüber hinaus Datenbankzugriff haben, die Routine
auszuführen.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.