Co to jest format pliku CNF?
.cnf to plik konfiguracyjny powiązany z relacyjną bazą danych MySQL i jej kompatybilnym forkiem MariaDB. Pliki .cnf przechowują opcje uruchamiania bazy danych w formie zwykłego tekstu, używając składni typu INI [sekcja] klucz = wartość. Kanonicznym plikiem jest my.cnf, zazwyczaj zlokalizowany w /etc/my.cnf lub /etc/mysql/my.cnf w systemach Linux i macOS. W systemie Windows odpowiedni plik zazwyczaj nosi nazwę my.ini.
Pliki .cnf definiują parametry bazy danych, takie jak rozmiar bufora, ustawienia pamięci podręcznej, kodowanie znaków i opcje sieciowe. Jednym z najważniejszych ustawień jest parametr wait_timeout, który określa, jak długo serwer czeka przed zamknięciem nieaktywnego połączenia - jest to szczególnie istotne w przypadku dużych baz danych i aplikacji korzystających ze złożonych zapytań. Inne dyrektywy kontrolują pulę buforów InnoDB, logowanie binarne i maksymalne limity połączeń.
MySQL odczytuje pliki opcji z udokumentowanego zestawu ścieżek w określonej kolejności, przy czym ustawienia w późniejszych plikach nadpisują te z wcześniejszych. Dyrektywy !include i !includedir pozwalają na rozdzielenie konfiguracji na wiele plików .cnf.
MySQL to najpopularniejszy system zarządzania relacyjnymi bazami danych, szeroko stosowany w witrynach internetowych, aplikacjach korporacyjnych i wdrożeniach chmurowych. Jest to bezpłatna technologia open-source rozwijana przez Oracle. MariaDB, społecznościowy fork, używa tej samej składni plików opcji .cnf i jest równie powszechny na serwerach Linux.
Bezpieczeństwo
RYZYKO: MEDIUMPlik jest bezpieczny do odczytu, ale obowiązują dwa istotne ostrzeżenia. (1) Ryzyko edycji: nieprawidłowa opcja lub literówka w sekcji [mysqld] to częsta przyczyna błędu „MySQL nie chce się uruchomić” - wykonaj kopię zapasową pliku, zmieniaj jedną opcję na raz i sprawdź poprawność przed restartem. (2) Ekspozycja danych uwierzytelniających: pliki .cnf (zwłaszcza ~/.my.cnf) często przechowują nazwy użytkowników i hasła bazy danych otwartym tekstem, dlatego należy ograniczyć uprawnienia do pliku (chmod 600) i nigdy nie przesyłać go do publicznych repozytoriów. Należy ostrożnie podchodzić do pobranych plików optymalizacyjnych „optimized my.cnf” - sprawdź, czy opcje pasują do pamięci RAM i wersji Twojego serwera.
Szczegóły formatu
w pigułce- Plik konfiguracji / certyfikatu OpenVPN - Niektóre konfiguracje OpenVPN i OpenSSL używają rozszerzenia .cnf dla ustawień konfiguracji lub żądań certyfikatów (np. openssl.cnf).
- Konfiguracja emulatora arkadowego MAME - MAME i niektóre emulatory zapisują pliki ustawień .cnf dla poszczególnych gier.
- Ogólna konfiguracja aplikacji - Różne programy wykorzystują rozszerzenie .cnf jako plik ustawień w formacie zwykłego tekstu, niezwiązany z MySQL.
Programy otwierające pliki CNF
Szczegóły techniczne
specyfikacja| Format pliku | Plik opcji w stylu INI, zwykły tekst bez kodowania binarnego |
| Struktura składni | Nagłówki sekcji, takie jak [mysqld] lub [client], z których każdy zawiera linie opcji klucz = wartość |
| Kodowanie znaków | ASCII / UTF-8 |
| Typowy rozmiar pliku | 1 KB - 30 KB |
| Kanoniczna nazwa pliku | my.cnf w systemach Linux i macOS; my.ini w systemie Windows (ta sama składnia, inna nazwa) |
| Domyślne ścieżki wyszukiwania | /etc/my.cnf, /etc/mysql/my.cnf, ~/.my.cnf - odczytywane w udokumentowanej kolejności; późniejszy plik nadpisuje wcześniejszy |
| Grupy sekcji | [mysqld], [client], [mysqldump], [mysqld_safe], [mysql] |
| Dyrektywy dołączania | !include i !includedir pozwalają administratorom dzielić konfigurację na wiele plików |
| Składnia komentarzy | Linie zaczynające się od # lub ; |
| Kwestie bezpieczeństwa | Może zawierać hasła do bazy danych otwartym tekstem - należy chronić za pomocą chmod 600 w systemach Unix |
| Typ MIME | text/plain |
| Sygnatura pliku | Brak - identyfikowany przez nagłówki sekcji w stylu INI, takie jak [mysqld], a nie przez binarną sygnaturę bajtową |
| Kompatybilne produkty | MySQL 5.x / 8.x oraz MariaDB 10.x / 11.x - oba używają identycznej składni plików opcji |
| Kluczowe konfigurowane opcje | innodb_buffer_pool_size, wait_timeout, max_connections, character-set-server, bind-address |
| Kompresja | Brak - zawsze przechowywany jako nieskompresowany zwykły tekst |
| Deweloper | Oracle Corporation (MySQL) oraz MariaDB Foundation |
| Wydano | MySQL option files, mid-1990s (my.cnf on Unix; my.ini on Windows) |
| Najnowsza wersja | Ongoing - same INI option-file syntax across MySQL 8.x and MariaDB 11.x |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | dev.mysql.com |
Konwersje CNF
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki CNF.