Я пытался переместить существующую базу данных из MySQL, работающую на EC2, в новый экземпляр Amazon RDS (эксперимент, чтобы увидеть, сможем ли мы перейти). Пока что все идет не очень хорошо. Я застрял при первоначальном импорте до настройки репликации (инструкции здесь ).
Я подготовил экземпляр RDS, как описано, и могу подключиться к нему из экземпляра EC2 с помощью mysql. Я выполнил команду mysqldump как:
mysqldump --master-data --databases db1 db2 > dump.sql
Затем попытался загрузить его в RDS с помощью:
mysql -h RDSHost -P 3306 -u rdsuser --password=rdspassword < dump.sql
Первая проблема была в строке 22 дампа:
ИЗМЕНИТЬ MASTER TO MASTER_LOG_FILE = 'mysql-bin.000002', MASTER_LOG_POS = 106;
Эта строка вызвала ошибку ERROR 1227 (42000) at line 22: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
. Нет проблем, просто закомментировал эту строку и надеюсь исправить это позже через mysql.rds_set_external_master (). Повторена загрузка, и получил очень похожую ошибку: ERROR 1227 (42000) at line 7844: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
. Раздел вокруг линии 7844 выглядит следующим образом:
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`dev`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `jos_contributor_ids_view` AS select `jos_resource_contributors_view`.`uidNumber` AS `uidNumber` from `jos_resource_contributors_view` union select `jos_wiki_contributors_view`.`uidNumber` AS `uidNumber` from `jos_wiki_contributors_view` */;
Комментируя первые 2 строки и добавляя «CREATE» к третьей, я смог обойти эту. Но есть тонны разделов , как это. Есть ли способ обойти это без всего редактирования? Как вариант, чтобы mysqldump
не производить ничего, что требует привилегий SUPER?
Похоже, что у многих людей были похожие проблемы, например, из-за необходимости запуска sed
вывода mysqldump / mysqlbinlog! Я также собираюсь публиковать сообщения на форуме AWS - на самом деле, я думаю, что RDS должен иметь более терпимый способ импорта из mysqldump или специальный инструмент, который можно запустить на существующей базе данных для создания дампа, который является жалобой на безопасность RDS. Интересно, есть ли у кого-нибудь другие рецепты или хитрости, которые могли бы здесь помочь?
Благодарность,
Дейв
--masterdata=2
. Затем строка будет закомментирована в дампе.
log_bin_trust_function_creators
параметр на 1, но все равно получаю ту же ошибку в строке 7844.