Arhiva pentru categoria ‘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;: c3c3797805afeb8a138d3c4465e039f5000 Daca ne intereseaza un format mai usor de citit, putem inlocui caracterul ; de la sfarsitul comenzii cu \G: c3c3797805afeb8a138d3c4465e039f5001 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: c3c3797805afeb8a138d3c4465e039f5002 Astfel, putem identifica si opri queryurile care datorita complexitatii sau proastei organizari ajung ... 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: c3c3797805afeb8a138d3c4465e039f5004 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: 3% [?]... 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 »
Se poate intampla ca serverul MySQL sa se incapataneze si sa nu porneasca. Daca in /var/log/mysqld.log (sau care o fi fisierul log pe serverul folosit) apare urmatoarea erorare: /usr/libexec/mysqld: Can’t create/write to file ‘/tmp/’ (Errcode: 13) Problema poate fi una simpla si usor de rezolvat. E posibil ca din cauza neatentiei sa se fi modificat permisiunile pe directorul /tmp, director folosit de foarte multe aplicatii pentru crearea de fisiere provizorii. Repararea consta in urmatoarele doua comenzi: c3c3797805afeb8a138d3c4465e039f5011 Schimband proprietarul directorului /tmp in root:root si permisiunile in 1777, serviciile vor putea folosi directorul fara a mai aparea probleme. Acum, serverul MySQL ar trebui sa porneasca fara nici o problema. AKPC_IDS += "153,";Popularity: 1% [... Mai departe »
Sistemele de gestiune a conturilor de hosting cum ar fi cPanel, PLESK sau Virtualmin ne usureaza mult munca preluand gestiunea utilizatorilor MySQL si a privilegiilor acestora. Daca totusi avem un server unmanaged trebuie sa stim cateva comenzi de baza pentru a ne descurca. In principiu, cand avem de-a face cu serverul MySQL, trebuie sa stim cum putem adauga un utilizator, cum il putem sterge, cum putem sa ii dam privilegii si cum ii putem modifica parola. Inainte de a ne pune pe treaba trebuie sa ne asiguram ca avem acces la server prin ssh si ca avem parola utilizatorului root din MySQL. Daca le avem, ne conectam pe ssh si rulam comanda mysql pentru a ne conecta la consola serverului MySQL din care se poate face gestiunea utilizatorilor. Pentru inceput vom crea o baza de date pentru test... Mai departe »
Daca aveti de transferat un site rapid si aveti acces SSH la server, sau acces prin consola, cu siguranta un backup creat din cateva comenzi e mult mai rapid decat unul creat din phpMyAdmin sau alte softuri specializate care depind de serverul web si de limitarile acestuia. Pentru a face o copie locala, intr-un fisier, a unei baze de date se foloseste comanda mysqldump dupa cum urmeaza: c3c3797805afeb8a138d3c4465e039f5018 sau, daca utilizatorul folosit are setata o parola, se ruleaza comanda: c3c3797805afeb8a138d3c4465e039f5019 In cazul in care se foloseste si parola trebuie avut in vedere ca NU exista spatiu intre -p si parola folosita. Daca avem nevoie de un backup pentru toate bazele de date existente, putem adauga parametrul –all-databases: c3c3797805afeb8a138d3c4465e039f5020 E u... Mai departe »


