Haciendo un backtup en mysql

En ocasiones por alguna razón tenemos que mover los archivos de un servidor a otro, por ejemplo si deseas correr tus aplicaciones en tu localhost o por si alguna razón decides cambiar de provedor de hosting y ya que muchas de las aplicaciones que corren en la nube se basan en archivos de configuración lo ideal es que hagamos una migración trasparente, creando el usuario, la base de datos y andándoles los permisos adecuados.

Respaldando la Base de datos haciendo el backup

Lo primero que hay que hacer es respaldar la base de datos, para eso podemos ocupar el comando mysqldump la cual tiene la siguiente sintaxis:

mysqldump --user=<userName> --password=<password> <dbName> > dbBackup.sql

En este caso estamos haciendo un dump sobre la base de datos <dbName> y estamos enviando la salida en el archivo con el nombre dbBackup.sql, el cual podremos trasferir por ssh a nuestro otro servidor.

Creando el usuario y la Base de datos Dando permisos adecuados

Una vez conectados en nuestro, servidor donde vamos a migrar la base de datos, lo primero que hay que hacer es crear al usuario mysql y a asignar los permisos adecuados para esto debemos tener acceso al usuario root mysql y seguir las siguientes instrucciones:

Primero nos conectamos al entorno mysql:

mysql --user=root --password=<password_root>

Una vez conectados como root mysql:

CREATE USER '<userName>'@'localhost' IDENTIFIED BY '<password>';
CREATE DATABASE <dbName>;
GRANT ALL PRIVILEGES ON <dbName>.* TO '<userName>'@'localhost';
FLUSH PRIVILEGES;

Borrando usuario y base de datos en caso de conflicto

Espero que no pero quizás te equivoques al crear la base de datos y/o el usuario, de ser así lo que puedes hacer es borrar la base de datos y/o el usuario (para esto debes de estar conectado como root mysql):

DROP DATABASE IF EXISTS <dbName>;
DROP USER '<userName>'@'localhost';

Cargando respaldo haciendo el respaldo

Finalmente lo que tenemos que hacer es cargar la base de datos

mysql --user=<userName> --password=<password> <dbName> < dbBackup.sql

Error en caracteres latinos Esto en caso de error con caracteres latinos

En ocasiones puede crear problemas los caracteres latinos como la tilde entre otros(como la ñ), para esto a nuestro de respaldo(dbBackup.sql) le agregamos en la primera linea la siguiente instrucción.

/*!40101 SET NAMES utf8 */;

Finalmente deberíamos borrar la base de datos y volverla a crear(esto también conectado como root mysql).

DROP DATABASE <dbName>
CREATE DATABASE <dbName>;
GRANT ALL PRIVILEGES ON <dbName>.* TO '<userName>'@'localhost';
FLUSH PRIVILEGES;

About Author

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *