Vad är filformatet CNF?
.cnf är en konfigurationsfil associerad med den relationella databasen MySQL och dess kompatibla förgrening MariaDB. .cnf-filer lagrar startalternativ för databasen i klartext med en INI-liknande [section] key = value-syntax. Den kanoniska filen är my.cnf, vanligtvis placerad i /etc/my.cnf eller /etc/mysql/my.cnf på Linux- och macOS-system. På Windows kallas motsvarande fil vanligtvis my.ini.
.cnf-filer definierar databasparametrar som buffertstorlek, cacheinställningar, teckenkodning och nätverksalternativ. En av de viktigaste inställningarna är parametern wait_timeout, som avgör hur länge servern väntar innan den stänger en inaktiv anslutning - detta är särskilt viktigt för stora databaser och applikationer som använder komplexa frågor. Andra direktiv styr InnoDB-buffertpoolen, binär loggning och gränser för maximalt antal anslutningar.
MySQL läser alternativfiler från en dokumenterad uppsättning sökvägar i ordning, där inställningar i senare filer åsidosätter tidigare. Direktiven !include och !includedir gör det möjligt att dela upp konfigurationen på flera .cnf-filer.
MySQL är det mest populära hanteringssystemet för relationella databaser, flitigt använt för webbplatser, företagsapplikationer och molndistributioner. Det är en fri och öppen källkodsteknik som underhålls av Oracle. MariaDB, en community-förgrening, använder samma .cnf-syntax för alternativfiler och är lika utbredd på Linux-servrar.
Säkerhet & trygghet
RISK: MEDIUMFilen är säker att läsa, men två varningar gäller. (1) Risk vid redigering: ett ogiltigt alternativ eller skrivfel i [mysqld] är en vanlig orsak till att »MySQL startar inte« - säkerhetskopiera filen, ändra ett alternativ i taget och validera före omstart. (2) Exponering av inloggningsuppgifter: .cnf-filer (särskilt ~/.my.cnf) lagrar ofta användarnamn och lösenord i klartext, så begränsa filbehörigheter (chmod 600) och skicka aldrig filen till ett publikt kodarkiv. Var försiktig med nedladdade »optimerade my.cnf«-filer - kontrollera att alternativen passar din servers RAM och version.
Formatdetaljer
i ett nötskal- OpenVPN-konfiguration / certifikatfil - Vissa OpenVPN- och OpenSSL-inställningar använder .cnf för konfiguration eller inställningar för certifikatbegäran (t.ex. openssl.cnf).
- MAME / arkademulatorkonfiguration - MAME och vissa emulatorer skriver inställningsfiler i .cnf-format per spel.
- Generisk applikationskonfiguration - Olika program återanvänder .cnf som en inställningsfil i klartext som inte är relaterad till MySQL.
Program som öppnar CNF-filer
Tekniska detaljer
djup specifikation| Filformat | INI-liknande alternativfil i klartext utan binär kodning |
| Syntaxstruktur | Sektionsrubriker som [mysqld] eller [client] som var och en innehåller alternativrader med key = value |
| Teckenkodning | ASCII / UTF-8 |
| Typisk filstorlek | 1 KB - 30 KB |
| Kanoniskt filnamn | my.cnf på Linux och macOS; my.ini på Windows (samma syntax, olika namn) |
| Standard sökordningar | /etc/my.cnf, /etc/mysql/my.cnf, ~/.my.cnf - läses i dokumenterad ordning; senare fil åsidosätter tidigare |
| Sektionsgrupper | [mysqld], [client], [mysqldump], [mysqld_safe], [mysql] |
| Inkluderingsdirektiv | !include och !includedir låter administratörer dela upp konfigurationen på flera filer |
| Kommentarsyntax | Rader som börjar med # eller ; |
| Säkerhetsaspekt | Kan innehålla databaslösenord i klartext - skydda med chmod 600 på Unix-system |
| MIME-typ | text/plain |
| Filsignatur | Ingen - identifieras av INI-liknande sektionsrubriker som [mysqld], inte av en binär signatur |
| Kompatibla produkter | MySQL 5.x / 8.x och MariaDB 10.x / 11.x - båda använder identisk syntax för alternativfiler |
| Viktiga konfigurerade alternativ | innodb_buffer_pool_size, wait_timeout, max_connections, character-set-server, bind-address |
| Komprimering | Ingen - lagras alltid som okomprimerad klartext |
| Utvecklare | Oracle Corporation (MySQL) och MariaDB Foundation |
| Släppt | MySQL option files, mid-1990s (my.cnf on Unix; my.ini on Windows) |
| Senaste version | Ongoing - same INI option-file syntax across MySQL 8.x and MariaDB 11.x |
| Öppen standard | Ja · royaltyfri |
| Specifikation | dev.mysql.com |
CNF-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om CNF-filer.