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. Найлегше це зробити двома способами.

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

mysqldump --skip-definer ...

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

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

Remove DEFINER clause from MySQL Dumps