Posts Tagged ‘mysql’

SAMP cu Solaris

solarisInstalarea pachetului SAMP (Solaris Apache MySQL PHP) se face destul de usor, avand in vedere ca ne pune la dispozitie o comanda care face acest lucru.

pkg install amp

Odata instalate, aceste pachete trebuie puse si pe enable, altfel ele nu vor porni, asa cum la alte sisteme de operare se intampla.

svcadm enable apache22

svcadm enable mysql

Aceste doua comenzi fac enable si pornesc cele doua servicii.

In cazul in care dorim sa facem restart la aceste servicii, rulam:

svcadm restart apache22

svcadm restart mysql

In mod implicit MySQL se instaleaza fara sa se aloce nici o parola pe userul root, iar pentru modificarea parolei trebuie sa ne conectam la serverul de mysql si apoi sa ii alocam o parola:

mysql sau mysql -u root -p

SET PASSWORD FOR root@localhost=PASSWORD(‘parola_alocata’);

Resetare parola admin WordPress direct din MySQL

password-pixelResetarea parolei de admin de la WordPress se poate face destul de usor folosind sintaxa SQL dupa conectarea la baza de date MySQL. Cu totii stim ca userii in wordpress sunt stocati in tabela wp_users. Asa ca, ne conectam la sql, selectam baza de date si rulam comanda de update pentru password.

mysql -u user_baza_de_date -pParola

USE baza_de_date;

SELECT ID, user_login, user_pass from wp_users;

UPDATE wp_users SET user_pass = MD5(‘noua_parola_care_vrem_sa_o_alocam’) WHERE ID=1;

Userul admin, are ID-ul 1, iar parola este hashuita in MD5, asa ca am folosit MD5(”) pentru updatarea ei.

Backup si restore la o baza de date MySQL in si din fisier gzip (*.sql.gz)

Putem efectua backup (dump) la o baza de date MySQL direct intr-un fisier arhivat cu gzip, adica sql.gz

mysqldump -u username -pPassword nume_baza_de_date | gzip >  nume_fisier_backup.sql.gz

De asemenea putem efectua restore la o baza de date MySQL in cazul in care acesta este deja arhivata intr-un fisier gzip, adica .sql.gz

gunzip < nume_fisier_backup.sql.gz | mysql -u username -pPassword nume_baza_de_date

Pornirea accesului remote la MySQL pentru un utilizator

imagesIn unele cazuri este necesar sa avem pornit accesul la MySQL pentru unul sau mai multi useri, pentru a evita bataile de cap si timpul pierdut la rularea comenzilor de mysqldump si restore a bazelor de date, iar operatiunile sa le putem efectua de la distanta direct pe serverul de baze de date.

Din punctul meu de vedere, acesta nu este un acces care sa fie deschis permanent, asa ca il folosesc doar pe perioada in care este nevoie de el.

Asadar, pentru a aloca accesul din exterior la un server MySQL, folosind un username specific, efectuam urmatoarele.

mysql -u root -p

GRANT ALL PRIVILEGES ON baza_de_date.* TO ‘username’@’%’ IDENTIFIED BY ‘parola’;

Apoi editam /etc/mysql/mycnf unde adaugam linia:

bind-address = 0.0.0.0

pentru a permite accesul din afara.

Cand vrem ca accesul din exterior sa nu mai fie disponbil, prima data comentam linia din my.cnf adaugata anterior si apoi facem REVOKE la privilegii:

mysql -u root -p

REVOKE PRIVILEGES ON baza_de_date.* TO ‘username’@’%’;

Exportul unui Query SQL in fisier CSV folosind MySQL

export_mysql_csvDaca dorim sa facem exportul unei interogari din SQL in format .csv trebuie sa folosim o comanda prin care sa ne conectam la baza de date, sa rulam selectul si apoi acel select sa returneze informatiile direct intr-un fisier CSV.

mysql -u USER -pPAROLA -h hostname numele_bazei_de_date -B -e „COMANDA SELECT;” | sed ‘s/\t/”,”/g;s/^/”/;s/$/”/;s/\n//g’ > nume_fisier.csv

Clonarea unei baza de date MySQL

Daca vrem sa clonam o baza de date mult mai rapid decat metoda dump in fisier .sql apoi creem baza de date si facem restoreul datelor din fisierul .sql, putem proceda in felul urmator.

Prima data trebuie sa creem o baza de date (blank) unde va fi put continutul din baza de date din care vrem sa facem clonarea.

mysql -u user -p

CREATE DATABASE baza_de_date_noua;

Alocam privilegii userului de pe baza de date existenta pentru ca el sa poata scrie pe baza de date noua. (asta in conditiile in care vrem sa folosim acelasi user penru conectarea la baza de date).

GRANT ALL PRIVILEGES ON baza_de_date_noua.* TO ‘user_name’@’localhost’;

Iar acum urmeaza clonarea propriu-zisa:

mysqldump -u user -pPAROLA baza_de_date_existenta | mysql -u user -pPAROLA baza_de_date_noua

Instalare Gerrit Code Review cu Apache, MySQL in Ubuntu 12.04 si integrarea cu Active Directory Windows Server 2008 R2

Gerrit.svgInstalarea Gerrit Code Review presupune urmarea catorva pasi si se efectueaza destul de rapid.

In primul rand creem baza de date, userul si ii alocam privilegii, in MySQL.

