Cum sa instalam MySQL 3.x.x pe Linux

Vezi subiectul anterior Vezi subiectul urmator In jos

Cum sa instalam MySQL 3.x.x pe Linux

Mesaj  zooky la data de Vin Mar 20, 2009 11:07 pm

Introducere

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).


Inainte de a incepe

1. Pentru a putea incepe trebuie sa fii logat ca root

su root


De 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 alive


Securizarea 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 www.catalin.ro are o baza de date de genul:

shell> bin/mysql -uroot -pmypass
mysql> create database catalin;

Acum voi crea o baza de date pentru un user care va fi accesata . De observat ca drepturile user-ului sunt 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 catalin.*
TO catalin@localhost
IDENTIFIED BY 'parola';

5. Astfel ca sa te loghezi din orice script stii urmatorele:

Host: localhost
User: catalin
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-are

Cel mai bine ar fi ca servarul tau de mysql sa porneasca la pornirea sistemului. automat. acest lucru este intelept mai ales atunci cand ai un server netinut in vizor minut de minut si care se poate restarta din varia motive.
avatar
zooky
Moderator
Moderator

Numarul mesajelor : 147
Data de inscriere : 15/03/2009
Varsta : 24
Localizare : Cernatesti City

Vezi profilul utilizatorului http://e-learning.forumhit.ro

Sus In jos

Vezi subiectul anterior Vezi subiectul urmator Sus


 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum