Qu'est-ce que le format de fichier OPT ?
Les fichiers avec l'extension .opt sont utilisés pour stocker les propriétés du jeu de caractères de la base de données. Chaque fichier db.opt contient deux paramètres clés qui définissent l'encodage et la collation par défaut de la base de données - spécifiquement une ligne default-character-set= et une ligne default-collation=. Le logiciel de gestion de base de données MySQL enregistre ces informations dans des fichiers db.opt, un par base de données, situés dans le sous-répertoire de cette base de données au sein du répertoire de données MySQL.
Autres fichiers de configuration de base de données MySQL
Le répertoire de données MySQL peut également contenir d'autres fichiers liés à la base de données, notamment :
.frm- un fichier contenant le schéma de la table de la base de données ;.myd- un fichier qui stocke les données des tables MyISAM ;.myi- un fichier qui contient des informations relatives aux index des tables MyISAM ;.ibd- un fichier qui stocke les données et les index des tables InnoDB.
Le fichier db.opt était obligatoire dans MySQL 5.7 et les versions antérieures, créé automatiquement chaque fois qu'une base de données était créée ou que ses paramètres par défaut changeaient. MySQL 8.0 (sorti en 2018) a entièrement supprimé db.opt - le jeu de caractères et la collation par défaut de la base de données sont désormais stockés dans le dictionnaire de données transactionnelles. Il n'est pas recommandé de modifier directement un fichier db.opt ; la manière correcte de définir ces valeurs par défaut est d'utiliser les instructions CREATE DATABASE ou ALTER DATABASE.
Sécurité et sûreté
RISQUE : LOWdb.opt est un minuscule fichier texte passif sans contenu exécutable, il ne présente donc aucun risque de sécurité direct. Les précautions pratiques sont opérationnelles : ne modifiez pas manuellement et ne supprimez pas db.opt sur un serveur MySQL en production - changez le jeu de caractères/collation d'une base de données avec ALTER DATABASE pour que le serveur reste cohérent ; et lors de la copie d'une base de données MyISAM antérieure à 8.0 par ses fichiers bruts, déplacez db.opt avec le répertoire de la base de données pour ne pas perdre ses paramètres par défaut. Sur MySQL 8.0+, il n'y a pas de db.opt du tout, son absence dans un répertoire de données plus récent est donc normale et ne constitue pas un problème.
Détails du format
en bref- Fichier générique d'options/paramètres (.opt) - De nombreux programmes non liés utilisent .opt pour leurs propres options/configuration ; en dehors de MySQL, l'extension signifie simplement un fichier de paramètres d'application.
- Options Origin (OriginLab) / DVD .OPT / fichiers modèles - Certains outils (ex: OriginLab, certains logiciels d'authoring DVD) utilisent .opt pour leurs propres données ; ouverts uniquement par le logiciel d'origine, sans rapport avec MySQL.
Programmes qui ouvrent les fichiers OPT
Détails techniques
spécifications approfondies| Nom de fichier fixe | Toujours nommé db.opt ; l'extension .opt n'apparaît pas indépendamment - le fichier est identifié par son nom fixe et son emplacement dans le répertoire, pas par son extension seule |
| Format de fichier | Fichier de configuration clé=valeur en texte brut ; aucune structure binaire ou en-tête |
| Encodage | ASCII / UTF-8, sans marque d'ordre d'octets (BOM) |
| Taille de fichier typique | Moins de 100 octets - généralement exactement deux lignes de texte |
| Paramètres stockés | Exactement deux directives : default-character-set=<charset> et default-collation=<collation> |
| Emplacement du fichier | Un db.opt par base de données, à l'intérieur du sous-répertoire de cette base sous le répertoire de données MySQL (ex: /var/lib/mysql/<dbname>/db.opt sous Linux) |
| Créé par | Serveur MySQL automatiquement lors de CREATE DATABASE ; également mis à jour par ALTER DATABASE … CHARACTER SET … COLLATE … |
| Portée des paramètres | Valeurs par défaut par base de données, héritées par les nouvelles tables et colonnes sauf si elles sont surchargées au niveau de la table ou de la colonne |
| Versions MySQL supportées | Présent de MySQL 3.x à 5.7 ; entièrement supprimé dans MySQL 8.0 (2018) |
| Raison de la suppression | MySQL 8.0 a remplacé les métadonnées basées sur des fichiers par un dictionnaire de données transactionnelles stocké dans InnoDB, éliminant les fichiers db.opt et .frm |
| Type MIME | text/plain |
| Systèmes d'exploitation | Linux, Windows, macOS - toute plateforme exécutant MySQL Server 5.7 ou antérieur |
| Édition directe | Consultable avec n'importe quel éditeur de texte brut ; l'édition manuelle n'est pas prise en charge et peut entraîner des incohérences de jeu de caractères/collation entre le fichier et l'état interne du serveur |
| Remplacé par | Table du dictionnaire de données MySQL mysql.schemata (basée sur InnoDB), qui stocke default_character_set_name et default_collation_name par schéma |
| Publié | Early MySQL (db.opt has existed for many MySQL versions in MyISAM/legacy data directories) |
| Dernière version | Used up to MySQL 5.7; REMOVED in MySQL 8.0 (2018) when metadata moved into the transactional data dictionary |
| Spécification | dev.mysql.com |
Conversions OPT
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers OPT.