Guest expl0iter Posted September 11, 2011 Report Posted September 11, 2011 Cum sa instalam MySQL 3.x.x pe LinuxIntroducereAceste instructiuni arata cum sa instalati MySQL pe Linux. Instalarea a fost facuta pe Red Hat 6.1, insa distributia este mai putin importanta daca ne referim la una mai noua (sa zicem ultimul an jumate).Inainte de a incepe 1. Pentru a putea incepe trebuie sa fii logat ca root su rootDe unde luam MySQL 1. Poti afla care este ultima versiune stabila aici. Pentru aceasta instalare voi folosi MySQL 3.23.28. 2. Descarca distributia pentru Linux PC. Salveaz-o in directorul /usr/local. cd /usr/local ftp ftp.mysql.com (Name: anonymous) (Password: [enter your email address here]) cd MySQL-3.23 bin get mysql-3.23.28-gamma-pc-linux-gnu-i686.tar.gz Instalare MySQL 1. Sa dezarhivam kitul de mysql. tar xzf mysql-3.23.28-gamma-pc-linux-gnu-i686.tar.gz 2. Pentru a ne face viata mai usoara vom face un link catre numele dificil al directorului. Astfel ne va fi si mai usor cand vom dori sa facem un upgrade la MySQL. ln -s mysql-3.23.28-gamma-pc-linux-gnu-i686 mysql Cum configuram MySQL 1. Acum va trebui sa initializam baza de date standard de MySQL. Acest lucru va seta drepturi initiale userilor pentru serverul de MySQL. cd mysql scripts/mysql_install_db Rularea serverului folosind un user fara dreepturi 1. Inainte de a porni serverul va trebui sa facem un cont de user pentru serverul de MySQL. Acest cont va trebui sa fie diferit de conturile celorlallti useri si nu pe root.De ce? Pentru ca altfel s-ar putea compromite securitate. Deasemenea, in general, vei dori sa limitezi puterea oricarui proces daca nu are nevoie de acces ca root, ceea ce MySQL nu are nevoie. Pentru inceput vom adauga un user. /usr/sbin/useradd mysql 2. Daca folositi o distributie de Red Had urmatoarea comanda poate fi sarita. Toate celelalte versiuni trebui sa defineasca separta un "group" pentru useri, pe cand Red Hat face asta automat din ultima comanda. /usr/sbin/groupadd mysql 3. Acum vom modifica "ownership"-ul directorului si a tutoror subdirectoarelor si fisierolor astfel incat mysql sa aiba voie sa le foloseasca cd /usr/local/mysql/data Odata ce gasim fisier ii modificam "ownership". chown -R mysql:mysql . (Fi sigur ca la sfarst este [spatiu][punct], acest lucru specficand fisierele pe care le modificam.) 4. Modificam drepturile la director,subdirectoare si fisiere astfel incat numai mmysqladm sa aiba acces chmod -R go-rwx . (Inca o data, nu uita [spatiu][punct].) Pornirea serverului manual 1. Poti porni serverul cu o singura comanda. Asteapta cateva momente pentru a porni si apoi apasa de catea ori Enter pentru pentru a ajunge inapoi la linia de comanda (& face ca serverulk sa porneasca alt proces). cd /usr/local/mysql bin/safe_mysqld & 2. Ar trebi sa-ti dai seama daca severul MySQL a pornit corect, insa exista o metoda de a verifica: bin/mysqladmin ping mysqld is aliveSecurizarea serverului si adaugare de useri 1. Sistemul de securitate si drepturi al serverului MySQL este foarte puternic si cat de cat complicat. Urmatoare configurare este pentru un grup simplu de useri. Manualul MySQL explica in detaliu foarte bine. In principiu poti da drepturi pe baza de nume user, locatia (gazda) userului, baza de date pe care o foloses, tabele si coloanele pe care doresc sa le foloseasca. 2. Setarile initiale pentru user sunt pentru a fi folosit cat mai usor. Astefel de setari sunt nesigure. Primul lucru pe care trebui sa-l facem este sa dam o parola user-ului root. Aici setez parola pentru root ca fiin mypass: bin/mysqladmin -u root password mypass 3. Acum poti accesa baza de date dand parola da pe aceeasi linie cu comanda sau sa asteptati sa fie ceruta. Observati ca nu este nici un spatiu intre -p si parola cand va conectati. bin/mysql -uroot -pmypass Pentru a introduce parola pe o noua linie fara a se afisa si pe ecran nu introduceti si parola. Asa este cel mai sigur, pentru ca s-ar putea sa fie useri care sa-ti vada linia de comanda de dinainte bin/mysql -uroot -p 4. De obicei se creeaza o baza de date pentru fiecare site web. De exemplu Romanian Security Team - [ Security Research ] v.2.0 Alpha are o baza de date de genul: shell> bin/mysql -uroot -pmypassmysql> create database RST; Acum voi crea o baza de date pentru un user care va fi accesata . De observat ca drepturile user-ului sun de a face select, insert, update si delete. De asemenea are dreptul de a se conecta doar de la la masina curenta(localhost)). Deoarece parola va fi scrisa in codul php (sau ma rog) cel mai bun lucru e sa restrictionezi pe cat mai mult posibil drepturile. mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON RST.* TO RST@localhost IDENTIFIED BY 'parola'; 5. Astfel ca sa te loghezi din orice script stii urmatorele: Host: localhost User: RST Password: parola Adaugarea comenzilor MySQL Your Path 1. Aceasta ultima parte nu este absolut necesara. Voi face unele setari astfel incat sa puteti rula mysql astfel: mysql in loc sa scrii intreaga cale catre fisierul binar al mysql: /usr/local/mysql/bin/mysql Ce preferi? 2. Daca majoritatea userilor de pe masina respetiva folosesc mysql de preferat ar fi sa faci comenzile disponibile pentru toate lumea. Poti face asta editamd: /etc/profile 3. Pur si simplu adauga calea catre directorul bin din mysql catre comanda PATH. Eu voi adauga o line astfel: PATH=$PATH:/usr/local/mysql/bin imediat sub o linie care mai da valori pentru PATH 4. daca doresti ca numai tu (userul tai) sa beneficiezi de scurtaturi catre comenzile mysql poti edita in fisierul tau de .profile. Pentru mine acest fisier este: ~/.bash_profile Cum facem ca MySQL sa porneasca la boot-areCel mai bine ar fi ca servarul tau de mysql sa porneasca la pornirea sistemului. automat. acest lucru este intelept mai ales atunci cand ai ai un server netinut in vizor minut de minut si care se poate restarta din varia motive.Pentru orice greseala sesizata sau sugestie ve rog sa trimite-ti un mail pe editor@linux.ro Quote
aelius Posted September 11, 2011 Report Posted September 11, 2011 @expl0iter: Felicitari pentru articol.Cateva observatii totusi:"Aceste instructiuni arata cum sa instalati MySQL pe Linux. Instalarea a fost facuta pe Red Hat 6.1, insa distributia este mai putin importanta daca ne referim la una mai noua (sa zicem ultimul an jumate)."- RedHat 6.1 a iesit undeva pe la sfarsitul anului 1999, de atunci si pana acum sunt ceva ani ... - MySQL 3.x este deprecated deja. Sunt diferente mari intre mysql 3 sau 4.x si 5.x.- "distributia este mai putin importanta daca ne referim la una mai noua" - Pachetul ales de tine este 'precompiled', "adicatelea" sunt binare. Acele binare sunt compilate cu alt gcc si alte interpretoare de subroutina C; In cazul in care o sa functioneze pe o distributie noua, o sa ai pierderi mari la performanta. (cred ca putem aduce vorba si de memory leaks.)Pentru orice greseala sesizata sau sugestie ve rog sa trimite-ti un mail pe editor@linux.ro - vezi ca 'trimite-ti' da syntax error. Quote
em Posted September 11, 2011 Report Posted September 11, 2011 Acest articol a fost postat ?i repostat pe zeci de forumuri. De ce nu citezi sursa? Quote
Guest expl0iter Posted September 11, 2011 Report Posted September 11, 2011 Acest articol a fost postat ?i repostat pe zeci de forumuri. De ce nu citezi sursa? Nu am luat sursa de pe niciun site... AM avut in PC tutorialul. Eu doar am editat ce era de editat Quote
em Posted September 11, 2011 Report Posted September 11, 2011 Offtopic: M-am uitat si la posturile tale trecute, din cate vad ti-ai luat ban dupa 3 zile de la inscriere pentru copy/paste si tot nu te potolesti.Nu ai editat nici macar greselile gramaticale din tutorial. Sunt 99% sigur ca nici macar nu l-ai citit. Fie cum spui tu.. Quote
Guest expl0iter Posted September 11, 2011 Report Posted September 11, 2011 Offtopic: M-am uitat si la posturile tale trecute, din cate vad ti-ai luat ban dupa 3 zile de la inscriere pentru copy/paste si tot nu te potolesti.Nu ai editat nici macar greselile gramaticale din tutorial. Sunt 99% sigur ca nici macar nu l-ai citit. Fie cum spui tu..Fiecare cu mentalitatea lui... Eu iti spun ca l-am citit.. Am citit toate tutorialele postate de mine. Cand gasesc un tutorial interesant si nu-l pot citi, il salvez in calculator, iar cand sunt plecat si nu am net, iar plictiseala ma doboara, ma pun pe "inteles" din acel tutorial. Cat despre greselile gramaticale... pot spune ca le are multa lume, mai ales atunci cand convorbirea este pe un forum. Mai fuge degetul pe o alta tasta, lipsesteo virgula, un punct etc.Imi pare foarte rau ca sunt unii care critica fara sa intrebe. Oricum sunt nepasator in privinta asta. Numai bine! Quote
aelius Posted September 11, 2011 Report Posted September 11, 2011 @expl0iter: Orice critica constructiva este bine venita. Este opinia lui, asa e in democratie, ne exprimam opiniile si nu gandim dupa tipare. Quote
em Posted September 11, 2011 Report Posted September 11, 2011 Bun. S? în?eleg c? l-ai citit ?i ai observat c?:- RedHat nu mai este men?inut ?i versiunea de care zici tu (6.1) este ap?rut? în 99. - ftp-ul din tutorialul t?u nu mai exist? de dinainte de B?sescu.- mysql 3 era la mod? pe timpul lui Emil Constantinescu.- ideea de a face un link simbolic este o prostie imens? ?i f?r? sens.- ?tii ce fac comenzile chown, chmod etc.În concluzie ar fi mai bine s? scrii tutoriale la chestii care te pricepi tu. Quote
bula_prostu Posted November 13, 2011 Report Posted November 13, 2011 ma bag si eu in seama aiurea.tutorialul a fost prima data postat pe www.linux.rosi la ora actuala cam toate ditributiile au deja mysql in repouriapt-get install mysql-client mysql-server ( debian & company )yum install mysql-client mysql-server ( red-hoit, centos & company )urmpi mysql-client mysql-server ( mandriva & company ) Quote