Articole etichetate ‘MySQL’
Cand serverul MySQL incepe sa se miste greu ne intereseaza care sunt procesele in lucru. Pentru a vedea lista de procese, vom folosi comanda SHOW PROCESSLIST;: 9acfa8aeaf3bd123aa917b6ec69fe607000 Daca ne intereseaza un format mai usor de citit, putem inlocui caracterul ; de la sfarsitul comenzii cu \G: 9acfa8aeaf3bd123aa917b6ec69fe607001 Ambele comenzi vor returna lista de procese MySQL care ruleaza in momentul de fata – in cazul nostru un singur proces. Pe linia sau coloana Id (in functie de terminatia comenzii) putem vedea identificatorul procesului. Cu ajutorul acestui identificator putem opri procesul in cauza, daca este consumator de resurse: 9acfa8aeaf3bd123aa917b6ec69fe607002 Astfel, putem identifica si opri queryurile care datorita complexitatii sau proastei organizari ajung ... Mai departe »
Se poate intampla pe serverele cu cPanel sa ne arate in conturile de gazduire ca spatiul ocupat de bazele de date (MySQL Disk Space) este de 0MB desi utilizatorul are baze de date mari folosite in mod curent. Problema apare de obicei ca urmare a unui update sau in cazuri izolate cand contul verificat este nou creat – bineinteles, nu se exclude nici varianta omiterii acestei setari la pregatirea serverului, pentru ca in mod implicit cPanel nu contorizeaza spatiul ocupat de bazele de date. Pentru a rezolva problema exista doua metode, una folosind interfata WHM iar cealalta folosind linia de comanda. Din punct de vedere al eficientei nu exista nicio diferenta. Practic ambele metode fac acelasi lucru, cu diferenta ca din linia de comanda putem forta updatarea contorului pentru spatiul o... Mai departe »
Cum serverul de baze de date MySQL nu a fost conceput pornind de la ideea restrictionarii utilizatorilor veti observa ca intretinerea unui server shared devine un lucru foarte frustrant. Din cauza unor query-uri prost optimizate sau a unor conexiuni proaste serverul MySQL poate ajute sa consume foarte multe resurse incetinind astfel randamentul general al serverului. In fisierul de configurare nu putem pune foarte multe restrictii iar restrictiile care ni se permit de multe ori nu sunt foarte utile. Unul din lipsurile mari este restrictionarea timpului maxim de executie al unui query. Din punct de vedere al configurarii serverului MySQL nu putem face nimic, dar se poate crea un mic hack cu ajutorul serviciului cron si anume un script care verifica din minut in minut query-urile active iar ... Mai departe »
Explicam intr-un articol mai vechi cum se face backup manual pe o baza de date. E simplu, si la fel de simplu e si un restore al bazei de date. Pentru restore avem nevoie de fisierul .sql, datele de autentificare ale utilizatorului (sau root) si numele bazei de date. Presupounand ca fisierul e backup.sql, baza de date e myblog, numele de utilizator e myuser si parola e mypass rulam urmatoarea comanda pentru a restaura datele: 9acfa8aeaf3bd123aa917b6ec69fe607004 Daca se intampla sa facem restore pe o baza de date care nu poate fi golita, si exista deja unele inregistrari care pot genera erori, putem folosi parametrul –force pentru a forta rularea fiecarui query din fisierul .sql chiar daca acesta genereaza o eroare. AKPC_IDS += "213,";Popularity: 2% [?]... Mai departe »
Dupa cum am mentionat in articolul anterior, Optimizarea serverului MySQL, o optimizare rapida este usor de facut prin cateva calcule legate de memoria disponibila si numarul de procesoare. Pentru o optimizare mai buna este necesar sa urmarim periodic parametri de functionare a serverului MySQL si sa facem ajustarile necesare. Pentru a prelua informatiile necesare pentru o optimizare buna folosim doua query-uri MySQL: “SHOW VARIABLES;” si “SHOW STATUS;“. Cu “SHOW VARIABLES;” putem verifica parametri de functionare a serverului MySQL. Cu “SHOW STATUS;” putem verifica starea serverului. Folosindu-ne de valorile preluate putem lua decizii in ceea ce priveste configurarea serverului pentru ca acesta sa ofere un randament mai bun. Cache-ul queryur... Mai departe »
In orice fel de situatie performanta unui anumit serviciu, exact ca in cazul conceperii unui algoritm, optimizarea si implicit performanta sunt puncte importante. Pe langa viteza de functionare care este intotdeauna binevenita performanta are un rol important si anume poate fi folosita ca “moneda de schimb” sau “solutie de compromis” in cazul in care avem de implementat o aplicatie complexa sau servicii care ruleaza lent. Daca aplicatia proceseaza foarte multe date iar datele sunt preluate dintr-o baza de date lenta timpul general de incarcare va fi foarte mare. Daca in schimb avem un serviciu optimizat, chiar daca aplicatia are nevoie de resurse multe, timpul general de incarcare si procesare a informatiei va fi mai mic. Optimizarea, indiferent de locul in care est... Mai departe »
DBI este o interfata generala folosita pentru accesarea mai multor servere de baze de date. Asta inseamna ca o aplicatie poate fi folosita pe mai multe tipuri de servere de baze de date fara schimbari majore. Este necesar un DBD (DataBase Driver) definit pentru fiecare tip de baza de date – pentru MySQL exista un modul numit DBD::mysql. Folosind modulul DBD::mysql ne putem conecta din Perl la o baza de date folosind modulul DBI. Un exemplu de utilizare se gaseste mai jos: 9acfa8aeaf3bd123aa917b6ec69fe607011 Bineinteles, pentru a functiona trebuie inlocuit database cu numele unei baze de date existente, utilizator cu numele de utilizator, parola cu parola utilizatorului si localhost, daca e cazul, cu adresa serverului remote. AKPC_IDS += "66,";Popularity: 1% [?]... Mai departe »
Se intampla uneori ca mai multe baze de date sa fie corupte datorita unei incarcari foarte mari sau a opririi fortate (kill -9) a serverului de baze de date. In cazul acesta exista posibilitatea recuperarii bazelor de date corupte folosind comanda myisamchk. Operatiunea va trebui facuta in felul urmator: 1. Se opreste serverul MySQL 9acfa8aeaf3bd123aa917b6ec69fe607012 E posibil sa difere calea si numele scriptului de pornire. In Linux se foloseste de obicei 9acfa8aeaf3bd123aa917b6ec69fe607013 2. Se intra in directorul bazei de date si se ruleaza comanda myisamchk: 9acfa8aeaf3bd123aa917b6ec69fe607014 3. Se reporneste serverul MySQL 9acfa8aeaf3bd123aa917b6ec69fe607015 Daca sunt mai multe baze de date corupte comenzile de la pasul 2 se pot inlocui cu: 9acfa8aeaf3bd123aa917b6ec69fe607016 AKPC_... Mai departe »




