Qu'est-ce que le format de fichier CNF ?
.cnf est un fichier de configuration associé à la base de données relationnelle MySQL et à son fork compatible MariaDB. Les fichiers .cnf stockent les options de démarrage de la base de données en texte brut, en utilisant une syntaxe de style INI [section] clé = valeur. Le fichier canonique est my.cnf, généralement situé dans /etc/my.cnf ou /etc/mysql/my.cnf sur les systèmes Linux et macOS. Sur Windows, le fichier équivalent est généralement nommé my.ini.
Les fichiers .cnf définissent des paramètres de base de données tels que la taille du tampon, les paramètres de cache, l'encodage des caractères et les options réseau. L'un des paramètres les plus importants est le paramètre wait_timeout, qui détermine combien de temps le serveur attend avant de fermer une connexion inactive - ceci est particulièrement important pour les grandes bases de données et les applications qui utilisent des requêtes complexes. D'autres directives contrôlent le pool de tampons InnoDB, la journalisation binaire et les limites maximales de connexion.
MySQL lit les fichiers d'options à partir d'un ensemble de chemins documentés dans l'ordre, les paramètres des fichiers ultérieurs remplaçant ceux des fichiers précédents. Les directives !include et !includedir permettent de diviser la configuration sur plusieurs fichiers .cnf.
MySQL est le système de gestion de base de données relationnelle le plus populaire, largement utilisé pour les sites web, les applications d'entreprise et les déploiements cloud. C'est une technologie gratuite et open-source maintenue par Oracle. MariaDB, un fork communautaire, utilise la même syntaxe de fichier d'options .cnf et est tout aussi répandu sur les serveurs Linux.
Sécurité et sûreté
RISQUE : MEDIUMLe fichier peut être lu en toute sécurité, mais deux précautions réelles s'appliquent. (1) Risque d'édition : une option invalide ou une faute de frappe dans [mysqld] est une cause fréquente de « MySQL ne démarre pas » - sauvegardez le fichier, changez une option à la fois et validez avant de redémarrer. (2) Exposition des identifiants : les fichiers .cnf (en particulier ~/.my.cnf) stockent souvent des noms d'utilisateur et des mots de passe de base de données en clair, donc restreignez les permissions du fichier (chmod 600) et ne le soumettez jamais à un dépôt public. Traitez les fichiers d'optimisation « my.cnf optimisé » téléchargés avec prudence - vérifiez que les options conviennent à la RAM et à la version de votre serveur.
Détails du format
en bref- Fichier de configuration / certificat OpenVPN - Certaines configurations OpenVPN et OpenSSL utilisent .cnf pour les paramètres de configuration ou de demande de certificat (ex: openssl.cnf).
- Configuration d'émulateur arcade / MAME - MAME et certains émulateurs écrivent des fichiers de paramètres .cnf par jeu.
- Configuration d'application générique - Divers programmes réutilisent .cnf comme fichier de paramètres en texte brut sans rapport avec MySQL.
Programmes qui ouvrent les fichiers CNF
Détails techniques
spécifications approfondies| Format de fichier | Fichier d'options de style INI en texte brut sans encodage binaire |
| Structure syntaxique | En-têtes de section tels que [mysqld] ou [client] contenant chacun des lignes d'options clé = valeur |
| Encodage des caractères | ASCII / UTF-8 |
| Taille de fichier typique | 1 Ko - 30 Ko |
| Nom de fichier canonique | my.cnf sur Linux et macOS ; my.ini sur Windows (même syntaxe, nom différent) |
| Chemins de recherche par défaut | /etc/my.cnf, /etc/mysql/my.cnf, ~/.my.cnf - lus dans l'ordre documenté ; le fichier ultérieur remplace le précédent |
| Groupes de sections | [mysqld], [client], [mysqldump], [mysqld_safe], [mysql] |
| Directives d'inclusion | !include et !includedir permettent aux administrateurs de diviser la configuration sur plusieurs fichiers |
| Syntaxe des commentaires | Lignes commençant par # ou ; |
| Considération de sécurité | Peut contenir des mots de passe de base de données en texte clair - protéger avec chmod 600 sur les systèmes Unix |
| Type MIME | text/plain |
| Signature de fichier | Aucune - identifié par les en-têtes de section de style INI comme [mysqld], pas par une signature d'octets binaire |
| Produits compatibles | MySQL 5.x / 8.x et MariaDB 10.x / 11.x - les deux utilisent une syntaxe de fichier d'options identique |
| Options clés configurées | innodb_buffer_pool_size, wait_timeout, max_connections, character-set-server, bind-address |
| Compression | Aucune - toujours stocké sous forme de texte brut non compressé |
| Développeur | Oracle Corporation (MySQL) et la MariaDB Foundation |
| Publié | MySQL option files, mid-1990s (my.cnf on Unix; my.ini on Windows) |
| Dernière version | Ongoing - same INI option-file syntax across MySQL 8.x and MariaDB 11.x |
| Standard ouvert | Oui · libre de droits |
| Spécification | dev.mysql.com |
Conversions CNF
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers CNF.