Тюнинг БД Mysql

Материал из Cisco CCNP
Версия от 15:23, 1 февраля 2013; imported>Artem
Перейти к навигации Перейти к поиску

Для увеличения производительности БД рекомендуется изменить конфигурацию my.cnf, добавив

innodb_buffer_pool_size = 3G (16M)
innodb_log_file_size = 64M (5M)
innodb_flush_method=O_DIRECT
innodb_flush_log_at_trx_commit=2 (1)
tmp_table_size=256M (32M)
max_heap_table_size=256M (16M)
table_cache=256 (64)

пример 2

Опция /etc/my.cnf
innodb_file_per_table
default_table_type = INNODB
Каждая таблица в отдельном файле. (работает при создании новой таблицы)
Способы перевода таблиц в отдельный файл
1) Перенос данных
CREATE TABLE new_table LIKE old_table; INSERT INTO new_table SELECT * FROM old_table; DROP TABLE old_table; RENAME TABLE new_table to old_table;
2) Через dump файл
Сделать полный dump
mysqldump -u root -ppassword zabbix 
mysql> drop database zabbix;
cat dump.sql | mysql -u root -ppassword zabbix  

Далее использовал скрипты
Скрипт для оптимизации параметров MySQL
http://www.day32.com/MySQL/tuning-primer.sh 
http://wiki.mysqltuner.com/MySQLTuner/mysqltuner.pl
http://hackmysql.com/mysqlreport
И делал тонкую настройку.