MySQL: Uso avanzado

Cómo configurar, optimizar, exportar o importar datos de MySQL

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece un servicio de MySQL en la nube totalmente gestionado que simplifica el despliegue y la administración para cargas de trabajo en producción:

  • Conexiones y transferencias de datos ilimitadas.
  • Interfaz web phpMyAdmin integrada para una gestión sencilla de bases de datos.
  • Actualizaciones sin complicaciones con mejoras en un solo clic.
  • Rendimiento constante y seguridad reforzada en una infraestructura privada y dedicada.

Con Stackhero, puede disponer de una base de datos MySQL fiable y lista en solo unos minutos. Dedique menos tiempo a la configuración y el mantenimiento, y más al desarrollo de sus aplicaciones. Pruebe hoy mismo el hosting MySQL en la nube de Stackhero.

En Stackhero, no existe un límite predefinido para el número de conexiones simultáneas que su servidor MySQL puede gestionar. Tiene la flexibilidad de ajustar este parámetro directamente desde el panel de Stackhero para adaptarlo a las necesidades de su aplicación.

Aunque puede resultar tentador establecer este valor lo más alto posible, es recomendable elegir un límite práctico. Cada conexión abierta consume memoria RAM, por lo que fijar un valor demasiado elevado puede ejercer una presión innecesaria sobre su instancia y, potencialmente, volver inestable su base de datos.

Si su base de datos utiliza el motor de almacenamiento InnoDB, puede activar la opción "InnoDB Optimizations" desde el panel de Stackhero para mejorar el rendimiento.

De manera similar, si su base de datos utiliza el motor MyISAM, activar la opción "MyISAM Optimizations" también puede aportar mejoras de rendimiento.

Si no está seguro de qué motor de almacenamiento utiliza su base de datos o qué opción de optimización seleccionar, en general es seguro habilitar estas opciones por defecto. Siempre podrá ajustarlas más adelante según la carga de trabajo o el uso de recursos.

Las herramientas de línea de comandos de MySQL como mysql y mysqldump son muy útiles para tareas como importar y exportar datos.

Una forma sencilla de acceder a estas herramientas es ejecutarlas dentro de un contenedor Docker. Este enfoque mantiene su entorno local limpio y evita instalaciones manuales.

Si Docker no forma parte de su flujo de trabajo, no hay ningún problema. Puede consultar Code-Hero en Stackhero. Esta plataforma de desarrollo basada en navegador le permite trabajar directamente desde su navegador, sin necesidad de instalar nada localmente. Puede obtener más información y probarla en solo unos minutos visitando Code-Hero en Stackhero.

Para empezar con Docker, puede lanzar un contenedor MySQL ejecutando:

docker run -it -v $(pwd):/mnt mysql:<MYSQL_VERSION> /bin/bash

Sustituya <MYSQL_VERSION> por la versión que necesite. Por ejemplo, si está utilizando MySQL 8.0.36-0 en Stackhero, use 8.0.36 (sin el -0 al final).

Una vez que el contenedor esté en funcionamiento, puede probar la conexión con este comando:

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT>

Aquí, su directorio actual se monta en /mnt dentro del contenedor (gracias al argumento $(pwd):/mnt). Esta configuración facilita el intercambio de archivos entre su ordenador y el contenedor. Por ejemplo, si desea hacer una copia de seguridad de una base de datos en su máquina, puede utilizar:

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > /mnt/<DATABASE>.sql

Para crear una copia de seguridad (o "dump") de su base de datos, puede utilizar la herramienta mysqldump directamente desde su ordenador. (Consulte la sección anterior para ejecutarla dentro de Docker si lo prefiere.)

Para exportar una base de datos desde su instancia de Stackhero a su ordenador, puede ejecutar:

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > <DATABASE>.sql

Asegúrese de sustituir <XXXXXX>.stackhero-network.com, <PORT> y <DATABASE> por los datos reales de su instancia. Tras ejecutar el comando, se le pedirá la contraseña de root. La herramienta mysqldump guardará entonces las tablas de su base de datos en un archivo llamado <DATABASE>.sql.

Para importar una base de datos desde su ordenador a su instancia de Stackhero, puede utilizar este comando:

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> < yourDump.sql

Recuerde sustituir yourDump.sql por el nombre real del archivo SQL que desea importar.