431 lines
13 KiB
Groff
431 lines
13 KiB
Groff
# Example MySQL config file for very large systems.
|
|
#
|
|
# This is for a large system with memory of 1G-2G where the system runs mainly
|
|
# MySQL.
|
|
#
|
|
# You can copy this file to
|
|
# /etc/my.cnf to set global options,
|
|
# mysql-data-dir/my.cnf to set server-specific options (in this
|
|
# installation this directory is /var/lib/mysql) or
|
|
# ~/.my.cnf to set user-specific options.
|
|
#
|
|
# In this file, you can use all long options that a program supports.
|
|
# If you want to know which options a program supports, run the program
|
|
# with the "--help" option.
|
|
|
|
# The following options will be passed to all MySQL clients
|
|
[client]
|
|
#password = your_password
|
|
port = 3306
|
|
socket = /var/run/mysqld/mysqld.sock
|
|
|
|
# Here follows entries for some specific programs
|
|
# The following values assume you have at least 32M ram
|
|
|
|
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
|
|
[mysqld_safe]
|
|
socket = /var/run/mysqld/mysqld.sock
|
|
nice = 0
|
|
|
|
|
|
# The MySQL server
|
|
[mysqld]
|
|
port = 3306
|
|
socket = /var/run/mysqld/mysqld.sock
|
|
skip-external-locking
|
|
key_buffer_size = 384M
|
|
max_allowed_packet = 1M
|
|
table_open_cache = 512
|
|
sort_buffer_size = 2M
|
|
read_buffer_size = 2M
|
|
read_rnd_buffer_size = 8M
|
|
myisam_sort_buffer_size = 64M
|
|
thread_cache_size = 8
|
|
query_cache_size = 32M
|
|
# Try number of CPU's*2 for thread_concurrency
|
|
thread_concurrency = 8
|
|
|
|
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
|
|
# if all processes that need to connect to mysqld run on the same host.
|
|
# All interaction with mysqld must be made via Unix sockets or named pipes.
|
|
# Note that using this option without enabling named pipes on Windows
|
|
# (via the "enable-named-pipe" option) will render mysqld useless!
|
|
#
|
|
#skip-networking
|
|
|
|
# Replication Master Server (default)
|
|
# binary logging is required for replication
|
|
#log-bin=mysql-bin
|
|
|
|
# required unique id between 1 and 2^32 - 1
|
|
# defaults to 1 if master-host is not set
|
|
# but will not function as a master if omitted
|
|
server-id = 1
|
|
|
|
# Replication Slave (comment out master section to use this)
|
|
#
|
|
# To configure this host as a replication slave, you can choose between
|
|
# two methods :
|
|
#
|
|
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
|
|
# the syntax is:
|
|
#
|
|
# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
|
|
# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
|
|
#
|
|
# where you replace <host>, <user>, <password> by quoted strings and
|
|
# <port> by the master's port number (3306 by default).
|
|
#
|
|
# Example:
|
|
#
|
|
# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
|
|
# MASTER_USER='joe', MASTER_PASSWORD='secret';
|
|
#
|
|
# OR
|
|
#
|
|
# 2) Set the variables below. However, in case you choose this method, then
|
|
# start replication for the first time (even unsuccessfully, for example
|
|
# if you mistyped the password in master-password and the slave fails to
|
|
# connect), the slave will create a master.info file, and any later
|
|
# change in this file to the variables' values below will be ignored and
|
|
# overridden by the content of the master.info file, unless you shutdown
|
|
# the slave server, delete master.info and restart the slaver server.
|
|
# For that reason, you may want to leave the lines below untouched
|
|
# (commented) and instead use CHANGE MASTER TO (see above)
|
|
#
|
|
# required unique id between 2 and 2^32 - 1
|
|
# (and different from the master)
|
|
# defaults to 2 if master-host is set
|
|
# but will not function as a slave if omitted
|
|
#server-id = 2
|
|
#
|
|
# The replication master for this slave - required
|
|
#master-host = <hostname>
|
|
#
|
|
# The username the slave will use for authentication when connecting
|
|
# to the master - required
|
|
#master-user = <username>
|
|
#
|
|
# The password the slave will authenticate with when connecting to
|
|
# the master - required
|
|
#master-password = <password>
|
|
#
|
|
# The port the master is listening on.
|
|
# optional - defaults to 3306
|
|
#master-port = <port>
|
|
#
|
|
# binary logging - not required for slaves, but recommended
|
|
#log-bin=mysql-bin
|
|
#
|
|
# binary logging format - mixed recommended
|
|
#binlog_format=mixed
|
|
|
|
# Point the following paths to different dedicated disks
|
|
#tmpdir = /tmp/
|
|
#log-update = /path-to-dedicated-directory/hostname
|
|
|
|
# Uncomment the following if you are using InnoDB tables
|
|
#innodb_data_home_dir = /var/lib/mysql/
|
|
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
|
|
#innodb_log_group_home_dir = /var/lib/mysql/
|
|
# You can set .._buffer_pool_size up to 50 - 80 %
|
|
# of RAM but beware of setting memory usage too high
|
|
#innodb_buffer_pool_size = 384M
|
|
#innodb_additional_mem_pool_size = 20M
|
|
# Set .._log_file_size to 25 % of buffer pool size
|
|
#innodb_log_file_size = 100M
|
|
#innodb_log_buffer_size = 8M
|
|
#innodb_flush_log_at_trx_commit = 1
|
|
#innodb_lock_wait_timeout = 50
|
|
|
|
|
|
## ------------------------------------------
|
|
## - angepasste Einstellungen
|
|
|
|
|
|
sort_buffer_size = 2M
|
|
key_buffer_size = 256M
|
|
|
|
|
|
## - open-files-limit
|
|
## -
|
|
## - put the following lines into /etc/security/limits.conf
|
|
## -
|
|
## - @staff hard nofile 32768
|
|
## - root hard nofile 32768
|
|
## -
|
|
## - see also http://linux-vserver.org/Ulimit_Nofiles
|
|
## -
|
|
open-files-limit = 8192
|
|
|
|
table_open_cache = 2560
|
|
table_definition_cache = 512
|
|
|
|
max_connect_errors = 999999
|
|
|
|
# Try number of CPU's*2 for thread_concurrency
|
|
thread_concurrency = 16
|
|
thread_cache_size = 32
|
|
|
|
|
|
## - Unbenutze Datenbank Engines deaktivieren
|
|
## -
|
|
|
|
## - skip-innodb
|
|
## -
|
|
## - Deaktiviert die Unterstützung für InnoDB
|
|
## -
|
|
default-storage-engine=MyISAM
|
|
skip-innodb
|
|
|
|
|
|
|
|
log-error = /var/log/mysql/error.log
|
|
|
|
## - ft_min_word_len
|
|
## -
|
|
## - Die minimale Länge des Wortes, das in einem FULLTEXT-Index enthalten sein darf.
|
|
## -
|
|
## - Notice!
|
|
## - if you set
|
|
## - [mysqld]
|
|
## - ft_min_word_len=3
|
|
## -
|
|
## - you should also set
|
|
## - [myisamchk]
|
|
## - ft_min_word_len=3
|
|
## -
|
|
## -
|
|
## - Vorgabewert ist 4
|
|
ft_min_word_len = 3
|
|
|
|
## - ft_stopword_file
|
|
## -
|
|
## - Datei, aus der die Liste der Stoppwörter für die Volltextsuche ausgelesen wird.
|
|
## - Es werden alle Wörter aus der Datei verwendet; Kommentare hingegen werden nicht
|
|
## - berücksichtigt. Standardmäßig wird eine eingebaute Liste mit Stoppwörtern (wie
|
|
## - in der Datei myisam/ft_static.c definiert) verwendet. Wird diesee Variable auf den
|
|
## - Leer-String gesetzt (''), wird die Ausfilterung von Stoppwörtern deaktiviert.
|
|
## -
|
|
## - Hinweis: Wird diese Variable geändern oder den Inhalt der Stoppwortdatei selbst,
|
|
## - müssen die FULLTEXT-Indizes neu erstellt werden (REPAIR TABLE tbl_name QUICK. ).
|
|
## -
|
|
ft_stopword_file = /etc/mysql/stop_words_utf-8_latin9.txt
|
|
|
|
|
|
## - max_connections
|
|
## -
|
|
## - Die zulässige Anzahl nebenläufiger Clientverbindungen. Wenn dieser Wert erhöht
|
|
## - wird, erhöht sich auch die Anzahl der Dateideskriptoren, die mysqld benötigt.
|
|
## -
|
|
## - Vorgabewert ist 100
|
|
## -
|
|
max_connections = 500
|
|
|
|
|
|
|
|
## -------------
|
|
## - query cache
|
|
|
|
|
|
## - query_cache_type
|
|
## -
|
|
## - 0 : verhindert das Speichern von Abfragen im und
|
|
## - das Abrufen aus dem Cache
|
|
## - 1 : gestattet das Speichern von Abfragen im Cache.
|
|
## - Ausgenommen sind Anweisungen, die mit
|
|
## - SELECT SQL_NO_CACHE beginnen.
|
|
## - 2 : speichert nur diejenigen Anweisungen im Cache,
|
|
## - die mit SELECT SQL_CACHE beginnen.
|
|
query_cache_type = 1
|
|
|
|
|
|
## - query_cache_limit
|
|
## -
|
|
## - Gibt die maximale Größe einzelner Abfrageergebnisse an, die im
|
|
## - Cache gespeichert werden können.
|
|
## -
|
|
## - Vorgeabewert ist 1Mbyte
|
|
## -
|
|
##query_cache_limit = 4M
|
|
query_cache_limit = 8M
|
|
|
|
|
|
## - query_cache_min_res_unit
|
|
## -
|
|
## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück
|
|
## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser
|
|
## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste
|
|
## - zugewiesen. Da der Speicherreservierungsvorgang (in zeitlicher Hinsicht)
|
|
## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer
|
|
## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit
|
|
## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte
|
|
## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass
|
|
## - unbenutzter Speicher freigegeben wird.
|
|
## -
|
|
## - Siehe auch http://dev.mysql.com/doc/refman/5.1/de/query-cache-configuration.html
|
|
## -
|
|
## - Vorgabewert ist 4Kbyte
|
|
## -
|
|
query_cache_min_res_unit = 8K
|
|
|
|
|
|
## - query_cache_size
|
|
## -
|
|
## - Die Größe des Abfrage-Caches.
|
|
## -
|
|
## - Wird query_cache_size auf einen Wert größer Null gesetzt, so ist zu beachten,
|
|
## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine
|
|
## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.)
|
|
## - Wird der Wert zu niedrig angesetzt, wird eine Warnung ausgegeben.
|
|
## -
|
|
## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert.
|
|
## -
|
|
#query_cache_size = 32M
|
|
query_cache_size = 512M
|
|
|
|
## - query cache
|
|
## -------------
|
|
|
|
|
|
## --------------
|
|
## - slow queries
|
|
|
|
## - slow_query_log
|
|
## -
|
|
## - Gibt an, ob das Logging für langsame Abfragen eingeschaltet (1 oder ON)
|
|
## - bzw ausgeschaltet (0 oder OFF) ist.
|
|
## -
|
|
## - Vorgabewert ist 0 oder OFF
|
|
## -
|
|
slow_query_log = 1
|
|
|
|
|
|
|
|
## - long_query_time
|
|
## -
|
|
## - Wenn eine Abfrage länger dauert als durch diese Variable (in Sekunden) angegeben,
|
|
## - erhöht der Server die Statusvariable Slow_queries entsprechend. Wird die Option
|
|
## - --log-slow-queries verwendet, wird die Abfrage in der Logdatei für langsame Abfragen
|
|
## - protokolliert. Dieser Wert wird als Echtzeit (nicht als Prozessorzeit) gemessen, d. h.
|
|
## - eine Abfrage, die bei einem System mit geringer Belastung den Schwellwert
|
|
## - unterschreitet, kann bei einem stark belasteten System bereits darüber liegen.
|
|
## - Der Mindestwert ist 1.
|
|
## -
|
|
## - Vorgabewert ist 10
|
|
## -
|
|
long_query_time = 1
|
|
|
|
|
|
## - slow_query_log_file
|
|
## -
|
|
## - Name der Logdatei, in die langsame Abfragen gespeichert werden.
|
|
## -
|
|
## - Vorgabewert ist <host-name>-slow.log
|
|
## -
|
|
slow_query_log_file = /var/log/mysql/mysql-slow.log
|
|
|
|
|
|
## - log-queries-not-using-indexes
|
|
## -
|
|
## - Gibt an, ob Abfragen, die keine Indizes benutzen in der Logdatei
|
|
## - für langsame Abfragen mitgespeichert werden sollen.
|
|
## -
|
|
## - Vorgabewert ist 0
|
|
## -
|
|
log_queries_not_using_indexes = 1
|
|
|
|
## - slow queries
|
|
## --------------
|
|
|
|
## - join_buffer_size
|
|
## -
|
|
## - Die Größe des Puffers, der für Joins benutzt wird, die keine Indizes verwenden
|
|
## - und deswegen vollständige Tabellenscans durchführen. Normalerweise besteht die
|
|
## - beste Möglichkeit der Realisierung schneller Joins darin, Indizes hinzuzufügen.
|
|
## - Erhöhen Sie den Wert von join_buffer_size, um einen schnelleren vollständigen
|
|
## - Join zu implementieren, wenn das Hinzufügen von Indizes nicht möglich ist. Für
|
|
## - jeden vollständigen Join zwischen zwei Tabellen wird ein Join-Puffer hinzugefügt.
|
|
## - Für einen komplexen Join zwischen mehreren Tabellen, für den Indizes nicht verwendet
|
|
## - werden, sind unter Umständen mehrere Join-Puffer erforderlich.
|
|
## -
|
|
## - Wird die Option --log-slow-queries (ON) verwendet, werden Abfragen, die keine
|
|
## - Indizes verwenden, in das Log für langsame Abfragen geschrieben.
|
|
## -
|
|
## - Vorgabewert ist 128K
|
|
## -
|
|
join_buffer_size = 384K
|
|
|
|
|
|
## - max_heap_table_size
|
|
## -
|
|
## - Diese Variable bestimmt die maximale Größe, auf die MEMORY-Tabellen anwachsen dürfen.
|
|
## - Der Wert der Variable wird zur Berechnung von MAX_ROWS-Werte für MEMORY-Tabellen
|
|
## - verwendet. Die Einstellung der Variable hat keine Auswirkungen auf bereits vorhandene
|
|
## - MEMORY-Tabellen, sofern diese nicht mit einer Anweisung wie CREATE TABLE neu erstellt
|
|
## - oder mit ALTER TABLE oder TRUNCATE TABLE modifiziert werden.
|
|
## -
|
|
## - Vorgabewert ist 16Mbyte
|
|
## -
|
|
max_heap_table_size = 96M
|
|
|
|
|
|
## - tmp_table_size
|
|
## -
|
|
## - Überschreitet eine temporäre Tabelle im Arbeitsspeicher diese Größe, wandelt MySQL
|
|
## - sie automatisch in eine MyISAM-Tabelle auf der Festplatte um.
|
|
## -
|
|
## - Werden viele erweiterte GROUP-BY-Anfragen ausgeführt (und ist genügend Speicher
|
|
## - vorhanden), so sollte diese Variable erhöht werden.
|
|
##
|
|
## - Vorgabewert ist systemabhängig /16 M auf dem ND Server)
|
|
## -
|
|
tmp_table_size = 96M
|
|
|
|
|
|
## - angepasste Einstellungen
|
|
## ------------------------------------------
|
|
|
|
|
|
[mysqldump]
|
|
quick
|
|
max_allowed_packet = 16M
|
|
|
|
[mysql]
|
|
no-auto-rehash
|
|
# Remove the next comment character if you are not familiar with SQL
|
|
#safe-updates
|
|
|
|
[myisamchk]
|
|
key_buffer_size = 256M
|
|
sort_buffer_size = 256M
|
|
read_buffer = 2M
|
|
write_buffer = 2M
|
|
|
|
## ------------------------------------------
|
|
## - angepasste Einstellungen
|
|
|
|
## - ft_min_word_len
|
|
## -
|
|
## - Die minimale Länge des Wortes, das in einem FULLTEXT-Index enthalten sein darf.
|
|
## -
|
|
## - Notice!
|
|
## - if you set
|
|
## - [mysqld]
|
|
## - ft_min_word_len=3
|
|
## -
|
|
## - you should also set
|
|
## - [myisamchk]
|
|
## - ft_min_word_len=3
|
|
## -
|
|
## -
|
|
## - Vorgabewert ist 4
|
|
ft_min_word_len = 3
|
|
|
|
## - angepasste Einstellungen
|
|
## ------------------------------------------
|
|
|
|
|
|
[mysqlhotcopy]
|
|
interactive-timeout
|