DBAtlas · Atlas de operaciones de bases de datos

Instalación de MySQL en un servidor (lista para producción)

MySQLNivel: PrincipianteDuración: 30–45 min

Instala desde cero, desde el repositorio oficial y lista para producción, una única instancia de MySQL 8.4 LTS (u 8.0): directorios separados para datos, binlog y logs, un my.cnf calculado según la RAM, la CPU y el tipo de disco, GTID y periodo de retención del binlog, slow query log, SELinux/AppArmor, acceso de root restringido y usuario de aplicación. Al final obtiene una instancia verificada y con su primera copia de seguridad; las guías de replicación, InnoDB Cluster, copias de seguridad y seguridad se basan en esta instalación.

Topología: 1 servidor

Antes de empezar

  • El servidor tiene un sistema operativo compatible y actualizado; la zona horaria y NTP (chrony) son correctos.
  • La RAM y la CPU coinciden con los valores del formulario (my.cnf se calcula a partir de ellos: buffer pool … MB).
  • Hay discos/LV montados (persistentes en fstab) para …, … y …, con sistema de archivos XFS o ext4 y espacio libre suficiente. Los binlogs se conservarán … días; reserve al menos … veces su volumen diario de escritura.
  • El hostname … está configurado y se resuelve a su propia IP; hay acceso a la red de aplicaciones (…).
  • El servidor puede salir por HTTPS a repo.mysql.com o hay un mirror interno configurado.
  • El puerto … (y el puerto de X Protocol …) está libre.
  • En el servidor no está instalado MariaDB ni la versión de MySQL del propio sistema operativo (entran en conflicto con el MySQL oficial).
  • La contraseña del usuario de la aplicación está preparada… (en la familia RHEL validate_password viene activado: al menos 8 caracteres, mayúsculas/minúsculas, dígitos y caracteres especiales)…. La contraseña se pedirá durante la instalación sin mostrarse en pantalla; no debe contener ' ni \.
  • Ha iniciado sesión con permisos de root o sudo; la ventana de mantenimiento y el plan de vuelta atrás (snapshot del servidor) están preparados.

Fases de la guía

  • Preparación del sistema operativo — Hostname y actualización del sistema · Configuración del kernel (sysctl) · Aplicar la configuración de sysctl · Desactivar Transparent Huge Pages
  • Instalación del software de MySQL — Desactivar el módulo MySQL del sistema operativo · Agregar el repositorio oficial de MySQL · Instalar el software del servidor MySQL · Definir el repositorio APT oficial de MySQL · Instalar el software del servidor MySQL
  • Directorios y configuración — Crear los directorios y asignar permisos · Escribir my.cnf · Aumentar el límite de archivos abiertos (systemd) · Recargar la configuración de systemd · Definir las etiquetas de SELinux · Registrar los nuevos directorios en AppArmor …
  • Inicio del servicio — Habilitar e iniciar el servicio · Limpiar el antiguo directorio de datos predeterminado
  • Acceso de root y seguridad — Buscar la contraseña temporal de root · Pasar root a auth_socket · Establecer la contraseña de root · Guardar los datos de conexión de root (mysql_config_editor) · Limpiar las cuentas predeterminadas y la base de datos de prueba · Componente de política de contraseñas (validate_password)
  • Base de datos y usuario de la aplicación — Crear la base de datos y el usuario de la aplicación
  • Acceso de red — Abrir el puerto en el firewall
  • Verificación — Comprobar que la configuración se ha aplicado · Revisar el error log · Prueba de conexión remota
  • Después de la instalación — Hacer la primera copia de seguridad lógica · Conectar la monitorización
Abrir el plan paso a paso para su entorno →