mysql - usted - privilegios super phpmyadmin
Acceso denegado; necesita(al menos uno de) el(los) privilegio(s) SUPER para esta operaciĆ³n (1)
Quite la declaración DEFINER=..
de su archivo sqldump, o reemplace los valores de usuario con CURRENT_USER
.
El servidor MySQL proporcionado por RDS no permite una sintaxis DEFINER
para otro usuario (en mi experiencia).
Puedes usar un script sed
para eliminarlos del archivo:
sed ''s//sDEFINER=`[^`]*`@`[^`]*`//g'' -i oldfile.sql
Así que trato de importar un archivo sql a rds (1G MEM, 1 CPU). El archivo sql es como 1.4G
mysql -h xxxx.rds.amazonaws.com -u usuario -ppass --max-allowed-packet = 33554432 db <db.sql
Se atascó en:
ERROR 1227 (42000) at line 374: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
El contenido real de SQL es:
/*!50003 CREATE*/ /*!50017 DEFINER=`another_user`@`1.2.3.4`*/ /*!50003 TRIGGER `change_log_BINS` BEFORE INSERT ON `change_log` FOR EACH ROW
IF (NEW.created_at IS NULL OR NEW.created_at = ''00-00-00 00:00:00'' OR NEW.created_at = '''') THEN
SET NEW.created_at = NOW();
END IF */;;
another_user
no existe en rds, entonces yo:
GRANT ALL PRIVILEGES ON db.* TO another_user@''localhost'';
Todavía no hay suerte.