MySQL può essere configurato nei modi più disparati. I medesimi parametri possono essere passati sia al demone che agli altri tool in varie modalità:
tramite file di configurazione (Option file), da riga di comando o tramite variabili d'ambiente.
Queste tre casistiche non hanno tutte la stessa priorità. Eventuali opzioni passate da riga di comando prevalgono su tutte le altre in quanto dotate di un
carattere di maggiore contingenza. Il grosso della configurazione viene specificata tramite file di configurazione del servizio, le cui impostazioni
superano eventuali valori assegnati tramite variabili d'ambiente.
Una lista completa delle opzioni disponibili per mysqld è disponibile su questa pagina. Di seguito vedremo comunque come utilizzare le principali
funzionalità di configurazione.
File di configurazione
Il consueto nome dell'Option file è my.cnf, ma ogni programma che compone MySQL può accedere a più file di configurazione. Per conoscerne
l'elenco, si può invocare da riga di comando il nome del tool, seguito dall'opzione --help.
Ad esempio:
mysql --help
fornisce diverse informazioni, tra cui anche l'elenco degli Option file cui attinge attualmente il client mysql, ed i parametri che ne ha
ricevuto.
Nel caso di mysqld, la configurazione crea un profilo di funzionamento per tutto il server. Per conoscerlo è consigliabile usare il comando
seguente:
mysqld --verbose --help
oppure:
mysqladmin variables
Saranno elencati diversi file che, a seconda del sistema operativo, potranno riferirsi a cartelle dedicate a configurazioni di sistema (C:\Windows
nel sistema di Microsoft, o /etc sui sistemi Linux) oppure a cartelle di proprietà di un singolo utente. Il valore dei parametri avrà quindi un
senso globale o personalizzato, a seconda della posizione del file che li contiene.
Opzioni del server
Qui di seguito, vengono elencate alcune delle opzioni più importanti che determinano il profilo di un server MySQL, tentando di classificarle in base alla
loro finalità.
Esistono, innanzitutto, configurazioni che riguardano il modo in cui il DBMS è contestualizzato nel sistema che lo ospita:
Opzione | Descrizione |
---|---|
basedir |
Percorso alla cartella principale di MySQL. Importante perché altri percorsi indicati possono riferirsi a questa come punto di partenza |
datadir |
La cartella in cui sono realmente contenuti i database. Al suo interno si troveranno varie sottocartelle, ognuna delle quali corrispondente ad un database |
user |
L'utente con cui il DBMS agirà all'interno del sistema operativo |
tmpdir |
La cartella che conterrà i file temporanei. Questa solitamente coincide con la cartella finalizzata al medesimo scopo nel sistema operativo |
Le seguenti opzioni determinano, invece, l'accessibilità in rete del DBMS:
Opzione | Descrizione |
---|---|
bind-address |
Indica l'indirizzo di rete sul quale il server può essere contattato. Di default, troveremo l'indirizzo locale, 127.0.0.1, il che significherà che MySQL potrà essere contattato solo dalla stessa macchina. Si potranno specificare ovviamente altri indirizzi, con alcune eccezioni come *, che permetterà di accettare connessioni su qualunque interfaccia dotata di indirizzo IPv4 o IPv6, oppure 0.0.0.0 per permettere connessioni su tutte le interfacce dotate di indirizzo IPv4 |
port |
La porta TCP su cui il server rimarrà in ascolto. Il valore di default è 3306 |
Un'altra categoria di opzioni riguarda la gestione dei file di log. Ad esempio, log_error indica dove è collocato nel sistema il
file a cui vengono accodati i messaggi riguardanti il DBMS. Elenca eventi di arresto e avvio, oltre ad errori ed informazioni sullo stato del servizio. I
log svolgono un ruolo molto importante in un server come MySQL, e ciò è testimoniato anche dal gran numero di opzioni che li riguardano. Esiste anche un
formato di log binario che tiene traccia delle modifiche fatte ai dati (utile per la verifica del corretto funzionamento di funzionalità infrastrutturali
come la replication dei dati tra diverse istanze di MySQL).
Nel corso della guida, trattando argomenti avanzati e più specifici del DBMS, vedremo altre opzioni di configurazione, dalle quali dipenderà il corretto
funzionamento di MySQL.