Wat is het OPT-bestandsformaat?
Bestanden met de extensie .opt worden gebruikt om database-tekenseteigenschappen op te slaan. Elk db.opt-bestand bevat twee belangrijke instellingen die de standaard tekencodering en collatie van de database definiëren - specifiek een default-character-set= regel en een default-collation= regel. MySQL-databasemanagementsoftware slaat deze informatie op in db.opt-bestanden, één per database, die zich bevinden in de submap van die database binnen de MySQL-datamap.
Andere MySQL-databaseconfiguratiebestanden
De MySQL-datamap kan ook andere databasegerelateerde bestanden bevatten, waaronder:
.frm- een bestand dat het schema van de databasetabel bevat;.myd- een bestand waarin MyISAM-tabelgegevens worden opgeslagen;.myi- een bestand dat informatie bevat over MyISAM-tabelindexen;.ibd- een bestand waarin gegevens en indexen van InnoDB-tabellen worden opgeslagen.
Het db.opt-bestand was verplicht in MySQL 5.7 en eerder, en werd automatisch aangemaakt telkens wanneer een database werd gemaakt of de standaardinstellingen werden gewijzigd. MySQL 8.0 (uitgebracht in 2018) heeft db.opt volledig verwijderd - de standaard tekenset en collatie van de database worden nu opgeslagen in de transactionele datadictionary. Het rechtstreeks bewerken van een db.opt-bestand wordt niet aanbevolen; de juiste manier om deze standaardwaarden in te stellen is via CREATE DATABASE- of ALTER DATABASE-statements.
Beveiliging & veiligheid
RISICO: LOWdb.opt is een klein, passief tekstbestand zonder uitvoerbare inhoud, dus het vormt geen direct beveiligingsrisico. De praktische waarschuwingen zijn operationeel: bewerk of verwijder db.opt niet handmatig op een actieve MySQL-server - wijzig de tekenset/collatie van een database met ALTER DATABASE zodat de server consistent blijft; en wanneer u een MyISAM-database van vóór 8.0 kopieert via de onbewerkte bestanden, verplaats db.opt dan samen met de databasemap zodat de standaardwaarden niet verloren gaan. Op MySQL 8.0+ is er helemaal geen db.opt, dus de afwezigheid ervan in een nieuwere datamap is normaal, geen probleem.
Formaatdetails
in een notendop- Generiek „opties/instellingen”-bestand (.opt) - Veel niet-gerelateerde programma's gebruiken .opt voor hun eigen opties/configuratie; buiten MySQL betekent de extensie gewoon het instellingenbestand van een applicatie.
- Origin (OriginLab) opties / DVD .OPT / sjabloonbestanden - Sommige tools (bijv. OriginLab, bepaalde DVD-authoring) gebruiken .opt voor hun eigen gegevens; alleen geopend door de oorspronkelijke software, niet gerelateerd aan MySQL.
Programma's die OPT-bestanden openen
Technische details
diepe specificaties| Vaste bestandsnaam | Altijd genaamd db.opt; de .opt-extensie verschijnt niet onafhankelijk - het bestand wordt geïdentificeerd door zijn vaste naam en maplocatie, niet door de extensie alleen |
| Bestandsformaat | Platte-tekst sleutel=waarde configuratiebestand; geen binaire structuur of header |
| Codering | ASCII / UTF-8, geen byte-order mark |
| Typische bestandsgrootte | Minder dan 100 bytes - meestal precies twee regels tekst |
| Opgeslagen instellingen | Precies twee richtlijnen: default-character-set=<charset> en default-collation=<collation> |
| Bestandslocatie | Eén db.opt per database, in de submap van die database onder de MySQL-datamap (bijv. /var/lib/mysql/<dbname>/db.opt op Linux) |
| Gemaakt door | MySQL-server automatisch bij CREATE DATABASE; ook bijgewerkt door ALTER DATABASE … CHARACTER SET … COLLATE … |
| Bereik van instellingen | Standaardwaarden per database, overgenomen door nieuwe tabellen en kolommen, tenzij overschreven op tabel- of kolomniveau |
| MySQL-versieondersteuning | Aanwezig in MySQL 3.x tot en met 5.7; volledig verwijderd in MySQL 8.0 (2018) |
| Reden voor verwijdering | MySQL 8.0 heeft op bestanden gebaseerde metadata vervangen door een transactionele datadictionary opgeslagen in InnoDB, waardoor db.opt- en .frm-bestanden overbodig werden |
| MIME-type | text/plain |
| Besturingssystemen | Linux, Windows, macOS - elk platform waarop MySQL Server 5.7 of eerder draait |
| Directe bewerking | Bekijkbaar met elke tekstverwerker; handmatige bewerking wordt niet ondersteund en kan leiden tot inconsistenties in tekenset/collatie tussen het bestand en de interne status van de server |
| Vervangen door | MySQL datadictionary-tabel mysql.schemata (op InnoDB-basis), die default_character_set_name en default_collation_name per schema opslaat |
| Uitgebracht | Early MySQL (db.opt has existed for many MySQL versions in MyISAM/legacy data directories) |
| Laatste versie | Used up to MySQL 5.7; REMOVED in MySQL 8.0 (2018) when metadata moved into the transactional data dictionary |
| Specificatie | dev.mysql.com |
OPT conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over OPT-bestanden.