Philip Wiki

Персональный wiki-сайт

Инструменты пользователя

Инструменты сайта


docs:zabbix:mysql

Использование базы MySQL

Дефрагментация базы

Так как движок подвержен фрагментации, иногда приходится базу дефрагментировать. Самый простой способ это сделать – задампить базу, удалить её и заново импортировать на сервер.

Инструкция в разработке

Останавливаем службы

service zabbix-agentd stop
service zabbix-server stop

Т.к. на сервере Zabbix место приходится экономить, монтирую samba-шару для выгрузки дампа в неё

mount -t cifs -o username=user,password=user_password,iocharset=utf8,file_mode=0777,dir_mode=0777 //samba_server/bkp /mnt/net

где

user и user_password -- логин и пароль пользователя на самба ресурсе
//samba_server/bkp -- "шара" для хранения
/mnt/net -- точка монтирования

Создаём дамп базы

mysqldump -u root -p zabbix > /mnt/net/zabbix.%Y%m%d.%H%M%S.sql

После удаляем базу

mysql -u root -p
mysql> DROP DATABASE zabbix;
mysql> CREATE DATABASE zabbix CHARACTER SET utf8;
mysql> GRANT usage ON *.* TO zabbix@localhost IDENTIFIED BY 'password';
mysql> GRANT ALL privileges ON zabbix.* TO zabbix@localhost;
mysql> FLUSH privileges;
mysql> quit;

Запускаем импорт базы обратно

mysql -u root -p zabbix < /mnt/net/zabbix.20140426.122043.sql

Стартуем сервисы

service zabbix-agentd start
service zabbix-server start

При изначальном размере базы в ~70Gb экспорт занял порядка 30 минут, импорт же более 2х суток. Размер базы после дефрагментации уменьшился примерно на 10Gb.

Только авторизованные участники могут оставлять комментарии.
docs/zabbix/mysql.txt · Последнее изменение: 31.05.2014 13:48 — philip

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki