Instalarea și utilizarea PHPMyAdmin pentru dezvoltarea web

Ce veți crea

PHPMyAdmin (PMA) este un client excelent, bazat pe baze de date open source, care poate fi utilizat pentru a interacționa mai ușor cu bazele de date MySQL și aplicații. Voi descrie cum se instalează, se asigură și câteva scenarii comune cu care vă poate ajuta în administrarea bazei de date. Iată o demonstrație online a PMA pentru a explora.

În plus față de oferirea unui GUI vizual pentru operațiile bazei de date, apreciez și posibilitatea de a rula operațiuni SQL de linie de comandă prin intermediul browserului meu, fără a fi nevoie să vă conectați la server prin SSH. De exemplu, unele conexiuni WiFi și hotspoturi mobile termină în mod regulat sesiunile SSH persistente, ceea ce face problemele bazei de date problematice.

Instalarea PHPMyAdmin

Noțiuni de bază cu PMA este destul de simplă pe Linux. Voi descrie cum se face acest lucru cu Ubuntu 14.x la Oceanul Digital. Conectați-vă la serverul dvs. prin SSH.

apt-get instalează phpmyadmin

Puteți utiliza setările implicite în timpul instalării sau le puteți personaliza în funcție de preferințele dvs..

Odată ce limitați accesul la MySQL numai la localhost (pe care ar trebui să îl aveți), nu există porturi la MySQL pentru un hacker care să încerce accesul. S-ar putea încerca să intre în SSH sau să încerce atacuri de tip SQL împotriva aplicațiilor dvs., dar nu pot ataca direct baza de date. Odată ce instalați PMA, oricine poate executa atacuri bazate pe web împotriva acestuia pentru a obține controlul asupra bazei dvs. de date, astfel încât să aveți grijă.

Există câteva precauții pe care le recomand în configurarea PMA.

1. Folosiți parole foarte puternice pentru toate conturile dvs. MySQL, în special contul rădăcină. de exemplu. 25 de caractere pentru parola de root.

2. Utilizați diferite conturi și privilegii MySQL pentru fiecare aplicație / site care rulează pe un singur server. În acest fel, dacă o parolă este compromisă, baza de date a unui singur site este compromisă.

3. Modificați adresa URL implicită utilizată de PMA. În acest fel oamenii nu pot vizita http://yourblog.com/phpmyadmin. Deși această securitate prin obscuritate nu este o tehnică foarte eficientă, ea adaugă o anumită protecție.

Adăugați un alias la apache.conf fişier:

nano /etc/phpmyadmin/apache.conf
Alias ​​/ myobscuredpma / usr / share / phpmyadmin

Reîncarcă apache:

serviciul apache2 reload

Apoi, pentru a accesa PMA, vizitați http://yourblog.com/myobscuredpma

Dacă trebuie să modificați parola dvs. PHPMyAdmin, puteți edita config-db.php aici:

nano /etc/phpmyadmin/config-db.php

4. Configurați autentificarea pe Web pentru site-ul PMA. Acest lucru va necesita introducerea unei parole suplimentare pentru a obține acces la PMA, în plus față de parola bazei dvs. de date, cum ar fi:

Pentru a configura restricțiile utilizatorilor Apache, urmați acești pași:

Instalare htpasswd ca parte a apache2-utils:

apt-get instala apache2-utils

Creați un director pentru a vă păstra parolele:

mkdir / etc / htpasswd

Adăuga htaccess suport pentru PMA: 

nano /etc/phpmyadmin/apache.conf 

Adăuga AllowOverride All de mai jos 

 Opțiuni FollowSymLinks DirectoryIndex index.php AllowOverride Toate

Configurați autentificarea utilizatorului pentru PMA:

nano /usr/share/phpmyadmin/.htaccess

AuthType AuthName de bază "Conectare necesară pentru acces" AuthUserFile /etc/htpasswd/.htpasswd Solicitați un utilizator valid

Seteaza-ti parola:

htpasswd -c /etc/htpasswd/.htpasswd nume de utilizator

Și, reporniți Apache:

serviciul apache2 restart

Răsfoiți la site-ul dvs. PMA și vi se va solicita numele de utilizator și parola, după cum se arată mai sus.

Utilizarea PHPMyAdmin în timpul dezvoltării web

1. Crearea și abandonarea bazelor de date

Găsesc PMA deosebit de util în fazele de dezvoltare și testare în care aș putea să refacem baza de date sau operațiile de copiere de rezervă în mod repetat.

Fără PMA, m-aș înscrie la serverul meu prin SSH. Conectați-vă la MySQL, apoi executați:

crea baza de date myapp; acordați toate privilegiile pe myapp_database. * TO "your-mysql-username" @ "localhost" identificat prin "your-mysql-password"; flush privilegiile;

