Ограничения кластеров MySQL

Данные ограничения распространяются на кластеры MySQL, состоящие из двух и более виртуальных машин:

  • репликация работает только с механизмом хранения данных InnoDB (MyISAM не поддерживается);
  • команда ALTER TABLE не реплицируется, что может привести к неконсистентности данных на нодах кластера;
  • не поддерживаются запросы LOCK/UNLOCK, GET_LOCK()/RELEASE_LOCK();
  • журнал запросов нельзя направлять в таблицу. Если вы хотите логировать запросы к базе, журнал необходимо направлять в файл: log_output = ФАЙЛ;
  • все таблицы должны иметь первичный ключ, в противном случае невозможно будет совершить запись (INSERT);
  • минимальный рекомендуемый размер кластера — 3 ноды;
  • XA транзакции не поддерживаются из-за возможного rollback-а на этапе COMMIT;
  • транзакция может откатиться даже после COMMIT — из двух транзакций, изменяющих одну и ту же запись на разных нодах, только одна будет успешно завершена, а другая будет прервана на уровне кластера;
  • при назначении имени временных таблиц не используйте имена, совпадающие с именами постоянных таблиц, при подобном совпадении репликация постоянной таблицы остановится.

Подробнее об ограничениях читайте в официальной документации Percona XtraDB Cluster.