Solución de problemas de errores de importación de bases de datos

Si se encuentra en una situación que requiere cambios en su sitio y su desarrollador no está disponible para ayudarlo, el equipo de soporte técnico de DreamHost puede ayudarlo por una pequeña tarifa. Puede encontrar más información sobre los servicios admitidos y los costos asociados en el artículo de Servicios Profesionales de DreamHost.

ERROR 1044

La mayoría de los archivos SQL contienen una BASE DE DATOS CREATE y una instrucción USE, que se crean al exportar el contenido de una base de datos existente. Estas declaraciones están destinadas a automatizar completamente el proceso de migración de la base de datos a una nueva instalación.

Si intentas importar tus datos a una nueva base de datos en DreamHost con dicho archivo, fallará ya que no tiene los permisos CREATE DATABASE desde la línea de comandos (o en cualquier otro lugar, excepto el Panel de control).

Cuando uses el comando de importación como se describe en la sección anterior, verás el siguiente mensaje de error:

ERROR 1044 (42000): Access denied for user 'your_user_name'@'yourhost/hostmask' to database 'newdbname'

Este mensaje de error indica que no tienes permisos suficientes para crear la nueva base de datos, que es causada por la instrucción CREATE DATABASE en el archivo SQL que se importa. Este no es un problema importante ya que ya ha creado la base de datos. Debido a esto, la declaración CREATE DATABASE que está en su archivo SQL exportado ni siquiera es necesaria.

La solución

Para resolver este inconveniente:

  1. Abre el archivo SQL en un editor de texto (no en un procesador de textos, como MS-Word).
  2. Elimina las líneas que comienzan con CREATE DATABASE y USE. Por ejemplo:
    CREATE DATABASE `newdbname` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_c$ USE `newdbname`;
    y
    USE `newdbname`;
    • El texto exacto de la instrucción CREATE DATABASE difiere según el nombre de la base de datos y el juego de caracteres utilizado.
    • Asegúrate de eliminar todo desde el comienzo de la línea hasta el punto y coma, al final de la línea.
  3. Una vez que hayas eliminado estas declaraciones, guarda tu archivo SQL editado y luego repite el comando de importación como se indica en la sección anterior.

Si has hecho todo lo demás correctamente, la importación debe continuar sin más problemas.

ERROR 1227

Si restauras una copia de seguridad de MySQL en una base de datos con otro usuario y tiene alguna vista en su base de datos, obtendrás un error similar a este:

ERROR 1227 (42000) at line 694: Access denied; you need the SUPER privilege for this operation.

Deberás eliminar el DEFINER mencionado en el archivo .sql en la línea especificada en el error.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?