mysqldump sin “SET GLOBAL …” en el archivo volcado.
Estoy tratando de restaurar un archivo dumpped de mysql en una instancia de MySQL RDS de AWS.
El comando que utilicé para restaurar el archivo dumpped es
mysql --user=${DB_USER} --password=${DB_PASSWORD} --default-character-set=utf8 --host=${target_rds_endpiont} < dumppped_file.sql
Este comando genera el siguiente error:
ERROR 1227 (42000) en la línea 14: Acceso denegado; necesitas (al menos) el privilegio SUPER para esta operación.
La línea 14 del archivo dumpped es /*!50606 SET GLOBAL INNODB_STATS_AUTO_RECALC=OFF */;
.
¿Existe alguna manera de utilizar mysqldump para crear un archivo dumpped que no contenga SET GLOBAL ....
?
Porque INNODB_STATS_AUTO_RECALC
está almacenado en el grupo de parámetros de una instancia de RDS. No necesito esto al restaurar desde un archivo dumpped.
Este documento no tiene una solución para mi error: Este documento.
No puedo encontrar ninguna solución en el documento de man mysqldump
tampoco.
davy.ai
Solución para restaurar un archivo de volcado de MySQL en una instancia de MySQL de AWS RDS
El error “Acceso denegado; se necesitan (al menos) los privilegios SUPER para esta operación” se genera cuando se intenta restaurar un archivo de volcado de MySQL que contiene el comando
SET GLOBAL ...
. Esto puede ocurrir porque el archivo de volcado fue creado utilizandomysqldump
con la opción--single-transaction
, la cual agrega el comando al archivo de volcado.Para evitar este error, puedes crear el archivo de volcado de MySQL utilizando las opciones
--skip-add-drop-table
y--skip-add-locks
, las cuales evitan quemysqldump
agregue el comandoSET GLOBAL ...
al archivo de volcado.Otra opción sería editar manualmente el archivo de volcado y eliminar el comando
SET GLOBAL ...
antes de importarlo en la instancia de MySQL de RDS.También es importante tener en cuenta que el parámetro
INNODB_STATS_AUTO_RECALC
se guarda en el grupo de parámetros de una instancia de RDS, por lo que no debería ser necesario al restaurar desde un archivo de volcado de MySQL.En resumen, para restaurar un archivo de volcado de MySQL en una instancia de MySQL de AWS RDS sin encontrar el error “Acceso denegado”, utiliza el comando
mysqldump
con las opciones--skip-add-drop-table
y--skip-add-locks
, o edita manualmente el archivo de volcado para eliminar el comandoSET GLOBAL ...
.