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

Материал из Cisco CCNP
Перейти к навигации Перейти к поиску
imported>Artem
(Новая страница: «Для увеличения производительности БД рекомендуется изменить конфигурацию my.cnf, добавив ...»)
 
imported>Artem
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
Для увеличения производительности БД рекомендуется изменить конфигурацию my.cnf, добавив
 
Для увеличения производительности БД рекомендуется изменить конфигурацию 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)
  
−
innodb_buffer_pool_size = 3G (16M)
+
пример 2
−
innodb_log_file_size = 64M (5M)
+
Опция /etc/my.cnf
−
innodb_flush_method=O_DIRECT
+
innodb_file_per_table
−
innodb_flush_log_at_trx_commit=2 (1)
+
default_table_type = INNODB
−
tmp_table_size=256M (32M)
+
Каждая таблица в отдельном файле. (работает при создании новой таблицы)
−
max_heap_table_size=256M (16M)
+
Способы перевода таблиц в отдельный файл
−
table_cache=256 (64)
+
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
 +
 
 +
Апгрейд
 +
https://www.zabbix.com/forum/showthread.php?t=26321

Текущая версия на 18:17, 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

Апгрейд

https://www.zabbix.com/forum/showthread.php?t=26321