|
Systemvariablen mit
der Anweisung SET aktivieren:
Hinweis: Verschiedene
Systemvariablen lassen sich mit der Anweisung SET
aktivieren, indem sie auf ON bzw. 1 gesetzt werden. Ähnlich
können Sie sie mit SET deaktivieren, indem Sie sie auf OFF
bzw. 0 setzen. Um solche Variablen über die Befehlszeile
oder in Optionsdateien einstellen zu können, müssen Sie sie
auf 1 oder 0 setzen (d. h. die Einstellungen ON und OFF
funktionieren nicht). So führt beispielsweise auf der
Befehlszeile die Option --delay_key_write=1 zum gewünschten
Ergebnis anders als --delay_key_write=ON.
Änderungen Dauerhaft übernehmen:
Alle Änderungen sind nur für die Laufzeit des MySQL-Deamons gültig. Nach einem Restart stehen alle Werte wieder auf "Default".
Um eine dauerhafte Änderung der Konfiguration zu erreichen, dient die Datei /etc/my.cnf
,
die der Server bei jedem Start liest
Meine /etc/my.cnf
schaut jetzt so aus:
www:/etc # cat my.cnf
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
# von jsch
default-character-set = utf8
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
# von jsch
collation_server=utf8_unicode_ci
character_set_server=utf8
#
skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
# von jsch
query_cache_size= 0M
# von jsch -so werden Anfragen nicht im query_cache
gespeichert
# 0 = aus
# 1 = ein
# 2 = auf anfrage
query_cache_type = 0
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
Alle MySQL- Variablen anzeigen:
mysql> SHOW VARIABLES;
+---------------------------------+------------------------------------------+
| Variable_name | Value |
+---------------------------------+------------------------------------------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| automatic_sp_privileges | ON |
| back_log | 50 |
| basedir | / |
.......
+---------------------------------+------------------------------------------+
220 rows in set (0.04 sec)
QUERY CACHE Variablen anzeigen:
mysql> SHOW STATUS LIKE 'Qcache%';
+-------------------------+----------+
| Variable_name | Value |
+-------------------------+----------+
| Qcache_free_blocks | 7 |
| Qcache_free_memory | 15904304 |
| Qcache_hits | 1036 |
| Qcache_inserts | 757 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 20 |
| Qcache_queries_in_cache | 125 |
| Qcache_total_blocks | 271 |
+-------------------------+----------+
8 rows in set (0.08 sec)
Größe des QUERY CACHEs ändern:
Die Größe des Abfrage-Caches stellen Sie mit der
Systemvariable query_cache_size ein. Die Einstellung 0
deaktiviert den Abfrage-Cache. Standardwert ist 0, d. h. der
Abfrage-Cache ist vorgabeseitig deaktiviert.
Wenn Sie query_cache_size auf einen Wert ungleich Null
setzen, beachten Sie, 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.)
SET GLOBAL
query_cache_size = 0;
Minimumwert ist:
SET GLOBAL query_cache_size = 41984;
QUERY CACHE size anzeigen:
mysql> SHOW VARIABLES LIKE 'query_cache_size';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| query_cache_size | 0 |
+------------------+-------+
1 row in set (0.00 sec)
QUERY CACHE defragmentieren:
Um den Abfrage-Cache zu defragmentieren und den vorhandenen
Speicher so besser zu nutzen, setzen Sie die Anweisung FLUSH
QUERY CACHE ab. Diese Anweisung entfernt keine Abfragen aus
dem Cache.
mysql> RESET QUERY CACHE;
QUERY CACHE löschen:
Die Anweisung RESET QUERY CACHE entfernt alle
Abfrageergebnisse aus dem Abfrage-Cache. Auch die Anweisung
FLUSH TABLES tut dies.
mysql> FLUSH QUERY CACHE;
Das Speichern von Abfragen im Query Cache verhindern:
Ist die Größe des
Abfrage-Caches größer als 0, dann beeinflusst die Variable
query_cache_type die Wirkungsweise. Die Variable kann auf
die folgenden Werte gesetzt werden:
Der Wert 0 oder OFF verhindert das Speichern von Abfragen im
und das Abrufen aus dem Cache.
Der Wert 1 oder ON gestattet das Speichern von Abfragen im
Cache. Ausgenommen sind Anweisungen, die mit SELECT SQL_NO_CACHE beginnen.
Der Wert 2 oder DEMAND speichert nur diejenigen Anweisungen
im Cache, die mit SELECT SQL_CACHE beginnen.
Die Einstellung des GLOBAL-Wertes query_cache_type bestimmt
das Verhalten des Abfrage-Caches für alle Clients, die nach
Durchführung der Änderung eine Verbindung herstellen.
Einzelne Clients können das Verhalten des Caches bezüglich
ihrer eigenen Verbindung steuern, indem Sie den SESSION-Wert
query_cache_type einstellen. So kann ein Client
beispielsweise die Verwendung des Abfrage-Caches für eigene
Abfragen wie folgt deaktivieren:
mysql> SET SESSION query_cache_type = 0;
Mein Server
akzeptiert nur die Zahlen (0, 1, 2) nicht die Buchstaben
(ON, OFF, DEMAND)
----------------------------
http://dev.mysql.com/doc/refman/5.1/de/query-cache-configuration.html
Eine spezielle Variable anzeigen:
mysql> SHOW VARIABLES LIKE 'have_query_cache';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| have_query_cache | YES |
+------------------+-------+
1 row in set (0.00 sec)
|