При импорте базы данных иногда возникает ошибка:
CREATE ALGORITHM = UNDEFINED DEFINER = `username`@`localhost` SQL SECURITY DEFINER VIEW ......; Ответ MySQL: Документация #1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
Она говорит о том что при создании нового представления не хватило прав доступа.
Это может быть связано с тем что у пользователя, который был указан в запросе (в нашем случае `username`@`localhost`) нет нужных прав для создания этого представления.
Но чаще всего причина в другом — перед импортом базы в импортируемом дампе не был указан правильный пользователь.
Как исправить ошибку?
Просто откройте импортируемый sql-файл и во всех запросах начинающихся с CREATE ALGORITHM замените DEFINER = `имя_старого_пользователя`@`localhost` на
DEFINER = `username`@`localhost`
где вместо username нужно указать имя пользователя имеющего доступ к новой базе данных, в которую выполняется импорт.
Если это не помогло — проверьте, имеет ли пользователь указанный в запросе права на создание представлений?
Спасибо за помощь. Долго не мог найти ответ.
Всегда пожалуйста!