Ricerca

Risultati per "mysql"

Articoli dal blog

Trovati 9 risultati

  1. MySQL esposto su un VPS Hetzner con root senza password: il CIS benchmark che applico nelle prime due ore di hardening

    Hardening MySQL su VPS con Laravel: root senza password, bind su 0.0.0.0, niente TLS. Il protocollo CIS benchmark che applico in due ore su ogni server che prendo in carico.

    A luglio 2025 ho eseguito un audit di sicurezza su un VPS Hetzner AX41 (Ryzen 5 3600, 64 GB RAM, 2×512 GB NVMe) che ospitava un e-commerce B2B Laravel 10 nel settore dell'elettronica industriale - circa 1.200 clienti attivi e un fatturato e-commerce di 800.000 euro. Il titolare mi aveva chiamato per un problema di performance, ma quando ho aperto il terminale la prima cosa che ho verificato è stata la sicurezza del database. Quello che ho trovato era lo scenario che incontro in alme... continua a leggere

  2. Diagnosi e risoluzione di connessioni lente al database MySQL su VPS senza supporto tecnico: guida operativa per Debian e Ubuntu

    Diagnosi connessioni MySQL lente su VPS: skip-name-resolve, InnoDB buffer pool tuning, slow query log, EXPLAIN e MySQLTuner. Caso reale PMI su Hetzner.

    A gennaio 2025 il titolare di una PMI pugliese - produttore di componentistica idraulica con un gestionale web Laravel 10 usato internamente da 18 operatori - mi ha segnalato che "il gestionale è diventato lento". Lento in senso concreto: la ricerca prodotti, che un anno prima rispondeva in meno di un secondo, ora impiegava 3-4 secondi. L'inserimento di un ordine con 15-20 righe richiedeva oltre un minuto perché ogni riga scatenava una query di verifica disponibilità che res... continua a leggere

  3. Refactoring database MySQL su Laravel: report da 47 minuti a 11 secondi senza upgrade hardware

    Refactoring database MySQL su Laravel: diagnosi con EXPLAIN e slow query log, indici compositi, invisible indexes, tuning InnoDB. Da 47 minuti a 11 secondi.

    A marzo 2025 mi ha contattato il responsabile IT di un'azienda metalmeccanica in provincia di Reggio Emilia - una PMI da circa 180 dipendenti che gestisce un portale B2B per la distribuzione di componentistica industriale verso tutta l'area DACH (Germania, Austria, Svizzera). Il portale girava su un VPS Contabo da 8 vCPU, 32 GB RAM e 400 GB SSD, con stack LEMP classico: Nginx 1.22, PHP-FPM 8.1, MySQL 8.0, e una codebase Laravel 9 che aveva cinque anni e mezzo di evoluzione organica sulle spalle.... continua a leggere

  4. PostgreSQL per sviluppatori PHP: quando sceglierlo rispetto a MySQL e come migrare

    Guida a PostgreSQL per sviluppatori PHP: differenze pratiche con MySQL, JSONB, full-text search nativo e come migrare un'applicazione Laravel.

    Nel 2024 e 2025 ho migrato due applicazioni Laravel da MySQL a PostgreSQL per altrettanti clienti - un sistema di gestione contratti per un'azienda del settore servizi finanziari e una piattaforma di catalogo prodotti per un'azienda del settore distribuzione industriale. In entrambi i casi, la migrazione non è stata motivata da un problema di performance di MySQL (che con il tuning corretto è un database eccellente per la maggior parte dei workload), ma da requisiti funzionali spec... continua a leggere

  5. Sviluppo Web con tecnologie LAMP su ambiente Windows con WSL2

    Con lo stack LAMP installato nativamente su Windows tramite WSL2 e l'utilizzo di Visual Studio Code e la continuous integration di Git, sarà possibile sviluppare progetti in ambito Web ed essere più produttivi, testando le condizioni reali di produzione d

    Aggiornamento 05/09/2023: è disponibile la nuova guida aggiornata Configurazione di uno Stack LAMP su Windows 11 (e Windows 10), con WSL2, Ubuntu 22.04, servizi systemd nativi e ottimizzazioni per lo sviluppo con VS Code. Si consiglia vivamente di fare riferimento alla nuova guida. Nota: questa guida creata da Maurizio Fonte è anche disponibile come GIST su GitHub all'indirizzo https://gist.github.com/mauriziofonte/00002661cd527a8a457509c5b4b0613d. Lo sviluppo web con tecnologie ... continua a leggere

  6. Migrare MySQL 5.7 EOL su Hetzner senza fermare il business: la strategia di replicazione che ho usato per spostare 78GB con quattro minuti di downtime

    Migrare MySQL 5.7 EOL su Hetzner o OVH con replicazione master-slave: il piano in cinque fasi per spostare un database critico con quattro minuti di downtime, non otto ore.

    A febbraio 2025 ho concluso una migrazione di database per una PMI bresciana del settore metalmeccanico. Avevano un e-commerce B2B Magento 2 ospitato su un VPS Aruba che aveva accumulato 78GB di MySQL 5.7 in sette anni di vita: 11 milioni di righe nella tabella ordini, 4 milioni in sales_order_item, una catalog_product_entity_decimal da 23 milioni di record, più tutta la storia dei prezzi negoziati cliente per cliente. Il server era arrivato a fine ciclo, MySQL 5.7 era ufficialmente fuori... continua a leggere

  7. Elasticsearch in produzione per Laravel: ricerca full-text su cataloghi di grandi dimensioni

    Come integrare Elasticsearch con Laravel per ricerca full-text su cataloghi di grandi dimensioni: mapping, query DSL, sincronizzazione e deployment su VPS

    Il 7 febbraio 2025 mi ha chiamato il responsabile IT di un distributore B2B padovano di ricambistica industriale - fatturato annuo di circa 14 milioni di euro, circa 900 rivenditori autenticati sulla piattaforma e-commerce proprietaria, un catalogo di 207.000 codici articolo distribuiti su 18 categorie tecniche e circa 4.500 sottocategorie. La piattaforma era Laravel 10 con MySQL 8.0, ospitata su un server Hetzner AX52 dedicato con configurazione standard LEMP. Il problema era concreto e misurab... continua a leggere

  8. Backup incrementale di MySQL con xtrabackup: recovery point granulare senza blocchi

    Come configurare backup incrementale di MySQL con Percona XtraBackup: backup senza blocchi, PITR (point-in-time recovery), verifica automatica e retention

    A gennaio 2026 mi sono occupato della ristrutturazione della strategia di backup del database di un'azienda del settore servizi di elaborazione buste paga - 12 dipendenti interni, circa 600 clienti PMI in portafoglio, database MySQL 8.0 di 240 GB con 2,3 miliardi di righe fra dati anagrafici, cedolini storici degli ultimi 10 anni e scritture contabili. Il sistema di backup in atto era quello che trovo nel 60% delle PMI italiane: uno script bash con mysqldump lanciato ogni notte alle 02:00 che sc... continua a leggere

  9. Testcontainers per PHP: test di integrazione con database e servizi reali in CI

    Come usare Testcontainers in PHP per test di integrazione con MySQL, Redis e Elasticsearch reali in CI/CD: setup, performance e confronto con mock e SQLite.

    Il 12 marzo 2025 mi ha contattato il CTO di una piattaforma e-commerce verticale bolognese - marketplace B2B per prodotti artigianali made in Italy distribuito internazionalmente - 6 sviluppatori interni, 4.100 venditori attivi, fatturato transato annuo di circa 11 milioni di euro. Il team tecnico aveva un problema operativo ricorrente: i test automatici giravano verdi in CI ma producevano bug inaspettati quando le modifiche arrivavano su staging. In sei mesi avevano accumulato 34 bug di produzi... continua a leggere

Potresti cercare anche