Percona Toolkit Vs.Openark Kit.Изменение схемы - PullRequest
2 голосов
/ 08 февраля 2012

Я попытался добавить уникальный индекс к 2 столбцам таблицы БД RDS с помощью pt-online-schema-change , и это не удалось с ошибкой типа:

DBD::mysql::db do failed: Access denied; you need (at least one of) the SUPER privilege(s) for this operation [for Statement "SET SQL_LOG_BIN=0"] at /usr/bin/pt-online-schema-change line 4663.

Но, используя oak-online-alter-table , мой стол меняется. Процедура не завершена, но я не вижу ошибок и вывод выглядит так:

...
-- Copying range (1230004), (1231683), progress: 24%

Реализуют ли эти инструменты разные подходы к изменению таблиц?

1 Ответ

3 голосов
/ 16 февраля 2012

В данном случае не о чем беспокоиться.

Согласно Документации MySQL о привилегии SUPER

Привилегия SUPER включает учетную записьиспользовать CHANGE MASTER TO, KILL или mysqladmin kill для уничтожения потоков, принадлежащих другим учетным записям (вы всегда можете уничтожить свои собственные потоки), PURGE BINARY LOGS, изменения конфигурации, используя SET GLOBAL для изменения глобальных системных переменных, команду отладки mysqladmin, включение или отключениеведение журнала, выполнение обновлений, даже если системная переменная read_only включена, запуск и остановка репликации на подчиненных серверах, указание любой учетной записи в атрибуте DEFINER хранимых программ и представлений, а также возможность подключения (один раз), даже если предел подключения контролируетсядостигнута системная переменная max_connections.

Для создания или изменения хранимых функций, если двоичное ведение журнала включено, вам также может потребоваться привилегия SUPER, как описано в Разделе 18.7, «Двоичное ведение журнала Stored Pro».грамм ».

Отключение двоичной регистрации операторов в сеансе БД требует привилегии SUPER.

Фактически, согласно документации на pt-online-schema-change

- bin-log

Разрешить двоичное ведение журнала (SET SQL_LOG_BIN = 1).По умолчанию двоичное ведение журнала отключено, поскольку в большинстве случаев таблица -tmp не нуждается в репликации.Кроме того, выполнение изменения схемы в сети в среде репликации требует тщательного планирования, иначе репликация может быть нарушена;см. «REPLICATION».

Исходя из этого, вы можете сделать вывод, что это действительно нормальное поведение для pt-online-schema-change.Он попытался отключить двоичное ведение журнала в своем сеансе по умолчанию.

Рекомендация

Попробуйте запустить pt-online-schema-change от имени root @ localhost.Этот пользователь должен активировать все привилегии.

...