MySQL er et open source SQL relations-database styringssystem, der er udviklet og understøttet af Oracle.
Det er det korte, én sætning svarer på spørgsmålet om “hvad er MySQL”, men lad os fordele det til termer, der er lidt mere håndgribelige for mennesker.
En database er kun en struktureret samling af data, der er organiseret til let brug og hentning. For et WordPress-sted er “data” ting som teksten til dine blogindlæg, oplysninger til alle de registrerede brugere på dit websted, data der indlæses automatisk, vigtige indstillinger, konfiguration osv.
MySQL er kun et populært system, der kan gemme og administrere disse data for dig, og det er en særlig populær databaseløsning til WordPress-websteder.
Foreslået læsning: Sådan rettes “MySQL Serveren Er Forsvundet”-fejlen i WordPress og Sådan rettes MySQL 1064-fejlen.
Lad os komme lidt dybere ind i spørgsmålet nu.
Hvad er MySQL? Mere detaljeret
MySQL blev oprindeligt lanceret helt tilbage i 1995. Siden da er det gennemgået et par ændringer i ejerskab / forvaltning, før den endte hos Oracle Corporation i 2010. Mens Oracle er ansvarlig nu, er MySQL stadig open source software, hvilket betyder, at du frit kan bruge og ændre det.
Navnet kommer fra at sammensætte “My” – navnet på medstifterens datter – med SQL – forkortelsen af Structured Query Language, som er et programmeringssprog, der hjælper dig med at få adgang til og administrere data i en relationel database.
For at forstå, hvordan MySQL fungerer, er det vigtigt at kende to forbundne koncepter:
Relationsdatabaser
Når det kommer til lagring af data i en database, er der forskellige tilgange, som du kan bruge.
MySQL vælger en tilgang, som kaldes en relationsdatabase.
Med en relationsdatabase opdeles dine data i flere separate lagerområder – kaldet tabeller – snarere end at smide alt sammen i en stor lagerenhed.
Lad os for eksempel sige, at du vil gemme to typer information:
- Kunder – deres navn, adresse, detaljer osv.
- Ordrer – som hvilke produkter der blev købt, prisen, hvem der bestilte osv.
Hvis du prøvede at samle alle disse data sammen i en stor pot, ville du have et par problemer som:
- Forskellige data – de data, du skal indsamle for en ordre, er anderledes end for en kunde.
- Kopier data – hver kunde har et navn, og hver ordre har også navnet på en kunde. Håndtering af disse duplikatdata bliver rodet.
- Ingen organisation – hvordan forbinder du pålidelige ordreinformation til kundeinformation?
For at løse disse problemer vil en relationel database bruge en separat tabel til kunder og en anden separat tabel til ordrer.
Dog vil du sandsynligvis også være i stand til at sige “Vis mig alle ordrer for John Doe”. Det er her, den relationelle del kommer ind.
Ved hjælp af noget, der kaldes en “key”, er du i stand til at linke dataene fra disse to tabeller sammen, så du kan manipulere og kombinere dataene i forskellige tabeller efter behov. Det er vigtigt at bemærke, at en key ikke er kundens navn. I stedet ville du bruge noget 100% unikt, som et numerisk ID-nummer.
Hvis du nogensinde har kigget på dit WordPress-websteds database, vil du se, at det bruger denne relationelle model, hvor alle dine data er opdelt i separate tabeller.
Som standard bruger WordPress 12 separate tabeller, men mange WordPress-plugins tilføjer også deres egne tabeller. For eksempel har databasen til WordPress-webstedet nedenfor 44 separate tabeller!
For at afslutte dette relationskoncept, lad os gøre det specifikt for WordPress …
WordPress gemmer blogindlæg i wp_posts tabellen og brugere i wp_users tabellen. Da disse to tabeller er forbundet med en key, er du imidlertid i stand til at knytte hver brugerkonto til alle de blogindlæg, som hver bruger har skrevet.
Sådan ser det ud i databasen.
Hvert indlæg tildeles en post_author, som er et unikt identifikationsnummer (dette er nøglen / key):
Hvis du derefter vil se, hvilken brugerkonto der svarer til dette nummer, kan du se på ID‘et i wp_users-tabellen:
Nøglen – ID-nummeret – er det, der forbinder det hele. Og sådan er de “relaterede” til hinanden på trods af, at dataene er gemt i separate tabeller.
Klient-servermodel
Ud over at være et relationsdatabase-system bruger MySQL også noget, der kaldes klient-servermodellen.
Serverdelen er det, hvor dine data faktisk befinder sig. For at få adgang til disse data skal du dog anmode om dem. Det er her klienten kommer ind.
Ved hjælp af SQL – det programmeringssprog, vi har nævnt tidligere – sender klienten en anmodning til databaseserveren om de data, som klienten har brug for.
For eksempel, hvis nogen besøger et blogindlæg på dit websted, sender dit WordPress-site flere SQL-anmodninger til databaseserveren for at få alle de oplysninger, den har brug for for at levere blogindlægget til den besøgendes browser. Det ville:
- Forespørg wp_posts tabellen for at få indholdet til blogindlægget
- Spørg wp_users tabellen for at få oplysninger om forfatterfeltet (ved hjælp af nøglen, vi viste dig ovenfor)
Hvis du vil se nøjagtigt, hvilke typer databaseanmodninger der laves af dit WordPress-sted, kan du bruge et vidunderligt gratis plugin kaldet Query Monitor til at se det nøjagtige samspil mellem dit WordPress-sted (klienten) og databaseserveren:
En anden premium-løsning, du kan bruge, er New Relic (licens påkrævet). Hvis dit WordPress-websted ikke kan få adgang til databaseserveren, udløser det den almindelige fejl ved etablering af en databaseforbindelse meddelelse. Hos Kinsta bruger vi det indbyggede Kinsta APM-tool til at overvåge dine websteder.
Kinsta bruger MariaDB, ikke MySQL: Hvad er forskellen?
Her hos Kinsta bruger vi et databasesystem kaldet MariaDB, ikke MySQL. Alle de samme egenskaber, som du så med MySQL, gælder dog også for MariaDB.
Faktisk er MariaDB faktisk en gaffel af MySQL, og MariaDBs hovedudvikler er en af de oprindelige grundlæggere af MySQL. En “gaffel” betyder bare, at MariaDB-udviklerne tog den originale open-source MySQL-kode som deres base og derefter byggede på det for at oprette MariaDB.
Så selvom det har et andet navn, er MariaDB tæt knyttet til MySQL og tilbyder fuld “drop-in” udskiftningskapacitet (det vil sige, du kan problemfrit skifte fra MySQL til MariaDB uden at skulle tage særlige forholdsregler).
Selvom MariaDB dog tilbyder interoperabilitet med MySQL, tilbyder det også forbedret ydelse på nogle områder, hvilket passer til vores filosofi om at bruge den bedst ydende arkitektur til at styrke dit WordPress-sted.
Resume: Hvad er MySQL?
MySQL er et open source-relationsdatabase-styringssystem. For WordPress-websteder betyder det, at det hjælper dig med at gemme alle dine blogindlæg, brugere, plugin-oplysninger osv.
Det gemmer disse oplysninger i separate “tabeller” og forbinder dem med “taster”, hvorfor det er relationelt.
Når dit WordPress-websted skal have adgang til disse oplysninger, sender det en anmodning til MySQL-databaseserveren ved hjælp af SQL (dette er klient-servermodellen).
Kinsta bruger MariaDB, ikke MySQL. MariaDB er dog en gaffel af MySQL fra en af medstifterne af MySQL og tilbyder drop-in erstatnings-interoperabilitet samt nogle præstationsforbedringer. Som sådan gælder alle kernekoncepter i denne artikel også for MariaDB.
Hvis du er vært hos Kinsta, tilbyder vi både direkte databaseadgang såvel som muligheden for at bruge database styringsværktøjer som phpMyAdmin.