MySQL

MySQL è il database relazionale open source più popolare al mondo, utilizzato da milioni di applicazioni web. È la scelta ideale per WordPress, Laravel, e molte altre applicazioni PHP.

Cos'è MySQL

MySQL è un sistema di gestione di database relazionale (RDBMS) che:

  • Memorizza dati strutturati in tabelle con relazioni
  • Supporta SQL standard per query e manipolazione dati
  • Offre alte prestazioni per letture e scritture
  • È compatibile con la maggior parte dei framework e CMS

Configurazione Base

Campo Descrizione
Enabled Attiva o disabilita MySQL
Version Versione di MySQL da utilizzare

Configurazione Utenti

Campo Descrizione
User Root Password Password per l'utente root (amministratore)
User Name Nome dell'utente applicativo
User Password Password dell'utente applicativo

Configurazione Database

Campo Descrizione
Database Name Nome del database da creare
Database Charset Set di caratteri (es. utf8mb4)
Database Collate Regole di ordinamento (es. utf8mb4_unicode_ci)

Configurazione Rete

Campo Descrizione
Exposed Port Porta esterna per connessioni remote (es. 3306)

Attenzione: Esponi la porta solo se necessario per connessioni esterne. Per motivi di sicurezza, è consigliabile non esporre il database pubblicamente.

Configurazione Docker

Campo Descrizione
CPU Cores Limit Limite CPU per il container
Memory Limit (MB) Limite memoria per il container in MB

File di Configurazione

File Descrizione
mysql.cnf Configurazione principale di MySQL
Dockerfile File Docker per la build dell'immagine

Connessione dall'Applicazione

Dalla rete Docker interna:

  • Host: mysql
  • Porta: 3306
  • Database: [nome_database]
  • Username: [nome_utente]
  • Password: [password_utente]

Versioni Supportate

Versione Stato Note
8.1 Attiva Ultime funzionalità
8.0 LTS Raccomandato per produzione
5.7 Legacy Solo per compatibilità

Best Practices

  1. Usa utf8mb4 come charset per supportare tutti i caratteri Unicode
  2. Imposta password robuste per root e utenti applicativi
  3. Esponi la porta solo se necessario per motivi di sicurezza
  4. Configura innodb_buffer_pool_size al 70-80% della RAM disponibile per MySQL
  5. Esegui backup regolari del database

Prossimi Passi

  • PHP - Runtime per applicazioni PHP
  • Redis - Cache per migliorare le prestazioni