Kapitel 7: MySQL-Sprachreferenz 429
7.3.5.2 Verschiedene Funktionen
DATABASE()
Gibt den aktuellen Datenbanknamen zur¨uck:
mysql> select DATABASE();
-> ’test’
Wenn es keine aktuelle Datenbank gibt, gibt DATABASE() die leere Zeichenkette
zur¨uck.
USER()
SYSTEM_USER()
SESSION_USER()
Gibt den aktuellen MySQL-Benutzernamen zur¨uck:
mysql> select USER();
-> ’heinzholger@localhost’
Ab MySQL-Version 3.22.11 beinhaltet dieser Wert den Client-Hostnamen sowie
den Benutzernamen. Sie k¨onnen nur den Benutzernamen-Anteil wie folgt ex-
trahieren (was funktioniert, ob der Wert nun einen Hostnamen-Anteil hat oder
nicht):
mysql> select substring_index(USER(),"@",1);
-> ’heinzholger’
PASSWORD(zeichenkette)
Berechnet eine Passwort-Zeichenkette aus dem Klartext-Passwort
zeichenkette. Diese Funktion wird benutzt, um MySQL-Passw¨orter
zum Speichern in der Password-Spalte der user-Berechtigungstabelle zu
verschl¨usseln:
mysql> select PASSWORD(’schlechtespasswort’);
-> ’1ccbb34b4e2b2f95’
Die PASSWORD()-Verschl¨usselung ist nicht umkehrbar.
PASSWORD() f¨uhrt keine Passwort-Verschl¨usselung in der Art durch, wie Unix-
Passw¨orter verschl¨usselt werden. Sie sollten nicht annehmen, dass Ihr Unix-
Passwort und Ihr MySQL-Passwort dasselbe sind. PASSWORD() ergibt denselb en
verschl¨usselten Wert, wie er in der Unix-Passwortdatei gespeichert ist. Siehe
ENCRYPT().
ENCRYPT(zeichenkette[,salt])
Verschl¨usselt zeichenkette unter Benutzung des Unix-crypt()-Systemaufrufs.
Das salt-Argument sollte eine Zeichenkette mit zwei Zeichen sein (ab MySQL-
Version 3.22.16 darf salt l¨anger als zwei Zeichen sein):
mysql> select ENCRYPT("hello");
-> ’VxuFAJXVARROc’
Wenn crypt() auf Ihrem System nicht verf¨ugbar ist, gibt ENCRYPT() immer
NULL zur¨uck.
ENCRYPT() ignoriert alle ausser den ersten 8 Zeichen von zeichenkette, zumin-
dest auf einigen Systemen. Das wird durch den zugrunde liegenden crypt()-
Systemaufruf festgelegt.
Comentarios a estos manuales