Cum modificăm tabelele din baza de date din MyISAM în InnoDB

Fiecare website sau blog are o bază de date pe serverul unde este găzduit. Această bază de date este esențială pentru funcționarea corectă a site-ului. În mod obișnuit, înainte de a efectua orice modificare în baza de date, este necesar să facem un backup al acesteia. O precauție bună previne problemele. În plus, pentru a efectua modificări în baza de date sunt necesare cunoștințe avansate în domeniu. Altfel, este nevoie de destulă competență în cazul în care nu suntem sau nu avem cunoștințe de programare. Cel puțin asta este părerea mea.

Ideea articolului a apărut în urma unui caz recent. Marți, am fost notificat de serviciul de hosting al blogului meu că joi vor transfera totul pe un server nou, mult mai performant. Mi-au recomandat, de asemenea, să convertesc tabelele MyISAM din baza de date a blogului în tabele InnoDB pentru o funcționare și optimizare mai bună pe noul server, asigurând compatibilitatea completă cu noile tehnologii. LiteSpeed, Chiper SSL și alte elemente sunt concepte noi pentru mine, deoarece nu m-am interesat niciodată de ele și nu le-am întâlnit până acum.

Ținând cont că am avut în trecut probleme cu blogul, m-a cuprins o ușoară panică. Nu sunt nici blogger, nici foarte activ aici, dar parcă nu mă lasă inima să neglijez timpul pe care l-am dedicat scrierii articolelor mele modeste. Așadar, am avut de ales între trei posibilități pentru a rezolva problema.

Prima opțiune care mi-a venit în minte a fost să cer ajutorul prietenului meu, Marius Cucu, care mă scoate din impas cu blogul de fiecare dată. Însă, am observat că este ocupat cu multe alte lucruri, așa că m-am orientat către alte două alternative.

A doua opțiune a fost să discut cu serviciul de hosting. În e-mailul trimis de ei despre modificările ce urmează să fie făcute, au sugerat celor care nu sunt familiarizați cu acestea să angajeze un programator. Pentru cei care nu dispun de un programator, s-au oferit să efectueze modificările pentru 20 de euro pe bază de date. Având două baze de date, ar fi trebuit să plătesc 40 de euro.

Le-am trimis un email explicând că nu mă interesează ce fac ei; nu eu le-am cerut să mute serverul. Având în vedere că plătesc anual pentru găzduirea blogului și până acum totul a funcționat fără probleme, este responsabilitatea lor să asigure că totul funcționează la fel de bine și după transferul pe un alt server. Mi-au asigurat că blogul va funcționa corect chiar și cu baza de date care include tabele de tip MyISAM. Totuși, se pare că tabelele InnoDB sunt mai optimizate și mai performante. Inițial, am acceptat această idee, dar numai pentru câteva ore, până când m-am întors acasă de la serviciu seara.

A treia opțiune pe care am încercat-o a fost să intervin personal în baza de date pentru a modifica tipul tabelelor. După câteva căutări pe Google, am realizat că nu este pentru mine și că nu merită, deoarece am găsit soluții care implicau utilizarea liniei de comandă. Căutând mai departe, am găsit în cele din urmă un tutorial care explica cum să rezolvăm problema folosind interfața grafică a panoului de control al serverului.

Voi traduce și voi rezuma foarte succint pașii necesari pentru a modifica tipul tabelelor din baza de date a serverului care găzduiește site-ul sau blogul. Aș dori să menționez că nu sunt sigur dacă toate bazele de date sau pașii din panoul de control sunt identici pentru toată lumea.

Convertirea tabelelor din baza de date din format MyISAM în InnoDB

Pasul 1: Ne autentificăm în panoul de control al serverului unde este găzduit site-ul sau blogul. Apoi căutăm secțiunea ‘Baze de Date’ (Databases) pentru a accesa phpMyAdmin.

Pasul numărul doi: După accesarea secțiunii phpMyAdmin, vom identifica bazele de date existente pe serverul de găzduire al site-ului. În funcție de situație, poate exista o singură bază de date sau mai multe. Selectăm baza de date dorită, în exemplul meu ‘conținut-…’, apoi selectăm fiecare tabel în parte pentru a-i schimba tipul.

Pasul numărul 3 – în cazul meu, am ales primul tabel “wp_blc_filters”. Selectăm fila “Operations”, care va deschide fereastra de mai jos unde vom găsi secțiunea “Table options” (opțiunile tabelului). Tot ce trebuie să facem este să schimbăm tipul tabelului din MyISAM în InnoDB, selectându-l din lista opțiunii “Storage engine”. Apoi, este esențial să salvăm modificarea apăsând pe butonul “Go” din secțiunea “Table options”. Acest buton, pe care din greșeală nu l-am inclus în captura de ecran de mai jos, se găsește chiar în partea dreaptă.

După ce salvăm modificarea, un mesaj de confirmare va apărea în partea de sus a ferestrei, colorat în verde. Pentru a modifica tipul tuturor tabelelor din baza de date, trebuie să urmăm acești pași pentru fiecare tabel în parte. Din păcate, nu știu dacă există o metodă prin care putem modifica toate tabelele odată, fără a le aborda individual. Este posibil ca acest lucru să fie realizabil din linia de comandă sau printr-o altă metodă. Dacă cineva știe cum se poate face asta într-un mod simplu și sigur, aș aprecia informația.

În concluzie, am observat că dimensiunea tabelelor care ocupă foarte mult spațiu și au zeci sau chiar sute de MB scade considerabil. În schimb, tabelele care inițial nu ocupă nimic sau doar câțiva kB, vor ocupa automat 16kB.

3 thoughts on “Cum modificăm tabelele din baza de date din MyISAM în InnoDB”

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.