Die folgenden mysqld-Optionen sind sicherheitsrelevant:
            --allow-suspicious-udfs
          
            Diese Option bestimmt, ob UDFs (User-Defined Functions,
            benutzerdefinierte Funktionen), die nur ein
            xxx-Symbol für die Hauptfunktion
            aufweisen, geladen werden dürfen. Standardmäßig ist die
            Option deaktiviert, und es dürfen nur UDFs geladen werden,
            die mindestens ein Hilfssymbol aufweisen. Hierdurch soll das
            Laden von Funktionen aus solchen freigegebenen Objektdateien
            verhindert werden, die keine zulässigen UDFs enthalten.
            Siehe auch Abschnitt 26.3.4.6, „Vorsichtsmaßnahmen bei benutzerdefinierten Funktionen (UDF)“.
          
            --local-infile[={0|1}]
          
            Wenn Sie den Server mit --local-infile=0
            starten, können Clients LOCAL in
            LOAD DATA-Anweisungen nicht verwenden.
            Siehe auch Abschnitt 5.7.4, „Sicherheitsprobleme mit LOAD DATA LOCAL“.
          
            --old-passwords
          
Erzwingt die Erzeugung kurzer Passwort-Hashes (wie vor Version 4.1) auch für neue Passwörter. Dies kann zu Kompatibilitätszwecken erforderlich sein, wenn der Server ältere Clientprogramme unterstützen muss. Siehe auch Abschnitt 5.8.9, „Kennwort-Hashing ab MySQL 4.1“.
            --safe-show-database
            (AUSGELAUFEN)
          
            In älteren MySQL-Versionen konnte mit dieser Option
            festgelegt werden, dass die SHOW
            DATABASES-Anweisung die Namen nur derjenigen
            Datenbanken anzeigte, für die der Benutzer eine
            entsprechende Berechtigung hatte. In MySQL 5.1
            steht diese Option nicht mehr zur Verfügung, da dies nun
            das Standardverhalten ist und es eine SHOW
            DATABASES-Berechtigung gibt, die zur
            kontenspezifischen Steuerung des Zugriffs auf Datenbanknamen
            verwendet werden kann. Siehe auch Abschnitt 13.5.1.3, „GRANT und REVOKE“.
          
            --safe-user-create
          
            Wenn diese Option aktiviert ist, kann ein Benutzer nur dann
            neue Benutzer mit der GRANT-Anweisung
            erstellen, wenn er die Berechtigung
            INSERT für die Tabelle
            mysql.user hat. Wenn Sie wollen, dass ein
            bestimmter Benutzer die Möglichkeit zur Einrichtung neuer
            Benutzer hat, die diejenigen Berechtigungen haben, die der
            erstellende Benutzer gewähren darf, dann sollten Sie dem
            Benutzer die folgende Berechtigung gewähren:
          
GRANT INSERT(user) ON mysql.user TO 'user_name'@'host_name';
            Hierdurch ist gewährleistet, dass der Benutzer
            Berechtigungsspalten nicht direkt ändern kann, sondern die
            GRANT-Anweisung zur Gewährung von
            Berechtigungen an andere Benutzer verwenden muss.
          
            --secure-auth
          
Unterbindet die Authentifizierung für Konten, die alte Passwörter (d. h. solche im Stil vor MySQL 4.1) haben.
            Der Client mysql verfügt ebenfalls über
            eine Option namens --secure-auth, die
            Verbindungen mit einem Server verhindert, wenn dieser für
            das Clientkonto ein Passwort im alten Format anfordert.
          
            --skip-grant-tables
          
            Mit dieser Option verwendet der Server das
            Berechtigungssystem überhaupt nicht. Das bedeutet, dass
            jeder, der Zugriff auf den Server erhält,
            uneingeschränkten Zugang zu
            allen Datenbanken bekommt. Sie können
            einen laufenden Server dazu bringen, die Grant-Tabellen
            wieder zu verwenden, indem Sie mysqladmin
            flush-privileges oder mysqladmin
            reload über die System-Shell ausführen oder die
            MySQL-Anweisung FLUSH PRIVILEGES
            absetzen. Diese Option unterbindet auch das Laden von
            Plug-Ins und benutzerdefinierten Funktionen (UDFs).
          
            --skip-name-resolve
          
            Hostnamen werden nicht aufgelöst. Alle
            Host-Spaltenwerte in den Grant-Tabellen
            müssen IP-Nummern oder localhost sein.
          
            --skip-networking
          
TCP/IP-Verbindungen über das Netzwerk werden unterbunden. Alle Verbindungen zu mysqld müssen über Unix-Socketdateien erfolgen.
            --skip-show-database
          
            Bei dieser Option darf die SHOW
            DATABASES-Anweisung nur von Benutzern verwendet
            werden, die die Berechtigung SHOW
            DATABASES haben. Die Anweisung zeigt dann alle
            Datenbanknamen an. Ohne diese Option dürfen alle Benutzer
            SHOW DATABASES verwenden, aber die
            Datenbanknamen werden nur angezeigt, wenn der Benutzer die
            Berechtigung SHOW DATABASES oder
            spezifische Berechtigungen für eine Datenbank hat. Beachten
            Sie, dass jede globale Berechtigung als Berechtigung für
            die Datenbank betrachtet wird.
          
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.

