Тюнинг БД Mysql — различия между версиями

Материал из Cisco CCNP
Перейти к навигации Перейти к поиску
imported>Artem
imported>Artem
Строка 28: Строка 28:
 
  http://hackmysql.com/mysqlreport
 
  http://hackmysql.com/mysqlreport
 
  И делал тонкую настройку.
 
  И делал тонкую настройку.
 +
 +
Оптимизация всех таблиц
 +
mysqlcheck --optimize -A -u username -p

Версия 15:46, 1 февраля 2013

Для увеличения производительности БД рекомендуется изменить конфигурацию 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
И делал тонкую настройку.

Оптимизация всех таблиц

mysqlcheck --optimize -A -u username -p