Hvad er CNF-filformatet?
.cnf er en konfigurationsfil tilknyttet den relationelle database MySQL og dens kompatible fork MariaDB. .cnf-filer gemmer databasens opstartsindstillinger i almindelig tekst ved hjælp af en INI-lignende [section] key = value syntaks. Den kanoniske fil er my.cnf, som typisk findes i /etc/my.cnf eller /etc/mysql/my.cnf på Linux- og macOS-systemer. På Windows hedder den tilsvarende fil normalt my.ini.
.cnf-filer definerer databaseparametre såsom bufferstørrelse, cache-indstillinger, tegnkodning og netværksindstillinger. En af de vigtigste indstillinger er parameteren wait_timeout, som bestemmer, hvor længe serveren venter, før den lukker en inaktiv forbindelse - dette er især vigtigt for store databaser og applikationer, der bruger komplekse forespørgsler. Andre direktiver styrer InnoDB-bufferpuljen, binær logning og maksimale forbindelsesgrænser.
MySQL læser indstillingsfiler fra et dokumenteret sæt stier i rækkefølge, hvor indstillinger i senere filer overskriver tidligere. Direktiverne !include og !includedir gør det muligt at opdele konfigurationen på tværs af flere .cnf-filer.
MySQL er det mest populære relationelle databasestyringssystem, der er vidt brugt til websteder, virksomhedsapplikationer og cloud-implementeringer. Det er gratis open source-teknologi vedligeholdt af Oracle. MariaDB, en community-fork, bruger den samme .cnf-syntaks til indstillingsfiler og er lige så udbredt på Linux-servere.
Sikkerhed og tryghed
RISIKO: MEDIUMFilen er sikker at læse, men to reelle forholdsregler gælder. (1) Risiko ved redigering: en ugyldig indstilling eller tastefejl i [mysqld] er en almindelig årsag til, at »MySQL ikke vil starte« - tag backup af filen, skift én indstilling ad gangen, og valider før genstart. (2) Eksponering af legitimationsoplysninger: .cnf-filer (især ~/.my.cnf) gemmer ofte brugernavne og adgangskoder til databaser i klartekst, så begræns filrettighederne (chmod 600) og commit aldrig en til et offentligt lager. Behandl downloadede »optimerede my.cnf«-filer med forsigtighed - bekræft, at indstillingerne passer til din servers RAM og version.
Formatdetaljer
kort fortalt- OpenVPN konfigurations- / certifikatfil - Nogle OpenVPN- og OpenSSL-opsætninger bruger .cnf til konfigurations- eller certifikatanmodningsindstillinger (f.eks. openssl.cnf).
- MAME / arkade-emulator konfiguration - MAME og visse emulatorer skriver .cnf-indstillingsfiler pr. spil.
- Generisk applikationskonfiguration - Forskellige programmer genbruger .cnf som en indstillingsfil i almindelig tekst, der ikke er relateret til MySQL.
Programmer der åbner CNF-filer
Tekniske detaljer
dyb specifikation| Filformat | Almindelig tekst INI-lignende indstillingsfil uden binær kodning |
| Syntaksstruktur | Sektionshoveder såsom [mysqld] eller [client], der hver indeholder key = value indstillingslinjer |
| Tegnkodning | ASCII / UTF-8 |
| Typisk filstørrelse | 1 KB - 30 KB |
| Kanonisk filnavn | my.cnf på Linux og macOS; my.ini på Windows (samme syntaks, forskelligt navn) |
| Standard søgestier | /etc/my.cnf, /etc/mysql/my.cnf, ~/.my.cnf - læses i dokumenteret rækkefølge; senere fil overskriver tidligere |
| Sektionsgrupper | [mysqld], [client], [mysqldump], [mysqld_safe], [mysql] |
| Include-direktiver | !include og !includedir lader administratorer opdele konfigurationen over flere filer |
| Kommentarsyntaks | Linjer der starter med # eller ; |
| Sikkerhedsovervejelser | Kan indeholde database-adgangskoder i klartekst - beskyt med chmod 600 på Unix-systemer |
| MIME-type | text/plain |
| Filsignatur | Ingen - identificeres ved INI-lignende sektionshoveder som [mysqld], ikke en binær byte-signatur |
| Kompatible produkter | MySQL 5.x / 8.x og MariaDB 10.x / 11.x - begge bruger identisk syntaks til indstillingsfiler |
| Vigtige indstillinger | innodb_buffer_pool_size, wait_timeout, max_connections, character-set-server, bind-address |
| Komprimering | Ingen - altid gemt som ukomprimeret almindelig tekst |
| Udvikler | Oracle Corporation (MySQL) og MariaDB Foundation |
| Udgivet | MySQL option files, mid-1990s (my.cnf on Unix; my.ini on Windows) |
| Seneste version | Ongoing - same INI option-file syntax across MySQL 8.x and MariaDB 11.x |
| Åben standard | Ja · royaltyfri |
| Specifikation | dev.mysql.com |
CNF-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om CNF-filer.