ОШИБКА 3098 (HY000): таблица не соответствует требованиям внешнего плагина - PullRequest
0 голосов
/ 12 ноября 2018

НАСТРОЙКА:

  • Три узла репликации группы mysql в главном мастере.
  • Все работает нормально.Я могу добавлять пользователей / базы данных и вставлять / обновлять данные.
  • Каждый узел привязан к частному IP-адресу.
  • Я создал скрипт bash для подключения к mysql для удаления пользователей.
  • Удаление базы данных с помощью скрипта работает нормально.

ПРОБЛЕМА:

Следующие команды НЕ будут выполняться.Я могу создавать пользователей и базы данных и удалять базы данных, но не могу удалить пользователей.Я не могу сказать, если это проблема репликации ИЛИ проблема с привилегиями.

  • УДАЛИТЬ ИЗ mysql.user ГДЕ пользователь = 'testme123';
  • УДАЛИТЬ ИЗ mysql.db ГДЕ пользователь = 'testme123';
  • УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ, ЕСЛИ ЕСТЬ' testme123 ';

ОШИБКА 3098 (HY000) в строке 1: таблица не соответствует требованиям внешнего плагина.

LOG: [ERROR] Плагин group_replication сообщил: «Пользователь таблицы не использует механизм хранения InnoDB.Это несовместимо с групповой репликацией.

Я получаю ту же ошибку через локальную консоль mysql, слишком вошедшую в систему как root.

ВОПРОС (S):

  • Что могло бы помешать этому?
  • Как мне устранить неполадки, что мне не хватает?

1 Ответ

0 голосов
/ 11 декабря 2018

Если вы используете групповую репликацию (в 5.7 или 8.0), вы должны выполнять всю аутентификацию пользователя с помощью команд GRANT / DROP / CREATE USER / etc, а не INSERT / UPDATE / DELETE / etc.

MyISAM не реплицируется в групповой репликации из-за серьезных технических трудностей.

(Вышеприведенные комментарии также применимы к Galera / PXC.)

(Предостережение: то, что я сказал, может быть не совсем правдой, но я думаю, что это избавит вас от неприятностей и решит вопрос под рукой.)

...