Назад | Перейти на главную страницу

Что лучше всего использовать для дефрагментации таблицы MySQL InnoDB в производственной среде?

Многие мои таблицы Innodb требуют «дефрагментации». Насколько я понимаю, «ОПТИМИЗАЦИЯ» может быть не лучшим способом для этого. Некоторые люди предлагают выполнить «ALTER TABLE», чтобы Mysql перестроил (и, следовательно, дефрагментировал) таблицу.

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

Первое, что я бы сделал, это запустил mysqldump, чтобы убедиться, что у меня есть резервная копия: http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

Возможно, это очевидно, но я бы сделал первый шаг

Чтобы дефрагментация innodb следовать этому. Поскольку вы говорите, что это производственная БД, вы можете сделать это -

  1. Запустите синхронизацию мастер-мастер.
  2. Поместите своего ведущего и ведомого на разные машины, чтобы они работали на разных экземплярах mysql.
  3. Как только синхронизация master-master завершится, запустите процесс дефрагментации на одном из них, другая машина будет обслуживать запросы до тех пор ...
  4. После того, как одно закончится, проделайте то же самое с другим.

Надеюсь это поможет..