Remove DEFINER from MySQL Dumps

Якщо при імпорті бази даних ви зіткнулися з помилкою

ERROR 1227 (42000) at line xxx: Access denied; you need (at least one of) the SUPER privilege(s) for this operation

і в той же час в стрічці ххх дампу ви можете бачити ось такий код

/*!50017 DEFINER=`someuser`@`localhost`*/ 

Вам потрібно видалити DEFINER. Найлегше це зробити двома способами.

1) Зробити новий дамп бази даних з параметром --skip-definer і імпортувати його. Приклад:

mysqldump --skip-definer ...

2) Видалити DEFINER з поточного дампу. Для цього виконайте команду:

sed -i 's/DEFINER=[^*]*\*/\*/g' mydump.sql

Remove DEFINER clause from MySQL Dumps