MySql Tuning mici și recomandări pentru mysql, efectuați instalarea, configurarea, întreținerea

În 99% din acest lucru este adevărat. Mai este nevoie de a utiliza indici de memorare în cache (key_buffer). Aici este o selecție foarte bună de a lucra cu indecși

Acest tip de tabel este mai puțin predispus la accidente (și are, de asemenea, o mulțime de beneficii) decât MyISAM și este deja implicit tipul de masă în versiunile 5.5 și mai mari. Dacă avem nevoie de o căutare full-text, utilizați sphinks opționale.

3) Utilizați o verificare de tuning script-uri, valori de referință.

O atenție deosebită trebuie acordată la ceea ce este, de fapt valori de referință necesare, fie numai MySQL sau întreaga aplicație.

Unelte Full-stiva de analiză comparativă:

Puteți încerca, de asemenea, să alunge sqlmap bazei de date - tulza pentru a găsi vulnerabilități.

Există 2 mare utilitate pentru acest scop și mtop mytop. Cu ajutorul lor veți putea vedea în timp real, care interoghează sarcina de bază de date.

5) Activați înregistrarea interogări lente:

log_error = / var / log / mysql / error.log
log_slow_queries = / var / log / mysql / slow.log
long_query_time = 5
log-interogări-nu-folosind indexurile

și urmăriți jurnalul periodic.

6) Un compus al soclului.

Folosit în cazul în care este posibil să se conecteze pe un soclu în loc de IP: Port

Folosit pentru omitere-name-rezolva rezolving off. În acest fel puteți câștiga până la 20% de performanță.

Dar fii atent: dacă activați această opțiune, de asemenea, nu este localhost a fost rezolvată, așa că, dacă ați configurat site-ul și în drepturile de utilizare localhost - schimba-l la 127.0.0.1. În special, se observă pe Debian Lenny

8) Transformarea cache.

Într-adevăr, aceasta permite mai multor baze de date pentru a accelera munca. Permite cache:

Ce ați alege setările corecte query_cache_size, query_cache_limit. precum și alți parametri, utilizați testul de utilitate de tuning cache-ul de punctele 3 și 4.

Dacă selectați interogări sunt de 90% sau mai mult din toate cererile are sens pentru a adăuga o opțiune de actualizare cu prioritate scăzută. care ridică selectați interogările prioritare.

10) Dezactivează tipuri de stocare neutilizate

Dacă nu folosiți, de exemplu, InnoDB sau DBD. Apoi, le puteți dezactiva. Acesta va salva, de asemenea, câteva resurse:

Dacă ați colectat mysql. de exemplu, fără bdb de stocare. veți primi un mesaj atunci când utilizați opțiunile-Omite BDB:

[EROARE] / usr / local / libexec / mysqld: opțiunea necunoscută '--skip-BDB'

Prin urmare, este mai întâi mai bine pentru a vedea o listă de stocare disponibile.

PS. Vezi toate tipurile disponibile de stocare poți:

mysql> motoare spectacol;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Motor | Suport | Comentariu | tranzacţii | XA | savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | DEFAULT | Suporta tranzacții, blocare la nivel de rând, și chei străine | DA | DA | DA |
| MRG_MYISAM | DA | Colectia de tabele MyISAM identice | NU | NU | NU |
| Blackhole | DA | / Dev / motor de stocare nulă (tot ce scrie dispare) | NU | NU | NU |
| CSV | DA | motor de stocare CSV | NU | NU | NU |
| MEMORY | DA | Hash pe bază, stocate în memorie, util pentru tabele temporare | NU | NU | NU |
| FEDERAȚIA | NU | Federate MySQL motor de stocare | NULL | NULL | NULL |
| ARHIVA | DA | motor de stocare Arhiva | NU | NU | NU |
| MyISAM | DA | Motor implicit ca MySQL 3.23 cu o mare performanta | NU | NU | NU |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rânduri în set (0.00 sec)

11) Numărul de fluxuri

Încercați numărul de procesoare * 2 pentru thread_concurrency
thread_cache_size = 8

12) Sfaturi de optimizare de la Oracle

13) Porniți Auto Recover la MyISAM

14) stochează fiecare tabel într-un fișier separat (InnoDB)

Dacă dimensiunea fișierului cu ibdata1 de bază prea mare, puteți activa o opțiune

dar această schimbare va afecta doar tabele noi.

15) Utilizarea unui dop în loc de construit InnoDB InnoDB.

16) Utilizați șabloane meu * .cnf

În mod implicit, atunci când instalați MySQL instalat, fișiere de configurare pentru situații diferite. În FreeBSD, ei se află aici / usr / share / doc / mysql /:

  • mi-small.cnf - pentru sisteme cu o capacitate de memorie mică (<=64Mb), в которых MySQL используется редко.
  • mi-medium.cnf - dacă există suficientă memorie (32-64Mb) MySQL sau folosite în combinație cu alte aplicații (de exemplu Apache) și memorie despre 128Mb.
  • mi-large.cnf. mi-huge.cnf - pentru sisteme cu un volum mare de memorie (512Mb, 1-2Gb), în cazul în care MySQL joacă un rol major.
  • mi-InnoDB-heavy-4G.cnf - memorie de 4 GB, InnoDB, MySQL joacă un rol major.

După instalare (sau deja atunci) efectuează script mysql_secure_installation. Adevărul este că nu există în FreeBSD. Dar poți manual. Aici este o listă de comenzi:

UPDATE mysql.user SET Parola = PASSWORD ( 'NEWROOTPASSWORD'), unde user = 'root';
DELETE FROM mysql.user WHERE utilizator = '';
! DELETE FROM mysql.user unde utilizatorul = 'root' și gazdă, = 'localhost';
testare BAZA DE DATE DROP;
DELETE FROM mysql.db WHERE Db = 'test' OR Db = 'test \\ _%';
PRIVILEGII Flush;

18) tabele de compresie

În InnoDB are un format de date numit Baracuda. Deci, suportă compresie. Acest lucru reduce sarcina pe IO (stick-uri), prin utilizarea de compresie. La fel cum o recomandare poate utiliza o dimensiune bloc de 16K intrări. Iată un exemplu alter'a:

SET innodb_file_format GLOBAL = BARRACUDA;
ALTER TABLE `t1` DE MOTOR = InnoDB ROW_FORMAT = COMPRIMAT KEY_BLOCK_SIZE = 16;

Acest set de instrumente din categoria trebuie să aibă. Îl puteți descărca de aici. O descriere foarte bună a instrumentului poate fi găsit aici

20) Scale.

Puteți utiliza, de asemenea, o masă federalizată sau partitsirovanie.