Cu PMA, puteți rula orice interogare de linie de comandă cu interfața vizuală. Faceți clic pe fila SQL și inserați instrucțiunile bazei de date MySQL de mai sus. Apoi dați clic pe Du-te pentru a crea baza de date.

Sau puteți utiliza direct interfața vizuală:

De asemenea, puteți adăuga utilizatori și puteți defini privilegii în acest fel. Faceți clic pe fila privilegii:

Faceți clic pe adăugați utilizator și definiți privilegiile pentru baza de date dorită:

Pentru contul tipic al bazei de date de aplicații, veți dori să bifați casetele din pătratele Date și Structură.

Pentru a renunța la o bază de date, accesați meniul Baze de date. Faceți clic pe baza de date pe care doriți să o abandonați și faceți clic pe Drop:

2. Copierea de rezervă a bazei de date

Este o idee foarte bună să faceți o copie de rezervă a bazei de date a aplicației înainte de a efectua orice operațiuni extinse pe bază de date sau actualizări de cod. Dacă ceva nu merge bine, veți putea restaura site-ul dvs. din copia de rezervă.

Utilizând interfața web PMA, faceți clic pe baza de date, faceți clic pe fila Export și selectați Personalizat.


Activați declarația "Adăugați o tabletă / Vizualizare / Procedură / Funcție / Eveniment":

Când faceți clic pe Go, PMA va descărca o copie de rezervă a întregii baze de date. Dacă sunteți setările de timp limită Apache PHP nu sunt configurate corespunzător, unele descărcări de fișiere lungi pot fi depășite și pot eșua. Puteți ajusta acest lucru pHP.INI așa cum descriu pe site-ul meu.

3. Testarea interogărilor

PMA este fantastic pentru testarea interogărilor SQL în timpul dezvoltării. Când am creat Geogram (a se vedea, de asemenea, următorul tutorial MapApp pe Tuts +), am avut nevoie să învăț și să testez o serie de interogări complexe de localizare pentru fișierele shapefiles din cartier, de ex. găsiți cele mai apropiate cartiere la adresa mea. PMA a făcut acest lucru mult mai ușor.

Selectați baza de date, faceți clic pe Interogare. Lipiți sau editați interogările complexe și le testați direct din PMA:

Odată ce am avut interogările mele de lucru, aș putea scrie codul ActiveRecord programabil mai ușor. Ca un exemplu:

$ criteria = noi CDbCriteria; $ Criteria-> împreună = true; criteriile $ -> având = "distanța < 100"; $criteria->order = "distanța ASC"; $ criterii-> cu = array ('place_geometry' => array ('select' => 'place_id, center' (radiani (X (centru))) * cos (radiani (Y (centru)) - radiani (' centru))))) ca distanță "))); $ dataProvider = nou CActiveDataProvider (locul :: model () -> active () -> include Membru ($ id), array ('criterii' => $ criterii, paginare = array ('pageSize' => 10) ,));

4. Repararea intrărilor de baze de date

Dacă sunteți dezvoltator, ați avut probabil un bug într-o aplicație care a corupt baza dvs. de date. Nu-i așa?

De exemplu, unele dintre aplicațiile mele de gestionare a e-mailurilor vor fi uneori blocate pe mesaje neobișnuite care vin; aceste bug-uri sunt greu de găsit în testarea regulată. Când se întâmplă acest lucru, mi sa părut util să modificăm baza de date direct cu PMA pentru a-mi dezlipi sarcinile și pentru a reda site-ul din nou. În unele cazuri, doar posibilitatea de a răsfoi cu ușurință mesele vă poate ajuta să diagnosticați ce este rupt.

În PMA, deschideți baza de date și selectați tabelul. Faceți dublu clic pe o coloană pentru ao edita direct. Efectuați schimbarea de care aveți nevoie și reveniți:

5. Resetarea bazei de date pentru migrații

Dacă utilizați un cadru (cum ar fi Yii), este posibil să utilizați migrații de baze de date programate. Migrarea bazelor de date facilitează repetarea dezvoltării de caracteristici și actualizarea aplicațiilor. Cu toate acestea, testarea acestora poate sparge lucrurile în baza de date locală.

Cel mai adesea, voi alerga în erori de migrare și nu pot migra în sus sau în jos din cauza unor indexuri nedecupate, chei străine sau tabele. În acest caz, pot folosi PMA pentru a renunța la un tabel și pentru a șterge fișiere index nedorite.

În PMA, selectați baza de date, faceți clic pe fila SQL și introduceți SQL pentru a vă alinia cheia sau indexul străin. Iată câteva exemple:

Sper că ați găsit acest lucru util. Vă rugăm să postați comentariile, corecțiile sau ideile suplimentare de mai jos. Aveți posibilitatea să parcurgeți alte tutoriale Tuts + pe pagina autorului meu sau urmați-mă pe Twitter @reifman.

Cod