Descargo de responsabilidad: soy un green horn total.
Estoy trabajando con PhpStorm en Windows, que ofrece una forma conveniente de crear y administrar bases de datos durante el desarrollo. Desafortunadamente, ahora que quiero pasar a producción, subir la base de datos a Cloadways (Digital Ocean Server) no parece tan simple.
El Administrador de base de Database Manager de Cloudways tiene una función de importación que requiere archivos .gz (gzip). Los archivos gzip no se pueden crear a partir de directorios, pero en Windows, mysql crea directorios para cada base de database y los llena con table files ( .ibd ).
He leído que puede comprimir directorios en archivos .tar primero y luego comprimirlos ( database.tar.gz de gzip ) y eso es lo que probé. Pero cuando trato de importarlos con el database manager solo muestra esto:
¿Hay alguna manera de hacer esto?
Esto es lo que necesita para migrar sus datos a otro servidor MySQL desde su máquina de desarrollo: Un archivo de texto llamado whatever.sql que sea.sql que contenga las definiciones y contenidos de sus tablas (y vistas y funciones almacenadas y todos sus otros objetos de base de datos). Este tipo de archivo de texto a menudo se denomina archivo mysqldump . Encontrará que estos archivos contienen una gran cantidad de instrucciones SQL, principalmente CREATE TABLE e INSERT. También contienen algunas líneas como
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;Parecen comentarios, pero cuando carga el archivo se manejan como sentencias SQL, así que déjelos en paz.
Puede usar gzip(1) en su archivo para hacerlo más pequeño y Cloudways lo manejará correctamente. Las cosas funcionarán con o sin gzip.
Con PhpStorm, abra el panel de la base de datos y haga clic derecho en el nombre de su base de datos (no en el nombre del servidor en sí, sino en la base de datos de su aplicación). Verá un elemento de menú Exportar con mysqldump . Pinchalo. Puede mantener la configuración predeterminada de la casilla de verificación.
Luego proporcione un nombre de archivo para su salida y ejecute la exportación.
Uso PhpStorm en Linux, por lo que no estoy totalmente seguro de que esta exportación funcione en Windows. Si no es así, descargue el excelente y gratuito programa cliente Windows MySQL de Ansgar Becker llamado HeidiSQL . Haga clic con el botón derecho en el nombre de la base de datos y luego seleccione Exportar base de datos como SQL . Marque la casilla Crear tablas y elija Insertar en el menú desplegable de datos.
CREATE DATABASE myDatabaseName; USE myDatabaseName;whatever.sql sea.sql. Parece que Cloudways también hace eso por ti. Si no, esta línea de comando, o algo similar, podría funcionar. mysql --user=yourMySQLUserName --password=secret\ --database=myDatabaseName\ --host=cloudways.example.com < whatever.sqlSu migración estará completa.
Bonificación adicional: si su archivo de whatever.sql cosa.sql contiene el estado inicial de su base de datos de producción, puede ponerlo en git (u otro control de fuente) y usarlo cada vez que implemente una nueva instancia de su paquete de software.
No intente copiar esos archivos .ibd y otros archivos administrados por MySQL a otra máquina. Si lo haces, te arrepentirás.