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.