Auf der administrativen Ebene sollten Sie nichtadministrativen
        Konten niemals Zugriff auf die Grant-Tabelle
        user gestatten.
      
Wenn Sie ein Clientprogramm ausführen, um eine Verbindung mit dem MySQL-Server herzustellen, ist es nicht ratsam, Ihr Passwort so einzugeben, dass es von anderen Benutzern erraten werden könnte. Die Methoden, die Sie zur Angabe Ihres Passworts bei Ausführung von Clientprogrammen verwenden können, sind einschließlich einer Risikoeinschätzung jeder Methode nachfolgend aufgeführt:
            Sie verwenden die Option
            -p bzw.
            your_pass--password=
            auf der Befehlszeile. Zum Beispiel:
          your_pass
shell> mysql -u francis -pfrank db_name
Dies ist praktisch, aber unsicher, weil Ihr Passwort für Systemstatusprogramme wie ps sichtbar wird, die von anderen Benutzern zur Anzeige von Befehlszeilen aufgerufen werden können. MySQL-Clients überschreiben das befehlszeilenbasierte Passwortargument bei der Initialisierung normalerweise mit Nullen. Es gibt allerdings noch einen ganz kurzen Zeitraum, für den der Wert sichtbar ist. Auf einigen Systemen ist diese Strategie ohnehin ohne Wirkung, und die Passwörter bleiben für ps sichtbar. (Das Problem tritt etwa bei System V-Unix und unter Umständen auch bei anderen Systemen auf.)
            Sie verwenden die Option -p bzw.
            --password ohne Passwortangabe. In diesem
            Fall fordert das Clientprogramm zur Eingabe des Passworts
            über das Terminal auf:
          
shell> mysql -u francis -p db_name
Enter password: ********
            Die Zeichen ‘*’ geben an, wo
            Sie Ihr Passwort eingegeben haben. Das Passwort wird bei der
            Eingabe nicht angezeigt.
          
Diese Methode zur Passworteingabe ist sicherer als die Angabe über die Befehlszeile, da das Passwort anderen Benutzern nicht angezeigt wird. Allerdings ist diese Eingabemethode nur für Programme geeignet, die Sie interaktiv ausführen. Wollen Sie einen Client aus einem Skript heraus aufrufen, das nicht interaktiv läuft, dann gibt es keine Möglichkeit, das Passwort über das Terminal einzugeben. Bei manchen Systemen werden Sie sogar feststellen, dass die erste Zeile Ihres Skript gelesen und irrtümlich als Passwort interpretiert wird.
            Sie speichern Ihr Passwort in einer Optionsdatei. Unter Unix
            etwa können Sie Ihr Passwort im Abschnitt
            [client] der Datei
            .my.cnf im Stammverzeichnis auflisten:
          
[client] password=your_pass
            Wenn Sie Ihr Passwort in .my.cnf
            speichern, dann sollte diese Datei ausschließlich für Sie
            zugänglich sein. Um dies sicherzustellen, setzen Sie die
            Dateizugriffsmethode auf 400 oder
            600. Zum Beispiel:
          
shell> chmod 600 .my.cnf
Abschnitt 4.3.2, „my.cnf-Optionsdateien“, erläutert Optionsdateien im Detail.
            Sie speichern Ihr Passwort in der Umgebungsvariable
            MYSQL_PWD. Diese Methode der Angabe eines
            MySQL-Passworts muss als extrem
            unsicher betrachtet werden und sollte nicht
            verwendet werden. Einige Versionen von ps
            enthalten eine Option zur Anzeige der Umgebung laufender
            Prozesse. Wenn Sie MYSQL_PWD einstellen,
            wird Ihr Passwort allen Benutzern zugänglich gemacht, die
            ps ausführen. Sogar auf Systemen ohne
            eine solche Version von ps ist es nicht
            ratsam, davon auszugehen, dass keine andere Methoden
            vorhanden sind, mit denen Benutzer Prozessumgebungen
            untersuchen können. Siehe auch
            Anhang F, Umgebungsvariablen.
          
Insgesamt betrachtet sind die sichersten Methoden die Aufforderung des Clientprogramms zur Eingabe des Passwortes oder die Angabe des Passwortes in einer angemessen geschützten Optionsdatei.
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.

