Che cos'è il formato di file CNF?
.cnf è un file di configurazione associato al database relazionale MySQL e al suo fork compatibile MariaDB. I file .cnf memorizzano le opzioni di avvio del database in testo semplice, utilizzando una sintassi stile INI [sezione] chiave = valore. Il file canonico è my.cnf, tipicamente situato in /etc/my.cnf o /etc/mysql/my.cnf sui sistemi Linux e macOS. Su Windows, il file equivalente è solitamente denominato my.ini.
I file .cnf definiscono parametri del database come la dimensione del buffer, le impostazioni della cache, la codifica dei caratteri e le opzioni di rete. Una delle impostazioni più importanti è il parametro wait_timeout, che determina quanto tempo il server attende prima di chiudere una connessione inattiva - questo è particolarmente importante per database di grandi dimensioni e applicazioni che utilizzano query complesse. Altre direttive controllano l'InnoDB buffer pool, il logging binario e i limiti massimi di connessione.
MySQL legge i file di opzioni da un set documentato di percorsi in ordine, con le impostazioni nei file successivi che sovrascrivono quelle dei precedenti. Le direttive !include e !includedir consentono di suddividere la configurazione su più file .cnf.
MySQL è il sistema di gestione di database relazionali più popolare, ampiamente utilizzato per siti web, applicazioni aziendali e distribuzioni cloud. È una tecnologia gratuita e open-source mantenuta da Oracle. MariaDB, un fork della comunità, utilizza la stessa sintassi dei file di opzioni .cnf ed è altrettanto diffuso sui server Linux.
Sicurezza e incolumità
RISCHIO: MEDIUMIl file è sicuro da leggere, ma si applicano due precauzioni reali. (1) Rischio di modifica: un'opzione non valida o un errore di battitura in [mysqld] è una causa comune di «MySQL non si avvia» - esegui il backup del file, cambia un'opzione alla volta e convalida prima di riavviare. (2) Esposizione delle credenziali: i file .cnf (specialmente ~/.my.cnf) spesso memorizzano nomi utente e password del database in chiaro, quindi limita i permessi del file (chmod 600) e non caricarne mai uno su un repository pubblico. Tratta con cautela i file di ottimizzazione «my.cnf ottimizzati» scaricati - verifica che le opzioni siano adatte alla RAM e alla versione del tuo server.
Dettagli del formato
in sintesi- File di configurazione / certificato OpenVPN - Alcune configurazioni OpenVPN e OpenSSL utilizzano .cnf per le impostazioni di configurazione o di richiesta certificato (es. openssl.cnf).
- Configurazione emulatore arcade MAME - MAME e alcuni emulatori scrivono file di impostazioni .cnf per singolo gioco.
- Configurazione generica di applicazioni - Vari programmi riutilizzano .cnf come file di impostazioni in testo semplice non correlato a MySQL.
Programmi che aprono file CNF
Dettagli tecnici
specifiche approfondite| Formato file | File di opzioni in stile INI in testo semplice senza codifica binaria |
| Struttura della sintassi | Intestazioni di sezione come [mysqld] o [client], ciascuna contenente righe di opzioni chiave = valore |
| Codifica dei caratteri | ASCII / UTF-8 |
| Dimensione tipica del file | 1 KB - 30 KB |
| Nome file canonico | my.cnf su Linux e macOS; my.ini su Windows (stessa sintassi, nome diverso) |
| Percorsi di ricerca predefiniti | /etc/my.cnf, /etc/mysql/my.cnf, ~/.my.cnf - letti nell'ordine documentato; il file successivo sovrascrive il precedente |
| Gruppi di sezioni | [mysqld], [client], [mysqldump], [mysqld_safe], [mysql] |
| Direttive di inclusione | !include e !includedir consentono agli amministratori di suddividere la configurazione su più file |
| Sintassi dei commenti | Righe che iniziano con # o ; |
| Considerazioni sulla sicurezza | Può contenere password del database in testo semplice - proteggere con chmod 600 sui sistemi Unix |
| Tipo MIME | text/plain |
| Firma del file | Nessuna - identificata dalle intestazioni di sezione in stile INI come [mysqld], non da una firma binaria di byte |
| Prodotti compatibili | MySQL 5.x / 8.x e MariaDB 10.x / 11.x - entrambi utilizzano una sintassi dei file di opzioni identica |
| Opzioni chiave configurate | innodb_buffer_pool_size, wait_timeout, max_connections, character-set-server, bind-address |
| Compressione | Nessuna - sempre memorizzato come testo semplice non compresso |
| Sviluppatore | Oracle Corporation (MySQL) e MariaDB Foundation |
| Rilasciato | MySQL option files, mid-1990s (my.cnf on Unix; my.ini on Windows) |
| Ultima versione | Ongoing - same INI option-file syntax across MySQL 8.x and MariaDB 11.x |
| Standard aperto | Sì · royalty-free |
| Specifica | dev.mysql.com |
Conversioni CNF
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file CNF.