Cómo transferir todas las bases de datos MySQL del servidor antiguo al nuevo


La transferencia o migración de una base de datos MySQL/MariaDB entre servidores generalmente toma solo unos pocos pasos sencillos, pero la transferencia de datos puede llevar algún tiempo dependiendo del volumen de datos que le gustaría transferir.

En este artículo, aprenderá cómo transferir o migrar todas sus bases de datos MySQL/MariaDB desde un servidor Linux antiguo a un servidor nuevo, importarlo correctamente y confirmar que los datos están allí.

  • Asegúrese de tener la misma versión de MySQL instalada en ambos servidores con la misma distribución.
  • Asegúrese de tener suficiente espacio libre en ambos servidores para guardar el archivo de volcado de la base de datos y la base de datos importada.
  • Nunca considere mover el directorio data de la base de datos a otro servidor. Nunca te metas con la estructura interna de la base de datos, si lo haces, enfrentarás problemas en el futuro.

Exportar una base de datos MySQL a un archivo de volcado

Primero comience por iniciar sesión en su servidor anterior y detenga el servicio mysql/mariadb usando el comando systemctl como se muestra.

# systemctl stop mariadb
OR
# systemctl stop mysql

Luego, descargue todas sus bases de datos MySQL en un solo archivo usando el comando mysqldump.

# mysqldump -u [user] -p --all-databases > all_databases.sql

Una vez que se complete el volcado, estará listo para transferir las bases de datos.

Si desea volcar una sola base de datos, puede usar:

# mysqldump -u root -p --opt [database name] > database_name.sql

Transfiera el archivo de volcado de bases de datos MySQL a un nuevo servidor

Ahora use el comando scp para transferir el archivo de volcado de su base de datos al nuevo servidor en el directorio de inicio como se muestra.

# scp all_databases.sql [email protected]:~/       [All Databases]
# scp database_name.sql [email protected]:~/       [Singe Database]

Una vez que se conecte, la base de datos se transferirá al nuevo servidor.

Importar archivo de volcado de bases de datos MySQL a un nuevo servidor

Una vez que el archivo de volcado de MySQL se haya transferido al nuevo servidor, puede usar el siguiente comando para importar todas sus bases de datos a MySQL.

# mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
# mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

Una vez que se completa la importación, puede verificar las bases de datos en ambos servidores usando el siguiente comando en el shell mysql.

# mysql -u user -p
# show databases;

Transferir bases de datos y usuarios de MySQL a un nuevo servidor

Si desea mover todas sus bases de datos MySQL, usuarios, permisos y estructura de datos del servidor antiguo al nuevo, puede usar el comando rsync para copiar todo el contenido del directorio de datos mysql/mariadb al nuevo servidor como se muestra.

# rsync -avz /var/lib/mysql/* [email protected]:/var/lib/mysql/ 

Una vez que se completa la transferencia, puede establecer la propiedad del directorio de datos mysql/mariadb como usuario y grupo mysql, luego hacer una lista de directorios para verificar que todos los archivos hayan sido transferidos.

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

¡Eso es todo! En este artículo, aprendió cómo migrar fácilmente todas las bases de datos MySQL/MariaDB de un servidor a otro. ¿Cómo encuentra este método en comparación con otros métodos? Nos gustaría saber de usted a través del formulario de comentarios a continuación para comunicarnos con nosotros.