mysql -u root -p
CREATE USER ‘gerrit2’@’localhost’ IDENTIFIED BY ‘secret’;
CREATE DATABASE reviewdb;
ALTER DATABASE reviewdb charset=latin1;
GRANT ALL ON reviewdb.* TO ‘gerrit2’@’localhost’;
FLUSH PRIVILEGES;

Apoi creem un user. Eu l-am numit gerrit2.

adduser gerrit2

care odata ce a fost creat implicit are home folder in /home/gerrit2. Facem switch pe el pentru a face instalarea gerrit:

sudo -u gerrit2 -i

Descarcam ultima versiune de Gerrit2 de aici: http://code.google.com/p/gerrit/downloads/list si apoi trecem la instalare, dar inainte de aceasta trebuie sa mai instalam un pachet si anume default-jre.

sudo apt-get install default-jre

si acum instalarea propriu-zisa:

java -jar gerrit.war init -d /home/gerrit2

Unde va urma un wizzard de unde va trebui sa faceti setarile. Tot de aici se face si integrarea cu Active Directory si anume; la metoda de autentificare se trece ‘ldap’, iar la urmatorul pas sistemul ne intreaba de serverul ldap unde punem: ldap://active_directory_server. Am creat si un user in Active Directory cu care sa se faca si conectarea intrucat Wizzard-ul imi cerea un login la serverul de AD.

Dupa finalizarea instalarii, ar trebui sa porneasca, dar de cele mai multe ori nu o face, asa ca cel mai sigur este sa il pornim manual rulandca user gerrit2:

/home/gerrit2/bin/gerrit.sh start

Acum dupa ce am pornit gerrit o sa putem accesa pe portul specificat din browser (care de obicei este mentionat la pornire), dar nu o sa ne putem loga din cauza uneri erori referitoare la Cookie. Asa ca editam:

vim /home/gerrit2/etc/gerrit.config

unde adaugam:

canonicalWebUrl = http://gerrit.pitechnologies.ro:8080

chiar sub basePath si bine-nteles restartam gerrit cu comanda:

/home/gerrit2/bin/gerrit.sh restart

In mare cam acestea sunt setarile pentru ca gerrit sa ruleze.

LAMP Server cu CentOS

centosInstalarea serverului LAMP in CentOS este putin diferita fata de Ubuntu sau Debian, unde cam totul vine aproape gata la rularea comenzii apt-get install.

Instalarea Apache:

yum install httpd

odata ce a fost instalat, el nu se porneste automat, ci trebuie pornit cu comanda:

/etc/init.d/httpd start

In mod implicit, odata instalat Apache pe CentOS, nu se poate accesa linkul din browser doar daca accesul se face de pe masina locala si ast adatorita unui firewall cu care vine CentOS instalat. Eu am dezactivat firewallul pentru ca am avut nevoie si de alte setari, asa ca l-am pus pe disable cu comenzile:

/etc/init.d/iptables save
/etc/init.d/iptables stop

chkconfig iptables off

Tot in mod implicit, datele se tin in /var/www/html, dar si aici se poate personaliza editand setarile servererului din httpd.conf.

Instalarea MySQL:

yum install mysql mysql-server

Aici din nou e la fel, trebuie pornit manual, iar odata cu pornirea i se initializeaza si tabelele.

/etc/init.d/mysqld start

Ca sa ne putem conecta la serverul MySQL trebuie sa avem o parola a userului root, dar care la instalare nu ni s-a cerut pentru a fi alocata, asa cum fac sistemele Debian-based. Nici o problema, ii creem si parola root, urmand comenzile:

mysql
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD(‘parola_noua’) WHERE user=’root’;
mysql> FLUSH PRIVILEGES;

apoi logarea la serverul MySQL este posibila ruland:

mysql -u root -p

Instalarea php, impreuna ca unele module necesare:

yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml

Dupa care bine-nteles trebuie restartat Apache, pentru a se actualiza si in setarile lui:

/etc/init.d/httpd restart

Instalarea phpMyAdmin:

Procedura este simpla:

yum install phpmyadmin

si aici din nou acelasi lucru ca si in cazul Apache, unde phpMyAdmin este accesibil doar de pe hosul local. Aici are un mare plus, mai ales ca pentru mine phpMyAdmin = evil datorita vulnerabilitatilor pe care le are.
Ca sa fie accesibil si de pe alte IP-uri, trebuie editat /etc/httpd/conf.d/phpMyAdmin.conf unde se adauga:

Require ip adresa_ip

apoi se poate accesa de pe adresa IP specificata la Require ip.

Resetarea parolei root MySQL

Se intampla sa administram un server pentru care nu primim parola root de la MySQL sau pur si simplu am uitat parola, dar totusi mai avem accesul root la server.

Pentru resetarea parolei usernameului root MySQL trebuie sa urmam pasii:

Oprirea serverului de baze de date MySQL:

/etc/init.d/mysqld stop #pentru Ubuntu, CentOS, Fedora, RHEL

sau

/usr/local/etc/rc.d/mysqld stop #pentru FreeBSD

Acum urmeaza pornirea serverului MySQL in Safe mode.

sudo mysqld_safe –skip-grant-tables &

Acum logarea este posibila si putem schimba parola prin urmatoarele comenzi:

mysql -u root
use mysql
update user set password=PASSWORD(„noua_parola_root”) where User=’root’
flush privileges;
quit

Acum oprim din nou MySQL pe care l-am pornit adineauri in Safe mode si il pornim in normal mode:

/etc/init.d/mysqld stop
/etc/init.d/mysqld start

srv StandDuPp
Articole recente