|
Si estás usando la versión 3.23 o una versión superior de MySQL, puedes copiar archivos "*.frm", "*.MYI", y "*.MYD" para tablas MyISAM entre arquitecturas diferentes que soporten el mismo formato de punto flotante. (MySQL toma en cuenta cualquier byte-swapping).
Los archivos MySQL ISAM de índice y datos ("*.IDC" y "*.ISM", respectivamente) son dependientes de la arquitectura y en algunos casos dependientes del sistema operativo. Si quieres mover tus aplicaciones a otra máquina que tiene una arquitectura distinta o sistema operativo distinto que la máquina actual, no deberías intentar mover una base de datos simplemente copiando los archivos a otra máquina. En vez de eso usa mysqldump. Por defecto, mysqldump creará un archivo que contiene sentencias SQL, puedes transferir el archivo a la otra máquina y importarlo con un cliente MySQL, como phpMyAdmin. Teclea mysqldump --help par ver las opciones disponibles. Si estás moviendo datos a una versión más nueva de MySQL, debes usar mysqldump --opt para aprovecharte de cualquiera de las optimizaciones que resultan en un archivo de deposito más pequeño y puede ser procesado más rápido. La forma más facil (aunque no la más rápida) para mover una base de datos entre dos máquinas es correr los siguientes comandos en la máquina donde esta localizada la base de datos:
mysqladmin -h 'otro equipo' create nombre_bd<br />mysqldump --opt nombre_bd | mysql -h 'otro equipo' nombre_bd
Si quieres copiar una base de datos desde una máquina remota sobre una red lenta, puedes usar:
mysqladmin create nombre_bd <br />mysqldump -h 'otro equipo' --opt --compress nombre_bd | mysql nombre_bd
También puedes almacenar el resultado en un archivo, después transfiere el archivo a la máquina deseada y carga el archivo dentro de la base de datos. Por ejemplo, puedes depositar una base de datos en un archivo en la máquina fuente de esta forma:
mysqldump --quick nombre_bd | gzip > nombre_bd.contenido.gz
(El archivo creado en este ejemplo esta comprimido.) Tranfiere el archivo que contiene los contenidos de la base de datos a el equipo elegido y corre estos comandos:
mysqladmin create nombre_bd<br />gunzip < nombre_bd.contenido.gz | mysql nombre_bd
También puedes usar mysqldump y mysqlimport para tranferir la base de datos. Para tablas grandes, esto es mucho más rápido que simplemente usar mysqldump. In los siguientes comandos, DUMPDIR representa la ruta absoluta de el directorio que usas para almacenar la salida de mysqldump. Primero, crea el directorio para los archivos de salida y deposita la base de datos:
mkdir DUMPDIR # mysqldump --tab=DUMPDIR nombre_bd
Entonces transfiere los archivos en el directorio DUMPDIR al directorio correspondiente en la nueva máquina y carga los archivos dentro del directorio de MySQL:
mysqladmin create nombre_bd # Crea la base de datos <br />cat DUMPDIR/*.sql | mysql nombre_bd # Crea las tablas en la base de datos<br />mysqlimport nombre_bd DUMPDIR/*.txt # Carga los datos en la base de datos
No olvides copiar la base de datos de mysql porque ahi es donde estan almacenadas las tablas de privilegios (user, db, host). Puede ser que tengas que correr los comandos como el usuario root de MySQL en la máquina nueva hasta que tengas la base de datos mysql en su lugar. Después de que importes la base de datos mysql a la nueva máquina, ejecuta mysqladmin flush-privileges asi el servidor recargará la información de la tabla de concesión . |