Wenn Sie den Server mysqld starten, können Sie Programmoptionen mithilfe aller in Abschnitt 4.3, „Angabe von Programmoptionen“, beschriebenen Methoden festlegen. Die meistverwendeten Methoden sind die Angabe von Optionen in einer Optionsdatei oder über die Befehlszeile. In den meisten Fällen ist es wünschenswert, dass der Server stets die gleichen Optionen verwendet. Dies lässt sich am einfachsten gewährleisten, indem man die Optionen in einer Optionsdatei auflistet. Siehe auch Abschnitt 4.3.2, „my.cnf-Optionsdateien“.
mysqld liest Optionen aus den Abschnitten [mysqld] und [server] aus. mysqld_safe liest Optionen aus den Abschnitten [mysqld], [server], [mysqld_safe] und [safe_mysqld] aus. mysql.server schließlich liest Optionen aus den Abschnitten [mysqld] und [mysql.server] aus.
Ein eingebetteter MySQL-Server entnimmt seine Optionen den Abschnitten [server], [embedded] und [, wobei xxxxx_SERVER]xxxxx der Name der Anwendung ist, in die der Server eingebettet ist.
mysqld akzeptiert viele Befehlsoptionen. Eine kurze Liste erhalten Sie, wenn Sie mysqld --help ausführen. Die vollständige Liste rufen Sie über mysqld --verbose --help auf.
Die folgende Liste zeigt einige der häufigsten Serveroptionen (weitere Optionen sind an anderer Stelle beschrieben):
Sicherheitsspezifische Optionen: Siehe auch Abschnitt 5.7.3, „Startoptionen für mysqld in Bezug auf Sicherheit“.
SSL-spezifische Optionen: Siehe auch Abschnitt 5.9.7.5, „SSL-Befehlsoptionen“.
Optionen zur Steuerung von Binärlogs: Siehe auch Abschnitt 5.12.3, „Die binäre Update-Logdatei“.
Optionen zur Replikation: Siehe auch Abschnitt 6.9, „Replikationsoptionen in my.cnf“.
Optionen für bestimmte Speicher-Engines: Siehe auch Abschnitt 14.1.1, „MyISAM-Startoptionen“, Abschnitt 14.5.3, „BDB-Startoptionen“, Abschnitt 14.2.4, „InnoDB: Startoptionen und Systemvariablen“, und Abschnitt 16.5.5.1, „MySQL Cluster-spezifische Befehlsoptionen für mysqld“.
Sie können die Werte der Serversystemvariablen auch mithilfe von Variablennamen als Optionen zuweisen. Dies wird im weiteren Verlauf dieses Abschnitts beschrieben.
--help, -?
Zeigt eine kurze Hilfemeldung an und wird dann beendet. Verwenden Sie die Optionen --verbose und --help, um die vollständige Meldung zu sehen.
--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)“.
--ansi
Verwendet die ANSI-konforme SQL-Standardsyntax (statt der MySQL-Syntax). Für eine genauere Steuerung des SQL-Modus des Servers verwenden Sie stattdessen die Option --sql-mode. Siehe auch Abschnitt 1.9.3, „MySQL im ANSI-Modus laufen lassen“, und Abschnitt 5.2.5, „Der SQL-Modus des Servers“.
--basedir=
path, -b
path
Der Pfad zum MySQL-Installationsverzeichnis. Normalerweise werden alle Pfad relativ zu diesem Verzeichnis aufgelöst.
--bind-address=
IP
Die IP-Adresse, zu der eine Bindung hergestellt wird.
--binlog-format={row|statement}
Gibt an, ob die datensatz- oder die anweisungsbasierte Replikation verwendet werden soll (die anweisungsbasierte Replikation ist die Vorgabe). Siehe auch Abschnitt 6.3, „Zeilenbasierte Replikation“. Diese Option wurde in MySQL 5.1.5 hinzugefügt.
--binlog-row-event-max-size=
N
Gibt die maximale Größe eines datensatzbasierten Binärlogereignisses in Byte an. Datensätze werden zu Ereignissen zusammengefasst, die – sofern möglich – kleiner sind als die hier angegebene Größe. Der Wert sollte ein Vielfaches von 256 sein, Standard ist 1.024. Siehe auch Abschnitt 6.3, „Zeilenbasierte Replikation“. Diese Option wurde in MySQL 5.1.5 hinzugefügt.
--both-log-formats
Aktiviert alte und neue Logformate (Logdateien und Logtabellen). Diese Option wurde in MySQL 5.1.6 hinzugefügt.
--bootstrap
Diese Option wird vom Skript mysql_install_db verwendet, um die MySQL-Berechtigungstabellen zu erstellen, ohne einen vollständigen MySQL-Server starten zu müssen.
--character-sets-dir=
path
Das Verzeichnis, in dem Zeichensätze installiert sind. Siehe auch Abschnitt 5.11.1, „Der für Daten und zum Sortieren benutzte Zeichensatz“.
--character-set-client-handshake
Zeichensatzinformationen, die vom Client übermittelt wurden, sollten nicht ignoriert werden. Um die Clientangaben zu ignorieren und den Standardzeichensatz des Servers zu benutzen, verwenden Sie --skip-character-set-client-handshake. In diesem Fall verhält sich MySQL wie MySQL 4.0.
--character-set-filesystem=
charset_name
Der Zeichensatz des Dateisystems. Diese Option wurde in MySQL 5.1.6 hinzugefügt.
--character-set-server=, charset_name-C
charset_name
Verwendet charset_name als Standardzeichensatz am Server. Siehe auch Abschnitt 5.11.1, „Der für Daten und zum Sortieren benutzte Zeichensatz“.
--chroot=
path
Versetzt den Server mysqld während des Starts mithilfe des Systemaufrufs chroot() in eine geschlossene Umgebung. Dies ist eine empfohlene Sicherheitsmaßnahme. Beachten Sie, dass durch Verwendung dieser Option LOAD DATA INFILE und SELECT ... INTO OUTFILE in geringem Maße eingeschränkt werden.
--collation-server=
collation_name
Verwendet collation_name als Standardsortierung auf dem Server. Siehe auch Abschnitt 5.11.1, „Der für Daten und zum Sortieren benutzte Zeichensatz“.
--console
(Nur für Windows.) Schreibt Fehlerlogmeldungen auch dann in stderr und stdout, wenn --log-error angegeben ist. Wenn diese Option verwendet wird, schließt mysqld das Konsolenfenster nicht.
--core-file
Schreibt eine Speicherauszugsdatei, wenn mysqld sich aufhängt. Bei einigen Systemen müssen Sie zusätzlich die Option --core-file-size für mysqld_safe angeben. Siehe auch Abschnitt 5.4.1, „mysqld_safe — Startskript für den MySQL-Server“. Beachten Sie, dass auf manchen Systemen (z. B. Solaris) keine Speicherauszugsdateien geschrieben werden, wenn gleichzeitig die Option --user verwendet wird.
--datadir=
path, -h
path
Der Pfad zum Datenverzeichnis.
--debug[=, debug_options]-#
[
debug_options]
Wird MySQL mit der Option --with-debug konfiguriert, dann können Sie mithilfe dieser Option eine Trace-Datei mit Angaben dazu erstellen, was mysqld tut. Der String debug_options heißt häufig 'd:t:o,. Standardwert ist file_name''d:t:i:o,mysqld.trace'. Siehe auch Abschnitt E.1.2, „Trace-Dateien erzeugen“.
--default-character-set= (AUSLAUFEND)
charset_name
Verwendet charset_name als Standardzeichensatz. Diese Option läuft zugunsten von --character-set-server aus. Siehe auch Abschnitt 5.11.1, „Der für Daten und zum Sortieren benutzte Zeichensatz“.
--default-collation=
collation_name
Verwendet collation_name als Standardsortierung. Diese Option läuft zugunsten von --collation-server aus. Siehe auch Abschnitt 5.11.1, „Der für Daten und zum Sortieren benutzte Zeichensatz“.
--default-storage-engine=
type
Stellt die standardmäßige Speicher-Engine für Tabellen ein. Siehe auch Kapitel 14, Speicher-Engines und Tabellentypen.
--default-table-type=
type
Diese Option ist synonym zu --default-storage-engine.
--default-time-zone=
timezone
Stellt die Standardzeitzone des Servers ein. Diese Option stellt die globale Systemvariable time_zone ein. Wird die Option nicht angegeben, dann ist die Standardzeitzone mit der Systemzeitzone identisch (diese wird durch den Wert der Systemvariablen system_time_zone bestimmt).
--delay-key-write[= OFF | ON | ALL]
Legt fest, wie verzögerte Schlüsselschreiboperationen gehandhabt werden. Das verzögerte Schreiben von Schlüsseln sorgt dafür, dass Schlüsselpuffer zwischen einzelnen Schreibvorgängen für MyISAM-Tabellen neu geladen werden. OFF deaktiviert das verzögerte Schreiben von Schlüsseln, während ON es für jene Tabellen aktiviert, die mit der Option DELAY_KEY_WRITE erstellt worden sind. ALL schließlich verzögert das Schreiben der Schlüssel für alle MyISAM-Tabellen. Siehe auch Abschnitt 7.5.2, „Serverparameter feineinstellen“, und Abschnitt 14.1.1, „MyISAM-Startoptionen“.
Hinweis: Wenn Sie diese Variable auf ALL setzen, sollten Sie MyISAM-Tabellen nicht aus einem anderen Programm (z. B. einem anderen MySQL-Server oder myisamchk) heraus verwenden, wenn diese Tabellen bereits in Benutzung sind. Andernfalls können Indizes beschädigt werden.
--des-key-file=
file_name
Liest den DES-Standardschlüssel aus der angegebenen Datei aus. Diese Schlüssel werden von den Funktionen DES_ENCRYPT() und DES_DECRYPT() verwendet.
--enable-named-pipe
Aktiviert die Unterstützung für Named Pipes. Diese Option betrifft nur Systeme unter Windows NT/2000/XP/2003 und kann nur für die Server mysqld-nt und mysqld-max-nt benutzt werden, die Named-Pipe-Verbindungen benutzen.
--event-scheduler
Aktiviert den Ereignisplaner. Diese Option wurde in MySQL 5.1.6 hinzugefügt.
--exit-info[=, flags]-T [
flags]
Dies ist eine Bitmaske mit verschiedenen Flags, die Sie zum Debugging des Servers mysqld verwenden können. Verwenden Sie diese Option nur, wenn Sie genau wissen, was sie tut!
Aktiviert die externe Sperrung (Systemsperrung). Diese ist seit MySQL 4.0 standardmäßig deaktiviert. Beachten Sie, dass, wenn Sie diese Option auf einem System verwenden, auf dem lockd nicht vollständig funktioniert (z. B. unter Linux), mysqld vollständig gesperrt werden kann. Diese Option hieß früher --enable-locking.
Hinweis: Wenn Sie diese Option verwenden, um das Aktualisieren von MyISAM-Tabellen durch mehrere MySQL-Prozesse zu ermöglichen, dann müssen Sie sicherstellen, dass die folgenden Bedingungen erfüllt sind:
Sie sollten den Abfrage-Cache nicht für Abfragen benutzen, die Tabellen verwenden, welche durch einen anderen Prozess aktualisiert werden.
Sie sollten --delay-key-write=ALL oder DELAY_KEY_WRITE=1 nicht bei gemeinsam genutzten Tabellen einsetzen.
Die einfachste Möglichkeit, dies zu gewährleisten, besteht darin, --external-locking immer zusammen mit --delay-key-write=OFF und --query-cache-size=0 zu benutzen. (Dies wird standardmäßig nicht gemacht, weil es in vielen Konfigurationen nützlich ist, eine Mischung der vorangegangenen Optionen einzusetzen.)
--flush
Schreibt nach jeder SQL-Anweisung alle Änderungen neu auf die Festplatte (Synchronisierung). Normalerweise schreibt MySQL alle Änderungen erst nach der jeweiligen SQL-Anweisung auf die Festplatte und überlässt dem Betriebssystem die Festplattensynchronisierung. Siehe auch Abschnitt A.4.2, „Was zu tun ist, wenn MySQL andauernd abstürzt“.
--init-file=
file
Liest beim Start SQL-Anweisungen aus der angegebenen Datei aus. Jede Anweisung muss in einer eigenen Zeile stehen und darf keine Kommentare enthalten.
--innodb-
xxx
Die InnoDB-Optionen sind in Abschnitt 14.2.4, „InnoDB: Startoptionen und Systemvariablen“, beschrieben.
--language=
lang_name,
-L lang_name
Gibt Clientfehlermeldungen in der angegebenen Sprache zurück. lang_name kann als Sprachname oder als vollständiger Pfadname zu dem Verzeichnis angegeben werden, in dem die Sprachdateien installiert sind. Siehe auch Abschnitt 5.11.2, „Nicht englische Fehlermeldungen“.
--large-pages
Einige Hardware- und Betriebssystemarchitekturen unterstützen Speicherseiten, die größer als der Standardwert (normalerweise 4 Kbyte) sind. Die eigentliche Implementierung dieser Unterstützung hängt von der zugrundeliegenden Hardware und dem Betriebssystem ab. Anwendungen, die häufig auf den Speicher zugreifen, können leistungsseitig von der Verwendung großer Seiten profitieren, da die Anzahl von TLB-Fehlschlägen (Translation Lookaside Buffer, Übersetzungspuffer) verringert wird.
Zurzeit unterstützt MySQL nur die Linux-Implementierung der Unterstützung für große Seiten (diese heißt in Linux HugeTLB). Wir beabsichtigen, diese Unterstützung auf FreeBSD, Solaris und möglicherweise auch andere Plattformen auszudehnen.
Bevor unter Linux große Seiten verwendet werden können, ist es notwendig, den HugeTLB-Speicherpool zu konfigurieren. Hinweise hierzu entnehmen Sie der Datei hugetlbpage.txt im Linux-Kernel-Quellcode.
Die Option ist standardmäßig deaktiviert.
--log[=, file_name]-l [
file_name]
Verbindungen und SQL-Anweisungen, die von Clients empfangen werden, werden in dieser Datei protokolliert. Siehe auch Abschnitt 5.12.2, „Die allgemeine Anfragen-Logdatei“. Wenn Sie den Dateinamen weglassen, verwendet MySQL als Dateinamen.
host_name.log
--log-bin=[
base_name]
Aktiviert das binäre Loggen. Der Server loggt alle datenändernden Anweisungen in das Binärlog, welches für Sicherungs- und Replikationszwecke verwendet wird. Siehe auch Abschnitt 5.12.3, „Die binäre Update-Logdatei“.
Sofern angegeben, ist der Optionswert der Basisname der Logabfolge. Der Server erstellt Binärlogs in einer Abfolge und fügt dabei an den Basisnamen jeweils ein numerisches Suffix an. Die Angabe eines Basisnamens wird empfohlen (siehe Abschnitt A.8.1, „Offene Probleme in MySQL“ zu den Gründen). Andernfalls verwendet MySQL als Basisnamen.
host_name-bin
--log-bin-index[=
file_name]
Dies ist die Indexdatei für Dateinamen von Binärlogs. Siehe auch Abschnitt 5.12.3, „Die binäre Update-Logdatei“. Wenn Sie den Dateinamen weglassen und auch mit --log-bin keinen Namen festgelegt haben, verwendet MySQL als Dateinamen.
host_name-bin.index
--log-bin-trust-function-creators[={0|1}]
Ohne Argument oder mit dem Argument 1 setzt diese Option die Systemvariable log_bin_trust_function_creators auf 1. Wird als Argument 0 übergeben, dann wird die Systemvariable auf 0 gesetzt. log_bin_trust_function_creators beeinflusst, wie MySQL Beschränkungen für die Erstellung gespeicherter Funktionen durchsetzt. Siehe auch Abschnitt 19.4, „Binärloggen gespeicherter Routinen und Trigger“.
--log-error[=
file_name]
Fehler- und Startmeldungen werden in der genannten Datei protokolliert. Siehe auch Abschnitt 5.12.1, „Die Fehler-Logdatei“. Wenn Sie den Dateinamen weglassen, verwendet MySQL . Hat der Dateiname keine Erweiterung, dann fügt der Server die Erweiterung host_name.err.err hinzu.
--log-isam[=
file_name]
Protokolliert alle MyISAM-Änderungen an dieser Datei (wird nur zum MyISAM-Debugging verwendet).
--log-long-format (AUSLAUFEND)
Schreibt Zusatzinformationen in das Update-Log, das Binärlog und das Log für langsame Abfragen, sofern diese aktiviert sind. So werden etwa der Benutzername und ein Zeitstempel für alle Abfragen protokolliert. Diese Option läuft aus, da sie mittlerweile das Standardverhalten beim Loggen darstellt. (Siehe Beschreibung zu --log-short-format.) Die Option --log-queries-not-using-indexes dient dem Loggen von Abfragen, die keine Indizes verwenden, in das Log für langsame Abfragen.
--log-queries-not-using-indexes
Wenn Sie diese Option in Verbindung mit --log-slow-queries verwenden, werden Abfragen, die keine Indizes verwenden, in das Log für langsame Abfragen geschrieben. Siehe auch Abschnitt 5.12.4, „Die Logdatei für langsame Anfragen“.
--log-short-format
Protokolliert weniger Informationen in das Update-Log, das Binärlog und das Log für langsame Abfragen, sofern diese aktiviert sind. So werden etwa weder Benutzername noch ein Zeitstempel für Abfragen protokolliert.
--log-slow-admin-statements
Protokolliert administrative Anweisungen wie OPTIMIZE TABLE, ANALYZE TABLE und ALTER TABLE in das Log für langsame Abfragen.
--log-slow-queries[=
file_name]
Protokolliert alle Abfragen, deren Ausführung mehr als long_query_time Sekunden gedauert hat, in die angegebene Datei. Siehe auch Abschnitt 5.12.4, „Die Logdatei für langsame Anfragen“. Details finden Sie in den Beschreibungen zu den Optionen --log-long-format und --log-short-format.
--log-warnings, -W
Schreibt Warnungen wie Aborted connection... in das Fehlerlog. Die Aktivierung dieser Option wird beispielsweise empfohlen, wenn Sie die Replikation verwenden. (Sie erhalten dann mehr Informationen zu den ablaufenden Vorgängen, z. B. Netzwerkausfälle und Neuverbindungen.) Die Option ist standardmäßig aktiviert. Sie können sie mithilfe von --skip-log-warnings deaktivieren. Unterbrochene Verbindungen werden nicht in das Fehlerlog protokolliert, sofern der Wert größer als 1 ist. Siehe auch Abschnitt A.2.10, „Kommunikationsfehler/abgebrochene Verbindung“.
--low-priority-updates
Gibt tabellenändernden Operationen (INSERT, REPLACE, DELETE, UPDATE) eine niedrigere Priorität als Auswahloperationen. Dies kann auch via {INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY ... erfolgen, um die Priorität nur einer Abfrage zu verringern. Die Priorität eines Threads können Sie mit SET LOW_PRIORITY_UPDATES=1 verringern. Siehe auch Abschnitt 7.3.2, „Themen, die Tabellensperren betreffen“.
--memlock
Sperrt den mysqld-Prozess im Speicher. Dies funktioniert auf Systemen wie Solaris, die den Systemaufruf mlockall() unterstützen. Die Option kann hilfreich sein, wenn ein Problem auftritt, bei dem das Betriebssystem eine Auslagerung von mysqld auf die Festplatte verursacht. Beachten Sie, dass die Verwendung dieser Option eine Ausführung des Servers als root erfordert, wovon in der Regel aus Sicherheitsgründen abzuraten ist. Siehe auch Abschnitt 5.7.5, „Wie man MySQL als normaler Benutzer laufen läßt“.
--myisam-recover
[=
option[,option]...]]
Stellt den Wiederherstellungsmodus der MyISAM-Speicher-Engine ein. Der Optionswert ist eine beliebige Kombination der Werte DEFAULT, BACKUP, FORCE oder QUICK. Wenn Sie mehrere Werte angeben, trennen Sie sie durch Kommata. Sie können auch den Wert "" angeben, um die Option zu deaktivieren. Wird die Option verwendet, dann prüft mysqld bei jedem Öffnen einer MyISAM-Tabelle, ob diese als abgestürzt gekennzeichnet ist oder beim letzten Mal nicht korrekt geschlossen wurde. (Die zweite Option funktioniert nur, wenn die Ausführung mit deaktivierter externer Sperrung erfolgt.) In diesem Fall führt mysqld eine Überprüfung der Tabelle durch. Ist die Tabelle tatsächlich beschädigt, dann versucht mysqld sie zu reparieren.
Die folgenden Optionen beeinflussen die Ausführung der Reparatur:
| Option | Beschreibung |
DEFAULT |
Ist identisch mit der Nichtangabe von Optionen für --myisam-recover. |
BACKUP |
Speichert, wenn die Datendatei während der Wiederherstellung geändert wurde, eine Sicherungskopie der Datei als . |
FORCE |
Führt die Wiederherstellung auch dann durch, wenn dadurch mehr als nur ein Datensatz in der .MYD-Datei verloren geht. |
QUICK |
Überprüft die Datensätze in der Tabelle nicht, wenn keine Löschblöcke vorhanden sind. |
Bevor der Server eine Tabelle automatisch repariert, schreibt er einen Hinweis zur Reparatur in das Fehlerlog. Wollen Sie die meisten Probleme durch eine Wiederherstellung ohne Benutzereingriff beseitigen, dann sollten Sie die Optionen BACKUP,FORCE angeben. Hierdurch wird die Reparatur der Tabelle auch dann erzwungen, wenn mehrere Datensätze gelöscht würden; gleichzeitig wird aber die alte Datendatei als Sicherungskopie vorgehalten, sodass Sie später untersuchen können, was passiert ist.
Siehe auch Abschnitt 14.1.1, „MyISAM-Startoptionen“.
--ndb-connectstring=
connect_string
Wenn Sie die NDB-Speicher-Engine verwenden, können Sie den Managementserver angeben, der die Clusterkonfiguration verteilt. Dies tun Sie durch Einstellung der Option --ndb-connectstring. Informationen zur Syntax finden Sie in Abschnitt 16.4.4.2, „MySQL Cluster: connectstring“.
--ndbcluster
Wenn die Binärdatei eine Unterstützung der NDB Cluster-Speicher-Engine enthält, aktiviert diese Option die Engine (diese ist standardmäßig deaktiviert). Siehe auch Kapitel 16, MySQL Cluster.
--old-log-format
Aktiviert nur das alte Logformat. Hierdurch werden Logtabellen und die SELECT-Funktionalität für Loginhalte deaktiviert. Diese Option wurde in MySQL 5.1.6 hinzugefügt.
--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“.
--one-thread
Verwendet nur einen Thread (zum Debuggen unter Linux). Diese Option ist nur verfügbar, wenn der Server mit aktiviertem Debugging erstellt wurde. Siehe auch Abschnitt E.1, „Einen MySQL-Server debuggen“.
--open-files-limit=
count
Ändert die Anzahl der für mysqld verfügbaren Dateideskriptoren. Wenn diese Option nicht oder auf 0 gesetzt ist, verwendet mysqld den Wert, um Dateideskriptoren mit setrlimit() zu reservieren. Ist der Wert hingegen 0, dann reserviert mysqld max_connections×5 oder max_connections +
table_open_cache×2 Dateien (je nachdem, welcher Wert höher ist). Versuchen Sie, diesen Wert zu erhöhen, wenn mysqld die Fehlermeldung Too many open files ausgibt.
--pid-file=
path
Der Pfadname der Prozesskennungsdatei. Diese Datei wird von anderen Programmen wie mysqld_safe verwendet, um die Prozesskennung des Servers zu bestimmen.
--port=
port_num, -P
port_num
Die Portnummer, die beim Horchen auf TCP/IP-Verbindungen verwendet wird. Die Portnummer muss 1024 oder höher sein, sofern der Server nicht vom Systembenutzer root gestartet wird.
--port-open-timeout=
num
Bei manchen Systemen wird, wenn der Server beendet wird, der TCP/IP-Port unter Umständen nicht mehr verfügbar gemacht. Wenn der Server kurz darauf neu gestartet wird, kann der Versuch fehlschlagen, den Port neu zu öffnen. Diese Option gibt an, wie viele Sekunden der Server warten soll, bis der TCP/IP-Port wieder frei wird, sofern er nicht geöffnet werden kann. Standardmäßig gibt es keine Wartezeit. Diese Option wurde in MySQL 5.1.5 hinzugefügt.
--safe-mode
Überspringt einige Optimierungsstufen.
--safe-show-database (AUSLAUFEND)
Siehe auch Abschnitt 5.8.3, „Von MySQL zur Verfügung gestellte Berechtigungen“.
--safe-user-create
Wenn diese Option aktiviert ist, kann ein Benutzer mit der GRANT-Anweisung keine neuen MySQL-Benutzer erstellen, wenn er für die Tabelle mysql.user oder eine der Spalten in dieser Tabelle nicht die Berechtigung INSERT hat.
--secure-auth
Unterbindet die Authentifizierung von Clients, die Konten mit alten Passwörtern (vor Version 4.1) zu verwenden versuchen.
--shared-memory
Aktiviert Verbindungen mit gemeinsamem Speicher durch lokale Clients. Diese Option ist nur unter Windows verfügbar.
--shared-memory-base-name=
name
Der Name des gemeinsamen Speichers, der für Verbindungen mit gemeinsamem Speicher verwendet werden soll. Diese Option ist nur unter Windows verfügbar. Der Standardname ist MYSQL. Beim Namen wird die Groß-/Kleinschreibung unterschieden.
--skip-bdb
Deaktiviert die BDB-Speicher-Engine. Hierdurch wird Speicher gespart, ferner werden einige Operationen beschleunigt. Verwenden Sie die Option nicht, wenn Sie BDB-Tabellen benötigen.
--skip-concurrent-insert
Schaltet die Möglichkeit ab, bei MyISAM-Tabellen gleichzeitig auszuwählen und einzufügen. (Diese Option sollte nur verwendet werden, wenn Sie das Gefühl haben, einen Bug in dieser Funktion gefunden zu haben.)
Eine externe Sperrung (Systemsperrung) wird nicht verwendet. Bei deaktivierter externer Sperrung müssen Sie den Server herunterfahren, um myisamchk verwenden zu können. (Siehe auch Abschnitt 1.4.3, „Wie stabil ist MySQL?“.) Um diese Anforderung zu umgehen, verwenden Sie die Anweisungen CHECK TABLE und REPAIR TABLE zur Überprüfung und Reparatur von MyISAM-Tabellen.
Die externe Sperrung wird seit MySQL 4.0 standardmäßig deaktiviert.
--skip-grant-tables
Diese Option sorgt dafür, dass der Server das Berechtigungssystem überhaupt nicht verwendet. Hierdurch erhalten alle Benutzer, die auf den Server zugreifen können, uneingeschränkten Zugang zu allen Datenbanken. 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 nach Herstellen einer Verbindung zum Server absetzen. Diese Option unterbindet auch das Laden von Plug-Ins und benutzerdefinierten Funktionen (UDFs).
--skip-host-cache
Der interne Hostnamencache wird nicht zur schnelleren Namensauflösung verwendet. Stattdessen wird bei jeder Verbindungsherstellung durch einen Client der DNS-Server abgefragt. Siehe auch Abschnitt 7.5.6, „Wie MySQL DNS benutzt“.
--skip-innodb
Deaktiviert die InnoDB-Speicher-Engine. Hierdurch wird Speicher und Festplattenkapazität gespart, ferner werden einige Operationen beschleunigt. Verwenden Sie die Option nicht, wenn Sie InnoDB-Tabellen benötigen.
--skip-name-resolve
Bei der Überprüfung von Clientverbindungen werden Hostnamen nicht aufgelöst. Es werden ausschließlich IP-Nummern verwendet. Wenn Sie diese Option verwenden, müssen alle Werte in der Spalte Host der Grant-Tabellen IP-Nummern oder localhost sein. Siehe auch Abschnitt 7.5.6, „Wie MySQL DNS benutzt“.
--skip-ndbcluster
Deaktiviert die NDB Cluster-Speicher-Engine. Dies ist die Standardeinstellung bei Binärdistributionen, die mit Unterstützung für die NDB Cluster-Speicher-Engine erstellt wurden. Der Server reserviert dieser Speicher-Engine nur dann Speicher und andere Ressourcen, wenn die Option --ndbcluster explizit angegeben wird. Ein Anwendungsbeispiel finden Sie in Abschnitt 16.4.3, „Schnelle Testeinrichtung von MySQL Cluster“.
--skip-networking
Unterbindet das Horchen auf TCP/IP-Verbindungen ganz. Die gesamte Interaktion mit mysqld muss über Named Pipes oder gemeinsamen Speicher (unter Windows) bzw. Unix-Socketdateien (unter Unix) erfolgen. Diese Option ist für Systeme, bei denen nur lokale Clients zulässig sind, sehr empfehlenswert. Siehe auch Abschnitt 7.5.6, „Wie MySQL DNS benutzt“.
--standalone
Nur unter Windows NT-basierten Systemen vorhanden. Die Option weist den MySQL-Server an, nicht als Dienst ausgeführt zu werden.
--symbolic-links, --skip-symbolic-links
Aktiviert bzw. deaktiviert die Unterstützung für symbolische Verknüpfungen. Die Option hat unter Windows und Unix unterschiedliche Auswirkungen:
Unter Windows erlaubt Ihnen die Aktivierung symbolischer Verknüpfungen die Einrichtung einer solchen Verknüpfung zu einem Datenbankverzeichnis durch Erstellen einer Datei , die den Pfad zum echten Verzeichnis enthält. Siehe auch Abschnitt 7.6.1.3, „Daten unter Windows auf verschiedene Platten aufteilen“.
db_name.sym
Unter Unix hat die Aktivierung symbolischer Verknüpfungen zur Folge, dass Sie eine MyISAM-Index- oder -Datendatei mit einem anderen Verzeichnis verknüpfen können. Diese Verknüpfung erfolgt mit den Optionen INDEX
DIRECTORY oder DATA DIRECTORY der CREATE TABLE-Anweisung. Wenn Sie die Tabelle löschen oder umbenennen, werden die Dateien, auf die die symbolischen Verknüpfungen verweisen, ebenfalls gelöscht bzw. umbenannt. Siehe auch Abschnitt 7.6.1.2, „Benutzung symbolischer Links für Tabellen“.
--skip-safemalloc
Wenn MySQL mit der Option --with-debug=full konfiguriert wird, prüfen alle MySQL-Programme bei jedem Speicherzuweisungs- und -freigabevorgang auf Speicherüberläufe. Diese Überprüfung erfolgt recht langsam, weswegen Sie sie für den Server mithilfe der Option --skip-safemalloc umgehen sollten, wenn Sie sie nicht brauchen.
--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.
--skip-stack-trace
Stapel-Trace-Dateien werden nicht geschrieben. Diese Option ist praktisch, wenn Sie mysqld unter einem Debugger ausführen. Bei manchen Systemen müssen Sie die Option auch verwenden, um eine Speicherauszugsdatei zu erhalten. Siehe auch Abschnitt E.1, „Einen MySQL-Server debuggen“.
--skip-thread-priority
Deaktiviert die Verwendung von Thread-Prioritäten für eine schnellere Antwortzeit.
--socket=
path
Unter Unix gibt diese Option die Unix-Socketdatei an, die beim Horchen nach lokalen Verbindungen verwendet werden soll. Der Vorgabewert ist /tmp/mysql.sock. Unter Windows legt die Option den Pipe-Namen fest, der beim Horchen nach lokalen Verbindungen verwendet werden soll, die eine Named Pipe nutzen. Der Vorgabewert ist MySQL (keine Unterscheidung der Groß-/Kleinschreibung).
--sql-mode=
value[,value[,value...]]
Stellt den SQL-Modus ein. Siehe auch Abschnitt 5.2.5, „Der SQL-Modus des Servers“.
--temp-pool
Diese Option sorgt dafür, dass die meisten vom Server erstellten Temporärdateien eine kleine Menge von Namen nutzt (statt dass ein eindeutiger Name für jede neue Datei erstellt wird). Hierdurch wird ein Problem umgangen, dass der Linux-Kernel mit der Erstellung vieler neuer Dateien mit unterschiedlichen Namen hat. Beim ursprünglichen Verhalten scheint Linux ein „Speicherleck“ aufzuweisen, da der Speicher nicht dem Festplattencache, sondern dem Verzeichniseintragscache zugewiesen wird.
--transaction-isolation=
level
Stellt die Standardstufe für die Transaktionsisolierung ein. Der Wert level kann READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ oder SERIALIZABLE sein. Siehe auch Abschnitt 13.4.6, „SET TRANSACTION“.
--tmpdir=
path, -t
path
Der Pfad des Verzeichnisses, in dem Temporärdateien erstellt werden. Die Option kann nützlich sein, wenn Ihr /tmp-Standardverzeichnis auf einer Partition liegt, die zu klein für die Aufnahme temporärer Tabellen ist. Die Option akzeptiert mehrere Pfade, die zyklisch abwechselnd verwendet werden. Pfade sollten unter Unix durch Doppelpunkte (‘:’) und unter Windows, NetWare und OS/2 durch Semikola (‘;’) getrennt werden. Wenn der MySQL-Server als Replikations-Slave agiert, sollten Sie die Option --tmpdir nicht auf ein Verzeichnis auf einem speicherbasierten Dateisystem oder aber ein Verzeichnis verweisen lassen, welches gelöscht wird, wenn der Serverhost neu gestartet wird. Weitere Informationen zur Speicherposition temporärer Dateien finden Sie in Abschnitt A.4.4, „Wohin MySQL temporäre Dateien speichert“. Ein Replikations-Slave benötigt einen Teil seiner Temporärdateien, um einen Systemneustart so zu überstehen, dass er Temporärtabellen oder LOAD DATA INFILE-Operationen replizieren kann. Wenn Dateien in im Verzeichnis für Temporärdateien beim Serverneustart verloren gehen, schlägt die Replikation fehl.
--user={
user_name |
user_id}, -u
{user_name |
user_id}
Führt den Server mysqld als Benutzer mit dem spezifizierten Benutzernamen (user_name) oder der numerischen Benutzerkennung (user_id) aus. („Benutzer“ bezeichnet in diesem Kontext ein Systemanmeldekonto und keinen in den Grant-Tabellen aufgeführten MySQL-Benutzer.)
Diese Option zwingend erforderlich, wenn Sie mysqld als root starten. Der Server wechselt seine Benutzerkennung während der Startsequenz und wird dann als der angegebene Benutzer statt als root ausgeführt. Siehe auch Abschnitt 5.7.1, „Allgemeine Sicherheitsrichtlinien“.
Um eine potenzielle Sicherheitslücke zu vermeiden, wenn ein Benutzer die Option --user=root in einer Datei my.cnf hinzufügt (und auf diese Weise eine Ausführung des Servers als root veranlasst), verwendet mysqld nur die erste angegebene Option --user und erzeugt eine Warnung, wenn mehrere --user-Optionen vorhanden sind. Optionen in /etc/my.cnf und $MYSQL_HOME/my.cnf werden vor eventuellen Befehlszeilenoptionen verarbeitet, weswegen empfohlen wird, eine Option --user in /etc/my.cnf einzufügen und dort einen anderen Wert als root anzugeben. Die Option in /etc/my.cnf wird vor allen anderen --user-Optionen gefunden; hierdurch ist sichergestellt, dass der Server als ein anderer Benutzer als root ausgeführt und eine Warnung erzeugt wird, wenn eine andere --user- Option gefunden wird.
--version, -V
Zeigt die Versionsinformation an und wird dann beendet.
Sie können einer Serversystemvariablen einen Wert zuweisen, indem Sie eine Option der Form -- verwenden. So setzt beispielsweise var_name=value--key_buffer_size=32M die Variable key_buffer_size auf einen Wert von 32 Mbyte.
Beachten Sie, dass, wenn Sie einer Variablen einen Wert zuweisen, MySQL diesen ggf. automatisch so korrigiert, dass er innerhalb eines gegebenen Bereichs bleibt, oder den Wert auf den nächstgelegenen zulässigen Wert setzt, sofern nur bestimmte Werte gestattet sind.
Wenn Sie den Höchstwert, auf den eine Variable zur Laufzeit mit SET gesetzt werden kann, beschränken wollen, definieren Sie dies unter Verwendung der Befehlszeileoption --maximum-.
var_name
Es ist ferner möglich, Variablen über die Syntax --set-variable= oder var_name=value-O einzustellen. Diese Syntax läuft jedoch aus.
var_name=value
Sie können die Werte der meisten Systemvariablen für einen laufenden Server mit der Anweisung SET ändern. Siehe auch Abschnitt 13.5.3, „SET“.
Abschnitt 5.2.2, „Server-Systemvariablen“, bietet eine vollständige Beschreibung aller Variablen sowie weitere Informationen zu deren Einstellung beim Serverstart und zur Laufzeit. Abschnitt 7.5.2, „Serverparameter feineinstellen“, enthält Informationen zur Optimierung des Servers durch gezielte Einstellung der Systemvariablen.
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.
