beállítás mysql

Az alap konfiguráció MySQL használatával /etc/my.cnf fájl vagy /etc/mysql/my.cnf

Megadása karakterkészletek és egyeztetése

A [mysqld] add sorokat:

karakterkészlet-server = utf8
egybevetés-szerver = utf8_general_ci
init-connect = "SET NAMES utf8"

  • karakterkészlet-szerver - a kódolást az egész szerver;
  • egybevetés-szerver - a sorrendben jelek és a sorok alapján ábécésorrendben ekvivalencia osztályokba;
  • init-csatlakozáshoz - string végre minden ügyfél számára, amely összekapcsolja.

Mennyiségét korlátozzák időtúllépés és források vegyületek

Számának növelése nyitott fájlok

A legtöbb alapértelmezett Linix-rendszer határa nyitott fájlleírók épülete 1024, mert ez nem elég.

Ellenőrizze az aktuális beállításokat:

Végezzük el a kívánt határok /etc/security/limits.conf

Dinamikusan változik a jelenlegi határok:

Fogjuk ellenőrizni a soft limit:

A jelenlegi határértékek MySQL ellenőrizze SQL-lekérdezés:

SHOW VARIABLES LIKE '% open_files%'

Optimalizálása MySQL MyISAM

Optimalizálása MySQL paraméterek jelentősen növeli a teljesítményt a MyISAM.

A főbb paraméterek key_buffer_size (puffer dolgozni kulcsok és indexek) és sort_buffer (puffer válogatás).

key_buffer_size = 64M
sort_buffer_size = 32M

A jelenlétében 16 GB memóriát vagy több ajánlott, hogy növelje key_buffer_size a 128M-256M. Ha nem használja a MyISAM táblák, ajánlott telepíteni key_buffer_size mérete 32MB tárolására indexek ideiglenes táblák.

A lekérdezési gyorsítótár van megadva query_cache_size opciót. korlátozását a tárolt elemet query_cache_limit. cache nyílt táblázatok table_open_cache.

table_open_cache = 2048
query_cache_limit = 2M
query_cache_size = 128M
query_cache_type = 1
thread_cache_size = 16

max_heap_table_size = 128M
tmp_table_size = 128M

Vándorolnak MySQL ideiglenes fájlokat a memóriában

Ellenőrizze a rendelkezésre álló / dev / shm:

Semelyik / dev / shm tmpfs defaults, méret = 1G 0 0

Ha egy változás, akkor újra össze kell szerelni:

mount -o remount / dev / shm

A konfigurációs fájl meghatározza:

Ha használt Apparmor. majd kihasználni path (/ dev / shm vagy / run / mysql) a konfigurációs fájlban /etc/apparmor.d/usr.sbin.mysqld, például:

szolgáltatás apparmor újraindítás

Optimalizálása MySQL InnoDB

innodb_file_per_table = 1
table_open_cache = 4096
innodb_open_files = 4096

Ha csak egy része a InnoDB opciók beállítására lesz szükség:

key_buffer_size = 32M
max_allowed_packet = 1M
sort_buffer_size = 32M
read_buffer_size = 256K
read_rnd_buffer_size = 1M
thread_stack = 128K
query_cache_limit = 1M
query_cache_size = 0
query_cache_type = 1
thread_cache_size = 32
max_heap_table_size = 128M
tmp_table_size = 128M

Felhívjuk figyelmét, hogy ha dolgozik, InnoDB tiltjuk query_cache_size beállítás értéke 0, kiküszöböli a szükségtelen lépéseket dolgozik a cache, ami különösen fontos, ha dolgozik, nagy mennyiségű adat.

Fontos beállítások használata esetén MySQL InnoDB van innodb_buffer_pool_size. Megállapítást nyert az az elv „minél több, annál jobb.” Javasoljuk, hogy kiosztani 70-80% RAM szerver alatt innodb_buffer_pool_size. Ne felejtsd el használni a memória számítás Apache és további szoftverek elkerülése érdekében megrekedt rendszer csere. A szerver van beállítva, hogy 16 GB-os 10-12G tartomány és osszuk négy részre, egy szerver 32GB 20-22G beállítási tartományban, és osszuk 8 részből áll:

innodb_buffer_pool_size = 10G
innodb_buffer_pool_instances = 4

A memória mérete kiosztott tárolására InnoDB különböző belső szerkezeteket telepítve 16M-32M

Telepítése nagy méretű innodb_log_file_size növelheti a teljesítményt, a felfutási idő adat-helyreállítást.

innodb_log_file_size = 128M
innodb_log_buffer_size = 16M

Amikor beállítása 2 a puffer leöblítése a lemezre, de csak a cache az operációs rendszer. Az érték 0 és növelik a teljesítményt, de előfordulhat, hogy elveszíti az adatok, amikor az utolsó vészleállításáról mysql-server.

A több input / output áramfájlokat meghatározott InnoDB innodb_file_io_threads ezt. ez a paraméter beállítása általában 4 vagy 8.

A MySQL 5.5 verziója van osztva 2 lehetőség:

innodb_read_io_threads = 8
innodb_write_io_threads = 8

Ahhoz, hogy gyorsítsák fel a munkát INFORMATION_SCHEMA, SHOW TABLE STATUS vagy SHOW INDEX disable frissítése statisztikák ilyen műveletek végrehajtásához, a MySQL verzió 5.6.6 innodb_stats_on_metadata alapértelmezés szerint letiltva:

Alkalmazása után a módosításokat, indítsa újra a MySQL:

szolgáltatás mysqld újraindítás

Kapcsolódó cikkek