LINUX.ORG.RU

Каким образом можно дефрагментировать таблицы InnoDB СУБД MySQL?


0

2

Здравствуйте, господа. На домашнем PC-роутере (с Debian на борту) установлена MySQL v5.5.39 (MariaDB). Имеются следующие БД:

forum_phpbb3
information_schema
mysql
performance_schema
phpmyadmin

По умолчанию, сервер MySQL сконфигурирован на работу с таблицами InnoDB. В конфиге также прописал параметр innodb_file_per_table. БД forum_phpbb3 состоит полностью из таблиц InnoDB.

С помощью скрипта mysqltuner.pl оценил состояние системы - появилось сообщение о том, что имеется 83 фрагментированных таблиц. Причём 83 таблицы - InnoDB.

Мои дальнейшие действия:

1. Сделал бэкап БД forum_phpbb3:

mysqldump -u root -p forum_phpbb3 > /tmp/forum_phpbb3.sql

2. Удалил БД forum_phpbb3:

mysqladmin -u root -p drop forum_phpbb3

3. Создал пустую БД forum_phpbb3:

mysqladmin -u root -p create forum_phpbb3

4. Восстановил таблицы в пустую БД forum_phpbb3 из бэкапа:

mysql -u root -p forum_phpbb3 < /tmp/forum_phpbb3.sql

Количество фрагментированных таблиц, полученных с помощью скрипта mysqltuner.pl, сократилось до 20.

Те же 4 действия провёл с БД phpmyadmin - количество фрагментированных таблиц сократилось до 3.

Подскажите, пожалуйста, где (и как) найти и дефрагментировать оставшиеся 3 таблицы?

P.S. В администрировании MySQL, можно сказать, новичок. Так что сильно не ругайтесь.

С уважением, Геннадий.


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.