använda MySQL med WordPress

inlagd i WordPress av WP Engine

Senast uppdaterad den 14 oktober, 2019

om du hanterar en WordPress-webbplats kanske du har hittat dig själv som vill veta mer om hur dess databas fungerar. Det är användbart att förstå hur din webbplats fungerar bakom kulisserna, och det kan till och med finnas tillfällen när du behöver komma åt webbplatsens databas direkt.

det är där MySQL kommer in. Structured Query Language (SQL) är hanteringssystemet för WordPress databaser. Vi kommer att gå in mer i detalj senare, men det räcker med att säga att databasen är hjärnan på din webbplats och MySQL är nervsystemet, skicka kommandon fram och tillbaka för att hämta information och utföra operationer.

i den här artikeln ger vi en detaljerad förklaring av hur MySQL fungerar när det gäller WordPress. Dessutom granskar vi flera databasfel som du kan stöta på och förklarar hur du åtgärdar dem. Låt oss dyka rätt in!

MySQL Explained

du kanske har hört en databas som tidigare beskrivits som ett arkivskåp, en plats att hålla all din webbplats viktig information i kategoriserade slots. I denna analogi är de enskilda mapparna i skåpet databastabellerna som innehåller information.

när det gäller MySQL är det hur förfrågningar görs för att placera eller ta bort data i dessa mappar. Du kan också använda MySQL för att ställa in regler för vad som får placeras i varje del av arkivskåpet.

MySQL kan dock inte fungera ensam. Det är en del av en bunt program som används för att skapa webbplatser. De andra komponenterna inkluderar Linux, Apache, MySQL och PHP (LAMP). Tillsammans bildar de ’drömteamet’ för programmeringsvärlden med öppen källkod.

använda MySQL för WordPress

när det gäller WordPress används PHP-skriptspråket för att skicka och hämta information från din MySQL-databas. Dessa två element hanterar allt från att logga in på webbplatsanvändare till att lagra tema-och plugin-information för visning av dynamiskt innehåll.

MySQL använder tabellstrukturer för att lagra data. De flesta webbhotell kommer med en MySQL användargränssnitt programvara som kallas phpMyAdmin. Detta gratis och öppen källkod mjukvara gör det enkelt att köra databaskommandon. Det gör att du kan redigera, ta bort eller skapa tabeller, rader och fält:

MySQL-gränssnitt i phpMyAdmin

under en vanlig WordPress-installation skapas 12 tabeller i din databas. Du kan se dem listade till vänster i bilden ovan. Dessa tabeller innehåller viktig information som krävs för att din webbplats ska fungera.

till exempel lagrar wp_options-tabellen de alternativ du kan komma åt och styra från inställningsmenyn i din WordPress-instrumentpanel. Det är också hemmet för dina olika widgetrelaterade inställningar.

som du kan se i phpMyAdmin-panelen kommer information om alla data som finns i en tabell att synas när du klickar på dess namn. Detta inkluderar alla värden eller parametrar som är associerade med specifika fält.

MySQL Plugins / Extensions

även om det inte finns många plugins som direkt förbättrar MySQL-funktionaliteten inom WordPress, finns det några verktyg som är värda att kolla in om du planerar att manuellt ändra eller ändra din databas ofta.

till exempel är WP phpMyAdmin ett användbart plugin om du vill kunna komma åt din webbplats phpMyAdmin-panel från din WordPress-instrumentpanel, snarare än via din webbhotell kontrollpanel:

WP phpMyAdmin plugin

Detta är en enkel men populär lösning som ger bekväm tillgång till din databas. Det kan också göra det lite lättare att lösa MySQL-relaterade fel, som vi ser nedan.

vanliga MySQL-fel i WordPress (och hur man löser dem)

databasfel kan hända vem som helst, men kan vara frustrerande att hantera. För att göra ditt liv enklare hjälper det att förstå de vanligaste problemen som kan uppstå, liksom var och en troliga lösningar. Låt oss titta på fem exempel på typiska MySQL-problem.

Fel vid upprättande av en databasanslutning

om du stöter på ett meddelande som ”Fel vid upprättande av en databasanslutning” när du försöker komma åt din webbplats betyder det sannolikt att din URL pekar på fel databas eller att din webbplats stöter på ett anslutningsfel.

ett databasanslutningsfel betyder att du inte kommer att kunna komma åt din webbplats. Du kommer sannolikt också att blockeras från att logga in på din administrationspanel. I detta scenario, din wp-config.php-filen är troligtvis den skyldige.

det första sättet du kan lösa problemet är genom att komma åt webbplatsens värdkonto och återställa en ny säkerhetskopia. Detta återställer din wp-config.php-fil, vilket ger dig tillgång till din administrationspanel. Om det inte är möjligt att komma åt en säkerhetskopia av din webbplats finns det dock en annan lösning.

