PHPMyAdmin - eller PMA - är en utmärkt fri, öppen källkod webbaserad databas klient som kan användas för att interagera lättare med MySQL och WordPress databaser. Jag beskriver hur du installerar det, säkrar det och några vanliga scenarier som det kan hjälpa dig med i WordPress-administrationen. Här är en online-demo av PMA för dig att utforska.
Förutom att erbjuda en visuell GUI för databasoperationer uppskattar jag också att kunna köra kommandorads SQL-operationer via min webbläsare utan att behöva logga in på servern via SSH. Till exempel avslutar vissa WiFi och mobila anslutningar regelbundet uthålliga SSH-sessioner, vilket gör databasuppgifter problematiska.
Att komma igång med PMA är ganska enkelt på Linux. Jag beskriver hur man gör det med Ubuntu 14.x på Digital Ocean. Logga in på din server via SSH:
apt-get installera phpmyadmin
Du kan använda standardinställningarna under installationen eller anpassa dem efter eget tycke.
På en vanlig WordPress-installation finns det inga direkta portar till MySQL för att hackare ska försöka komma åt. De kan försöka bryta in via SSH eller prova SQL-injektionsattacker mot WordPress, men de kan inte direkt attackera databasen. När du har installerat PMA kan vem som helst köra webbaserade attacker mot det för att få kontroll över din databas, så det är viktigt att ta hand om det.
Det finns några försiktighetsåtgärder som jag rekommenderar när du konfigurerar PMA.
1. Använd mycket starka lösenord för alla dina MySQL-konton, särskilt root-kontot. t.ex. 25 tecken för root-lösenordet.
2. Använd olika MySQL-konton och behörigheter för varje WordPress-webbplats som körs på en enda server. På det här sättet om ett WordPress-lösenord är äventyrat, är endast en webbplats databas komprometterad.
3. Ändra standardadressen som används av PMA. På så vis kan människor inte besöka http://yourblog.com/phpmyadmin. Medan denna säkerhet genom dunkelhet inte är en mycket effektiv teknik, lägger den till ett visst skydd.
Lägg till ett alias till apache.conf
fil:
nano /etc/phpmyadmin/apache.conf Alias / myobscuredpma / usr / dela / phpmyadmin
Uppdatera apache:
service apache2 reload
Då, för att komma åt PMA, besök http://yourblog.com/myobscuredpma
Om du behöver ändra ditt PHPMyAdmin lösenord kan du redigera config-db.php
här:
nano /etc/phpmyadmin/config-db.php
4. Konfigurera webbautentisering för PMA-webbplatsen. Detta kräver att du anger ett extra lösenord för att få tillgång till PMA, utöver ditt databaslösenord, så här:
Så här konfigurerar du användarbegränsningar för Apache: Följ dessa steg:
Installera htpasswd
som en del av apache2-utils
:
apt-get install apache2-utils
Gör en katalog för att lagra dina lösenord:
mkdir / etc / htpasswd
Lägg till htaccess
stöd för PMA:
nano /etc/phpmyadmin/apache.conf
Lägg till "AllowOverride All" nedan
Alternativ FollowSymLinks DirectoryIndex index.php AllowOverride All
Konfigurera din användarautentisering för PMA:
nano /usr/share/phpmyadmin/.htaccess
AuthType Basic AuthName "Logga in krävs för åtkomst" AuthUserFile /etc/htpasswd/.htpasswd Kräv giltig användare
Ange ditt lösenord:
htpasswd -c /etc/htpasswd/.htpasswd användarnamn
Och starta om Apache:
service apache2 omstart
Bläddra till din PMA-webbplats, och du blir uppmanad till ditt användarnamn och lösenord som visas ovan.
Det är mycket viktigt att komma ihåg att PMA tillåter dig att direkt manipulera WordPress-databasen; det betyderdet är ganska lätt att bryta din WordPress-webbplats om du inte vet vad du gör. Det är särskilt oklokt att använda databasskript från webben om du inte förstår dem helt. Använd PMA med stor omsorg.
Här är några scenarier som kan vara till hjälp för dig i pågående WordPress-administration:
Utan PMA skulle jag logga in på min server via SSH. Logga in på MySQL och kör sedan:
skapa databas wordpress; bevilja alla privilegier på wordpress. * Till "ditt-mysql-användarnamn" @ "localhost" identifierat av "ditt-mysql-lösenord"; spola privilegier;
Med PMA kan du köra kommandoraden med det visuella gränssnittet. Klicka på SQL-fliken och klistra in MySQL-databasinstruktionerna ovan. Klicka sedan Gå att skapa databasen.
Jag använder det här mycket när du skapar nya WordPress-webbplatser, precis innan du kör WordPress-webbinstallatören.
Eller du kan använda det visuella gränssnittet för att skapa din databas direkt:
Du kan också lägga till användare och definiera privilegier på det här sättet. Klicka på fliken privilegier:
Klicka på Lägg till användare och definiera privilegierna för databasen som du önskar:
För ditt typiska WordPress-databaskonto vill du kolla rutorna i rutorna Data och struktur.
Det är en mycket bra idé att säkerhetskopiera din databas innan du utför någon av nedanstående uppgifter. Om något går fel kan du återställa din WordPress-webbplats från säkerhetskopian.
Använd PMAs webbgränssnitt, klicka på din WordPress-databas, klicka på fliken Exportera och välj Anpassad.
Aktivera "Lägg till tabellen Tabell / Visa / Förfarande / Funktion / Händelse":
När du klickar på Go kommer PMA att ladda ner en säkerhetskopia av hela din databas. Om du är inställd på Apache PHP-tidsgränssnittet är det inte säkert att vissa långa filhämtningar går ut och misslyckas. Du kan justera detta i php.ini
som jag beskriver på min webbplats.
WordPress har inte inbyggda funktioner som hjälper till med att söka och ersätta när webbplatser ändras eller du behöver justera innehållet över många inlägg.
Med PMA kan du köra en manuell fråga för att söka och ersätta texten som du vill ändra (igen, var försiktig med skrivbaserade SQL-kommandon på din WordPress-databas):
UPPDATERA wp_posts SET post_content = REPLACE (post_content, "källtext", "ersätt med den här texten");
Ett alternativ till att använda PMA och MySQL, är detta praktiska Sök och ersätt plugin.
Ofta när du flyttar en WordPress-webbplats till ett nytt domännamn eller URL, kommer det inte att spegla ändringar i ditt domännamn över hela webbplatsen. även efter att domänerna har ändrats i webbplatsinställningarna. Du kan fixa det här i databasen med PMA:
Återigen kan du använda SQL-frågefältet för att uppdatera webbplatsens databas direkt:
uppdatera wp_options set option_value = ersätt (option_value, "http: //old_domain.com','http: //new_domain.com '); uppdatera wp_postmeta set meta_value = ersätt (meta_value, 'http: //old_domain.com','http: //new_domain.com'); uppdatera wp_posts set post_content = ersätt (post_content, "http: //old_domain.com','http: //new_domain.com '); uppdatera wp_posts set guid = ersätt (guid, 'http: //old_domain.com','http: //new_domain.com'); uppdatera wp_posts set pinged = ersätt (pinged, "http: //old_domain.com','http: //new_domain.com '); uppdatera wp_comments set comment_content = ersätt (comment_content, "http: //old_domain.com','http: //new_domain.com ');
Eller du kan använda webbgränssnittet. Bläddra till databasnamnet, välj varje tabell, kör en fråga och ändra inställningarna manuellt för varje:
Klicka på Redigera och gör dina ändringar:
Det finns sällsynta fall där WordPress administratörslösenord blir ändrade, förlorade eller skadade. Om du kan komma åt din databas kan du använda PMA för att uppdatera ditt lösenord direkt (se och verifiera vilket numeriskt ID som representerar den nuvarande administrativa användaren):
Uppdatera 'your_database'. 'Your_user' SET 'user_pass' = MD5 ('nytt lösenord') VAR 'wp_users'. 'ID' = 1;
När det är klart kan du logga in på WordPress Dashboard med ditt nya lösenord.
Jag hoppas att du har hittat det här användbart. Vänligen skicka några kommentarer, korrigeringar eller ytterligare idéer nedan. Du kan bläddra i mina andra Tuts + handledning på min författarsida eller följa mig på Twitter @ reifman.