#Nur der [mysqld]-Teil wird hier erwähnt
Datadir = /data/mysql //mysql-Datenverzeichnis
Skip-Locking //Reduzieren Sie die Fehlerwahrscheinlichkeit
Key_buffer = 384M //Indexpuffer Größe, ich werde später im Detail erklären, wie man sie festlegt
Max_allowed_packet = 1M //Der maximale Wert einer Nachrichtenübertragung bei der Netzwerkübertragung
Table_cache = 512 //Tabellenpuffergröße
Sort_buffer_size = 2M //Wann Die Abfragesortierung und die Puffergröße werden später ausführlich besprochen
Read_buffer_size=2M//Die Puffergröße, die von Abfragevorgängen verwendet werden kann
Read_rnd_buffer_size = 8M //Die Speichergröße, die von zufälligen Abfragevorgängen verwendet werden kann
Myisam_sort_buffer_size=64M //MyISAM-Tabellenpufferung erforderlich für Neuordnung bei Änderungen
Thread_cache_size = 8M //Legen Sie die maximale Anzahl von Verbindungsthreads fest, die im Tread-Cache-Pool zwischengespeichert werden können, mit einem Wert von 64 oder höher für Speicher 4G oder mehr
Query_cache_size = 32M //Abfragepufferbereichsgröße
Thread_concurrency = 8 //Auf die Anzahl der logischen Server*2 eingestellt
Thread_stack = 256K //Die Stapelgröße jedes Threads in MYSQL. Der Standardwert ist groß genug, wenn ERROR:1436 Thread-Stack-Überlauf auftritt. Dieser Wert kann erhöht werden.
Skip-name-resolve //Es ist am besten, ihn hinzuzufügen, um die DNS-Auflösung des verbundenen Computers zu entfernen Das Auftreten von ERROR:2013 wird dadurch verursacht
Log-bin=mysql-bin //Öffne das Binärprotokoll
Log-slow-queries = /usr/local/mysql/var/slowquery.log //Öffne das Langsames Abfrageprotokoll, um festzustellen, bei welchen Abfragen eine Zeitüberschreitung aufgetreten ist und welche Abfragen keinen Index haben. Die standardmäßige langsame Abfragezeit beträgt 5 Sekunden und Abfragen, die länger als 5 Sekunden dauern, werden aufgezeichnet. Sie können set long_query_time = 2 verwenden, um die langsame Abfragezeit festzulegen, und Sie können auch mysqldumpslow verwenden, um das langsame Abfrageprotokoll zu analysieren. Um beispielsweise die 20 am häufigsten aufgerufenen Anweisungen zu analysieren, verwenden Sie mysqldumpslow –s c –t 20 /usr/local/mysql /var /slowquery.log
# Ändern Sie den Wert jedes Parameters, indem Sie den MYSQL-Status überprüfen
#Um den MYSQL-Status zu überprüfen, verwenden Sie im Allgemeinen hauptsächlich den Befehl show Überprüfen Sie den Systemstatus und die Variablen. Parameterwert
Zum Beispiel: Überprüfen Sie, wie viele langsame Abfrageprotokolle im aktuellen System vorhanden sind.
Zeigen Sie den globalen Status wie „%slow%“ an. // Sie können die Anzahl langsamer Abfragen ermitteln. slow_queries
Überprüfen Sie die aktuellen Einstellungen für langsame Abfragen
Variablen wie „%slow%“ anzeigen; //Sie können slow_launch_time erhalten
#Wert von max_connections festlegen und anzeigen
Variablen wie „max_connections“ anzeigen;
Globalen Status wie „max_used_connections“ anzeigen;
Wenn max_used_connections nahe am max_connections-Wert liegt, müssen Sie den max_connections-Wert erhöhen. Setze max_connections = 256 (Ungültig nach Neustart, am besten in my.cnf schreiben)
#Setze den Wert von key_buffer_size
Zeige globalen Status wie „key_read%“ //Ansicht Die Verwendung von key_buffer_size Situation
Berechnungsformel: Key_reads/ Key_read_requests < 0,1 % ist am besten, aber wenn Key_reads/ Key_read_requests <
#Prozessnutzung anzeigen
Globalen Status wie „Thread%“ anzeigen;
Wenn Threads_created zu groß ist, bedeutet dies, dass der MYSQL-Server Threads erstellt hat und dies auch der Fall ist Der Wert von thread_cache_size kann zu diesem Zeitpunkt angepasst werden.
#Query-Cache-Einstellungen (qurey_cache_size) anzeigen
Globalen Status wie „qcache%“ anzeigen;
Variablen wie „query_cache%“ anzeigen //Query_cache-Konfiguration anzeigen
Hier gibt es drei Indikatoren für die Abfrage:
Abfrage-Cache-Fragmentierungsrate = Qcache_free_blocks/Qcache_total_blocks Wenn sie 20 % überschreitet, können Sie den Cache mit dem Flush-Abfrage-Cache defragmentieren.
Query-Cache-Auslastung = (query_cache_size-Qcache_free_memory)/query_cache_size Wenn sie unter 25 % liegt, bedeutet dies, dass die Einstellung für query_cache_size zu groß ist. Wenn es über 80 % liegt und Qcache_lowmem_prunes > 50, bedeutet dies, dass query_cache_size etwas klein ist.
Abfrage-Cache-Trefferrate = (Qcache_hits-Qcache_inserts)/Qcache_hits, dies dient nur als Referenz. Wenn es zu klein ist, bedeutet dies, dass häufig gelesen und geschrieben wird und Fragmente vorhanden sind.
#Anzahl der geöffneten Dateien anzeigen
Globalen Status wie „open_files“ anzeigen;
Variablen wie „open_files_limit“ anzeigen;
Im Allgemeinen offene Dateien Anzahl/Begrenzung der Anzahl geöffneter Dateien sollte
Zusammenfassend sollten wir normalerweise auf die folgenden Parameter achten:
max_connections = 256 // Je nach tatsächlichem Status anpassen
Thread_cache_size = 64M //Wenn der Speicher größer als 4G ist, konfigurieren Sie 64 oder mehr
Query_cache_size = 64M
Tmp_table_size = 256M //Maximaler Wert der temporären Speichertabelle
Table_cache = 614 //Der Zugriff auf den von der Tabelle zugewiesenen Speicher kann die E/A reduzieren
Skip-name-resolve //Hinzugefügt, um Zugriffszeitüberschreitungen und andere Probleme zu vermeiden
Das Obige ist die MYSQL-Lernzusammenfassung (6): my.cnf-Parameterkonfiguration und -optimierung entsprechend dem Status. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!