Antes de migrar nuestra tienda a otra ubicación tenemos que hacer un backup de la base de datos y un tareo del directorio donde tenemos instalada nuestra tienda. Para realizar el backup de una base de datos MySql yo prefiero realizarlo mediante el comando
mysqldump
frente
a otros softwares como PhpMyAdmin,
que aunque es una herramienta que simplifica la administración y el
mantenimiento de una base de datos MySql, para este tipo de cosas la
veo un poco limitada en cuanto a rendimiento y se hace muy cuesta
arriba a la hora de generar ficheros de backup con un tamaño de unos
25 Mb y de restaurarlos. El uso estándar del comando
mysqldump
es:
mysqldump
-R --user (usuario) -p (Base de Datos) > (nombre).sql
Esto nos generará un fichero .sql con todas las sentencias para que al lanzarlo nos construya una base de datos idéntica a la que teníamos. Como nota adicional siempre le pongo el -R para que realice también el backup de los procedimientos almacenados y funciones. Otros ejemplos de uso del comando
mysqldump
son:
- Backup de todas las bases de datos
- mysqldump
--user (usuario)
-p --all-databases >(nombre).sql
- mysqldump
- Backup de la estructura
- mysqldump
--user (usuario)
-p --no-data
(Base de Datos)
)
>(nombre).sql
- mysqldump
- Backup los datos exclusivamente
- mysqldump
--complete-insert --no-create-info
--user (usuario)
-p(Base de Datos)
>(nombre).sql
- mysqldump
--complete-insert --no-create-info
- Backup con la contraseña en la sentencia(la password va
pegada al -p)
- mysqldump
--user (usuario)
-pPASS --all-databases >(nombre).sql
- mysqldump
tar -cvf (nombre del tar).tar (directorio de prestashop)
Con esta sentencia tendríamos tareado todo el contenido de el directorio donde está prestashop en el fichero .tar. Una opción interesante del comando tar es -j pues comprime con bunZip2 el contenido del fichero, con lo que si tenemos que mover el tar entre servidores el tiempo es menor y el consumo de trafico también sería menor.
Restaurar en el destino
Lo primero que vamos a realizar es la descompresión del .tar en el directorio que hallamos elegido para albergar la tienda. Para esto copiamos el archivo .tar en el directorio y ejecutamos el comando:
tar -xvf archivo.tar
Tras tener el directorio explotado, verificamos que los propietarios tanto de archivos como de carpetas son los correctos para esta nueva ubicación (si no los podéis cambiar con el comando chown.
Después de esto abrimos el fichero /nueva_ubicacion/config/settings.inc.php y editar las líneas correspondientes a la definición de las variables __PS_BASE_URI_, _DB_NAME_, _DB_SERVER_, _DB_USER_ y _DB_PASSWORD_ para que se ajusten a la nueva ubicación y a la nueva base de datos.
- define(‘__PS_BASE_URI__’,
‘/directorio/‘); Directorio donde hemos descomprimido el
tar, si es en el raíz de tu carpeta publica poner “/”
- define(‘_DB_NAME_’,
‘base de datos nueva‘); Poner el nuevo nombre de la base
de datos
- define(‘_DB_USER_’,
‘usuario de la base de datos‘); Poner el nuevo usuario de
la base de datos
- define(‘_DB_PASSWD_’, ‘pass‘); Contraseña del usuario de la base de datos
mysql
-u (usuario) -p --database=(nombre bd) < (archivo de backup).sql
Tras restaurar la base de datos necesitaremos ajustar los parámetros
PS_SHOP_DOMAIN_SSL y PS_SHOP_DOMAIN de la tabla ps_configuration y asignarles el valor dominio.es/directorio o si la tenemos en el raíz del dominio dominio.es, sin más.
En caso de estar trabajando con el usuario root de la base de datos podemos otorgarle permisos administrador a otro usuario de la siguiente manera:
#GRANT ALL PRIVILEGES ON (nombre de la base de datos).* TO 'usuario@localhost' IDENTIFIED BY 'password';
Si en vez de (
nombre de la base de datos
) pusiésemos *.* se replicarían estos privilegios a todas las bases de datos.
Con esto ya tendríamos nuestra tienda prestashop migrada a otra ubicación. Está probado para la versión 1.4.8.
No hay comentarios:
Publicar un comentario