Si te encuentras en una situación que requiere cambios en tu sitio y tu desarrollador no está disponible para ayudarte, el equipo de soporte técnico de DreamHost puede ayudarte por una pequeña tarifa. Puedes encontrar más información sobre los servicios admitidos y los costos asociados en el artículo de Servicios Profesionales de DreamHost.
ERROR 1044
Las bases de datos MySQL se pueden exportar en un solo archivo el cual se puede usar para migrar la base de datos a otra compañía de alojamiento luego.
A menudo, este archivo de MySQL contiene una declaración CREATE DATABASE y una USE. Estas declaraciones están destinadas a automatizar el proceso de migración de la base de datos a una nueva ubicación, sin embargo, intentar importar tu base de datos a DreamHost con dicho archivo fallará ya que no tiene los permisos CREATE DATABASE.
Cuando importas una base de datos con estas declaraciones a través de SSH o phpMyAdmin, verás el siguiente 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 declaración CREATE DATABASE en el archivo MySQL que está siendo importado.
La única manera de crear una base de datos en DreamHost es en el panel. Debido a esto, la declaración CREATE DATABASE que está en tu archivo MySQL exportado ni siquiera es necesaria.
La solución
Para resolver este inconveniente:
- Abre el archivo MySQL en un editor de texto (no en un procesador de textos, como MS-Word).
- 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.
- Una vez que hayas eliminado estas declaraciones, guarda tu archivo MySQL editado y luego intenta importar de nuevo.
ERROR 1227
Si restauras una copia de seguridad de MySQL en una base de datos con otro usuario y tienes algunas 'vistas' en tu base de datos, tendrá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.