Wat is het CNF-bestandsformaat?
.cnf is een configuratiebestand dat hoort bij de relationele database MySQL en de compatibele fork MariaDB. .cnf-bestanden slaan opstartopties voor de database op in platte tekst, met behulp van een INI-stijl [sectie] sleutel = waarde syntaxis. Het canonieke bestand is my.cnf, meestal te vinden in /etc/my.cnf of /etc/mysql/my.cnf op Linux- en macOS-systemen. Op Windows wordt het equivalente bestand meestal my.ini genoemd.
.cnf-bestanden definiëren databaseparameters zoals buffergrootte, cache-instellingen, karaktercodering en netwerkopties. Een van de belangrijkste instellingen is de parameter wait_timeout, die bepaalt hoe lang de server wacht voordat een inactieve verbinding wordt gesloten - dit is vooral belangrijk voor grote databases en applicaties die complexe query's gebruiken. Andere richtlijnen beheren de InnoDB-bufferpool, binaire logging en maximale verbindingslimieten.
MySQL leest optiebestanden uit een gedocumenteerde reeks paden in volgorde, waarbij instellingen in latere bestanden die in eerdere bestanden overschrijven. Met de richtlijnen !include en !includedir kan de configuratie over meerdere .cnf-bestanden worden verdeeld.
MySQL is het populairste relationele databasebeheersysteem, veel gebruikt voor websites, bedrijfsapplicaties en cloud-implementaties. Het is gratis en open-source technologie die wordt onderhouden door Oracle. MariaDB, een community-fork, gebruikt dezelfde .cnf-syntaxis voor optiebestanden en is eveneens wijdverbreid op Linux-servers.
Beveiliging & veiligheid
RISICO: MEDIUMHet bestand is veilig om te lezen, maar er gelden twee belangrijke waarschuwingen. (1) Bewerkingsrisico: een ongeldige optie of typefout in [mysqld] is een veelvoorkomende oorzaak van „MySQL start niet” - maak een back-up van het bestand, wijzig één optie tegelijk en valideer voordat u herstart. (2) Blootstelling van inloggegevens: .cnf-bestanden (vooral ~/.my.cnf) slaan vaak databasegebruikersnamen en wachtwoorden op in platte tekst, dus beperk bestandsrechten (chmod 600) en commit er nooit een naar een publieke repository. Wees voorzichtig met gedownloade „geoptimaliseerde my.cnf” tuning-bestanden - controleer of de opties passen bij het RAM-geheugen en de versie van uw server.
Formaatdetails
in een notendop- OpenVPN-configuratie / certificaatbestand - Sommige OpenVPN- en OpenSSL-configuraties gebruiken .cnf voor instellingen of certificaataanvragen (bijv. openssl.cnf).
- MAME / arcade-emulator configuratie - MAME en sommige emulators schrijven .cnf-instellingenbestanden per spel.
- Generieke applicatieconfiguratie - Verschillende programma's hergebruiken .cnf als een instellingenbestand in platte tekst dat niets met MySQL te maken heeft.
Programma's die CNF-bestanden openen
Technische details
diepe specificaties| Bestandsformaat | Platte tekst INI-stijl optiebestand zonder binaire codering |
| Syntaxisstructuur | Sectiekoppen zoals [mysqld] of [client] die elk sleutel = waarde optieregels bevatten |
| Karaktercodering | ASCII / UTF-8 |
| Typische bestandsgrootte | 1 KB - 30 KB |
| Canonieke bestandsnaam | my.cnf op Linux en macOS; my.ini op Windows (dezelfde syntaxis, andere naam) |
| Standaard zoekpaden | /etc/my.cnf, /etc/mysql/my.cnf, ~/.my.cnf - gelezen in gedocumenteerde volgorde; later bestand overschrijft eerder bestand |
| Sectiegroepen | [mysqld], [client], [mysqldump], [mysqld_safe], [mysql] |
| Include-richtlijnen | !include en !includedir laten beheerders de configuratie over meerdere bestanden splitsen |
| Commentaar-syntaxis | Regels die beginnen met # of ; |
| Veiligheidsoverweging | Kan databasewachtwoorden in platte tekst bevatten - beveiligen met chmod 600 op Unix-systemen |
| MIME-type | text/plain |
| Bestandssignatuur | Geen - geïdentificeerd door INI-stijl sectiekoppen zoals [mysqld], niet door een binaire byte-signatuur |
| Compatibele producten | MySQL 5.x / 8.x en MariaDB 10.x / 11.x - beide gebruiken identieke syntaxis voor optiebestanden |
| Belangrijkste geconfigureerde opties | innodb_buffer_pool_size, wait_timeout, max_connections, character-set-server, bind-address |
| Compressie | Geen - altijd opgeslagen als niet-gecomprimeerde platte tekst |
| Ontwikkelaar | Oracle Corporation (MySQL) en de MariaDB Foundation |
| Uitgebracht | MySQL option files, mid-1990s (my.cnf on Unix; my.ini on Windows) |
| Laatste versie | Ongoing - same INI option-file syntax across MySQL 8.x and MariaDB 11.x |
| Open standaard | Ja · royaltyvrij |
| Specificatie | dev.mysql.com |
CNF conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over CNF-bestanden.