sql >> Base de Datos >  >> RDS >> Mysql

¿La forma más fácil de copiar una base de datos MySQL?

Aquí hay algunas opciones:

mysqldump

La forma más fácil y garantizada de hacerlo es usar mysqldump . Consulte las páginas del manual de la utilidad aquí:

http://dev.mysql.com/doc/refman/5.1 /es/mysqldump.html

Básicamente, descarga los scripts SQL necesarios para reconstruir el contenido de la base de datos, incluida la creación de tablas, disparadores y otros objetos y la inserción de los datos (todo es configurable, por lo que si ya tiene el esquema configurado en otro lugar, puede simplemente descargue los datos, por ejemplo).

Copiar archivos de tabla MyISAM individuales

Si tiene una gran cantidad de datos y está utilizando el motor de almacenamiento MyISAM para las tablas que desea copiar, simplemente puede cerrar mysqld y copiar los archivos .frm, .myd y .myi de una carpeta de base de datos a otra (incluso en otro sistema). Esto no funcionará para las tablas de InnoDB y puede o no funcionar para otros motores de almacenamiento (con los que estoy menos familiarizado).

mysqlhotcopy

Si necesita volcar el contenido de una base de datos mientras el servidor de la base de datos se está ejecutando , puede usar mysqlhotcopy (tenga en cuenta que esto solo funciona para las tablas MyISAM y Archive):

http://dev.mysql.com/doc/refman/5.0 /es/mysqlhotcopy.html

Copiar toda la carpeta de datos

Si está copiando toda la instalación de la base de datos, por lo tanto, todas las bases de datos y el contenido de cada base de datos, simplemente puede cerrar mysqld, comprimir todo el directorio de datos de MySQL y copiarlo en el directorio de datos del nuevo servidor.

Esta es la única forma (que yo sepa) de copiar archivos InnoDB de una instancia a otra. Esto funcionará bien si se está moviendo entre servidores que ejecutan la misma familia de sistemas operativos y la misma versión de MySQL; puede trabajo para moverse entre sistemas operativos y/o versiones de MySQL; fuera de mi cabeza, no lo sé.