du kan också redigera din wp-config.php-fil med ett SFTP-program (Secure File Transfer Protocol) som FileZilla. När du ansluter till din webbplats, din wp-config.php-fil kan hittas i rotkatalogen på webbplatsens filer:

katalog över wordpress-webbplatsfiler

om du öppnar filen ser du all din databasinformation längst upp. Du kan sedan kontrollera om det finns ett misstag i ditt databasnamn, användarnamn eller annan information om din webbplats.

du kan behöva kontakta din värd om du är osäker på vad denna information ska innehålla. Du kommer mest att vara intresserad av att verifiera rätt ”DB_USER”, ”DB_PASSWORD” och ”DB_HOST”. När du har slutfört nödvändiga korrigeringar, se till att spara dina ändringar och ladda upp filen tillbaka till Webbplatsens server.

fel #1005

felet #1005 är ett problem på serversidan snarare än ett problem med din webbplats. Det inträffar när en nödvändig tabell inte kunde skapas. Beroende på detaljerna i meddelandesträngen kan du få mer information om orsaken till felet.

till exempel kan ditt felmeddelande se ut så här:

Can't create table '%s' (errno: %d)

den vanligaste ” errno ”med denna fråga är”(errno: 150)”. Det betyder att det finns ett problem med utländsk nyckelbegränsning. Med andra ord är det troligt att tabellen du försöker skapa konflikter med en uppsättning begränsning. Felet förhindrar att inkonsekvenser uppstår i data mellan flera tabeller.

för att lösa ett sekundärnyckelbegränsningsfel måste du göra lite undersökning och kontrollera dina databastabeller för inkonsekvenser. Det betyder att du vill:

  • se till att de berörda tabellerna alla refererar till samma databasmotor.
  • kontrollera att fälten du indexerar alla har samma typ eller längd.

detta fel innebär vanligtvis enkla inkonsekvenser och kräver helt enkelt lite tid och tålamod att rätta till.

fel #1213

detta nästa fel visas vanligtvis tillsammans med en ”er_lock_deadlock” – symbol. Du bör också få ett meddelande som ser ut så här: ”dödläge hittades när du försökte få lås; försök starta om transaktionen”. Lyckligtvis är detta ett fel som följer med instruktioner som du kan använda för att lösa det snabbt.

när du utför en transaktion som stöter på ett dödläge, kommer din transaktion att stoppa och rulla tillbaka. Detta beror på ett SQL-kommando som stoppar transaktionen och ångrar alla ändringar som gjorts. Du kan tänka på detta som en automatisk ’ångra’ funktion som gör att din ansökan för att stoppa och vidta korrigerande åtgärder.

i det här fallet behöver du bara köra transaktionen igen. Återställningen kommer att ha släppt låsen som utlöste dödläget, och transaktionen bör nu slutföras framgångsrikt.

fel #1064

om du får ett #1064-fel ser du också en symbolvisning som läser ”ER_PARSE_ERROR”. Det betyder att du har ett misstag i din syntax. Detta kan bero på ett skrivfel eller användningen av ett föråldrat kommando.

du bör också få ett meddelande med lite användbar information, till exempel:

%s near '%s' at line %d

detta leder dig till en ungefärlig rad i din fråga, som du kan referera till för att hitta och åtgärda syntaxfelet. Det finns också några verktyg tillgängliga online för att hjälpa dig att hitta fel i särskilt långa frågor.

fel # 2003

slutligen resulterar ett #2003-fel när du inte kan ansluta till MySQL-servern. Felsymbolen indikerar ett värdanslutningsproblem:

CR_CONN_HOST_ERROR

med andra ord, det här felmeddelandet låter dig veta att din nätverksanslutning har nekats. Ditt första steg i att korrigera problemet är att avgöra om en MySQL-server körs. Därefter vill du se till att nätverksanslutningen och portarna du angav är desamma som du konfigurerade på servern.

du kan göra detta via din phpMyAdmin-panel genom att gå till Status > övervaka och visa aktiviteten på din server för problem. Om din server inte körs måste du gå igenom stegen för att starta om den också.

om din mysqld-process körs måste du ha lite djupare kunskap om serveranslutningen till nätverket, så att du kan börja arbeta genom eventuella störningar i din anslutning.

nivå upp dina kunskaper med WP Engine

även om inte alla kommer att tillbringa tid med sin webbplats MySQL-server regelbundet, det är bra att förstå var att gå för att få hjälp om du stöter på ett fel. Det är därför det hjälper att veta var man kan hitta de bästa råd och resurser utvecklare på nätet.

för att hjälpa dig att hålla din webbplats igång hela tiden erbjuder vi en mängd olika värdlösningar och verktyg. Detta inkluderar WP Engine felloggen, som hjälper dig att ge dina besökare den bästa digitala upplevelsen som möjligt!