MySQL: Uso avanzato

Come configurare, ottimizzare, esportare o importare dati MySQL

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione MySQL cloud pronta all'uso che fornisce una serie di vantaggi, tra cui:

  • Connessioni e trasferimenti illimitati.
  • Interfaccia web phpMyAdmin inclusa.
  • Aggiornamenti facili con un solo clic.
  • Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplifica la tua vita: ci vogliono solo 5 minuti per provare la soluzione di MySQL cloud hosting di Stackhero!

Su Stackhero, non esiste un limite fisso al numero di connessioni simultanee che un server può gestire. È possibile regolare questa impostazione direttamente dal dashboard di Stackhero per adattarla alle proprie esigenze specifiche.

Anche se potrebbe essere allettante impostare un limite molto alto, è meglio scegliere un valore ragionevole. Ricordate che ogni connessione consuma memoria (RAM). Impostare un limite eccessivamente alto potrebbe sovraccaricare le risorse dell'istanza, portando potenzialmente a instabilità nel database.

Per i database che utilizzano il motore di archiviazione InnoDB, è consigliabile abilitare l'opzione "InnoDB Optimizations" nel dashboard di Stackhero.

Allo stesso modo, per quelli che utilizzano il motore di archiviazione MyISAM, attivare l'opzione "MyISAM Optimizations" può migliorare le prestazioni.

Se non siete sicuri di quale ottimizzazione sia adatta alla vostra configurazione, abilitare queste opzioni di default è un approccio prudente. Gli aggiustamenti possono sempre essere effettuati successivamente in base a requisiti specifici o considerazioni sull'uso delle risorse.

Gli strumenti da riga di comando MySQL, come mysql e mysqldump, sono preziosi per eseguire attività come l'importazione o l'esportazione di dati.

Un modo conveniente per utilizzare questi strumenti è attraverso un container Docker, che semplifica il processo di configurazione.

Se Docker non fa parte del vostro flusso di lavoro, non preoccupatevi! Esplorate Code-Hero su Stackhero. Questa piattaforma di sviluppo funziona direttamente nel vostro browser, eliminando la necessità di installazioni locali. Scoprite i suoi vantaggi e iniziate a usarla in soli 2 minuti visitando Code-Hero su Stackhero.

Per iniziare, potete distribuire un container MySQL utilizzando il seguente comando:

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

Sostituite <MYSQL_VERSION> con la versione MySQL richiesta. Ad esempio, se la vostra applicazione utilizza la versione MySQL 8.0.36-0 su Stackhero, utilizzate la versione 8.0.36 (escludendo il suffisso -0).

Dopo aver avviato il container, potreste voler verificare la connessione:

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

La directory corrente è montata nella directory /mnt del container (tramite $(pwd):/mnt). Questa configurazione consente di accedere e salvare file tra il vostro computer e il container. Ad esempio, per eseguire il backup di un database sul vostro computer, potete utilizzare:

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

Per eseguire il dump di un database, è possibile utilizzare la CLI mysqldump sul proprio computer (consultare la sezione precedente per i dettagli).

Per esportare un database da un'istanza Stackhero al proprio computer, è possibile eseguire:

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

Sostituite <XXXXX.stackhero-network.com>, <PORT> e <DATABASE> con i dettagli specifici della vostra istanza. Dopo aver premuto Invio, vi verrà chiesta la password di root. L'utilità mysqldump creerà quindi un file denominato <DATABASE>.sql contenente le tabelle del vostro database.

Per importare un database dal proprio computer in un'istanza Stackhero, è possibile utilizzare il seguente comando:

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

Assicuratevi di sostituire yourDump.sql con il nome del file SQL da importare nell'istanza Stackhero.