MySQL lagrar information om olika alternativ som är inställda för en databas (och servern själv) på flera ställen, beroende på typ av alternativ:
* `mysql` systemdatabas: Många serveromfattande och globala alternativ lagras i tabellerna i databasen "MySQL". Detta inkluderar saker som användarkonton, bidrag och vissa serverkonfigurationsvariabler. Det gäller emellertid inte * alla * serveralternativ.
* serverns alternativfiler: Den primära platsen för alternativ för servernivå finns i serverns alternativfiler. Den exakta platsen och filnamnet (er) beror på ditt operativsystem och hur MySQL installerades, men vanliga namn inkluderar `my.cnf` (eller` my.ini` på Windows) och liknande variationer. Dessa filer innehåller direktiv som ställer in olika parametrar som portnummer, buffertstorlekar och teckenuppsättningar. Dessa läses vid serverstart.
* `Information_Schema` Databas: Denna databas ger en strukturerad vy av många aspekter av MySQL-servern, inklusive några databasspecifika alternativ. Det är inte en lagringsplats i sig, men det ger dig ett sätt att fråga statusen för olika alternativ. Det är en skrivskyddad bild av de underliggande datastrukturerna.
* Prestationsschema: För detaljerad information om prestandaövervakning är databasen `Performance_schema 'en bra källa. Även om det inte strikt "alternativ", ger insikter om hur olika serverinställningar påverkar prestanda.
* InnoDB Data Dictionary: För alternativ relaterade till InnoDB -lagringsmotorn (som dess buffertpoolstorlek) upprätthålls mycket av informationen inom InnoDB Internal Data Dictionary. Detta är inte direkt tillgängligt via SQL -frågor i de flesta fall.
Sammanfattningsvis finns det inte en enda plats. Informationen distribueras över konfigurationsfiler, systemdatabaser och interna datastrukturer för lagringsmotorerna. Konfigurationsfilerna är den primära platsen där alternativen är *inställda *, medan systemdatabaserna ger ett sätt att *fråga *aspekter av den aktuella konfigurationen.