U prethodnoj lekciji smo instalirali MySQL server i testirali njegovu funkcionalnost konzolnom aplikacijom MySQL Monitor (MySQL Command Line Client). Ova aplikacija startuje se jednostavnom naredbom mysql. MySQL monitor je dovoljan da uradite bukvalno sve sa MySQL serverom, jer omogućava slanje upita na njega. Ipak, s obzirom na to da nije baš pregledan, obično se koristi samo za neke kratke i ne preterano zahtevne intervencije (dodela korisnika, promena nekih sistemskih parametara i sl).

Da bismo aktivirali mysql monitor, otvorimo komadni prompt (levim dugmetom miša kliknemo na ikonicu WAMPSERVER-a, u meniju odaberemo opciju MySQL/MySQL console) i otkucajmo sledeću naredbu:

mysql –uroot


Ako ste instalirali MySQL, prema uputstvima iz prethodne lekcije, pred vama će biti sledeći sadržaj:

 

 

Opcija –uroot pri aktivaciji programa znači, jednostavno, da je korisnik pod kojim pristupate serveru Root (mogli ste napisati i mysql –u root). S obzirom na to da ovom korisniku nismo dodelili šifru (šifra je prazna), program će nakon ove naredbe biti startovan. Ukoliko smo postavili i šifru za Root korisnika, onda bismo startovali program sa još jednom opcijom:

mysql –uroot –p

 

Nakon ovoga, morali bismo da unesemo šifru pre pristupanja programu.

Ukoliko sistem uopšte ne vidi aplikaciju (Not recognized as external or internal command, operatable program or batch file), pozicioniramo se na podfolder bin instalacionog foldera MySQL-a.

Kada smo aktivirali program, možemo se obraćati serveru putem SQL upita. Na primer, ono što verovatno prvo želimo da vidimo, to je, koje sve baze trenutno sadrži naš server.

Unesimo sledeću naredbu:

show databases;

 

Dobićemo sledeći rezultat:

 

Iako u SQL-u nije neophodno unositi delimitere za novi red, u ovoj aplikaciji to jeste neophodno. Zato, na kraj izjave Show databases stavljamo i oznaku ; . Na taj način aplikacija raspoznaje i razdvaja sql izjave.

Odaberimo sada jednu od baza (na primer mysql), naredbom:

use mysql;

 

Zatim, možemo pogledati listu svih tabela te baze:

show tables;

 

Nakon čega bi trebalo da dobijemo sledeći rezultat:

+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
  

Ovo su sve tabele baze mysql (o ovoj bazi će biti više reči u narednim lekcijama).

Sada možemo otići i dalje, sve do upita najnižeg nivoa.

Na primer:

select user, password from user;

 

Rezultat će biti:

+------+----------+
| user | password |
+------+----------+
| root |          |
+------+----------+
1 row in set (0.00 sec)


Sada bismo mogli otići i dalje i izmeniti podatke o korisniku (u ovom slučaju, sebi), ali ćemo se ovde zaustaviti.

Očigledno je da je ova aplikacija, po pitanju mogućnosti, dovoljna da rukujemo MySQL serverom i podacima na njemu. Ipak, na ovaj način bi rad bio nepregledan i samim tim, ne preterano efikasan (pokušajte da unesete naredbu: select * from user; i biće vam jasno o čemu govorimo).

Zato se, za rukovanje bazama, obično koriste grafički oblikovani alati, koji su pregledniji i jednostavniji za upotrebu. U grafičkim alatima retko ćemo koristiti upite, a češće kliktati mišem, ali u pozadini, ovi alati radiće upravo ovo što smo radili u programu mysql monitor - slati određene sql upite serveru i na osnovu odgovora, kreirati neki grafički sadržaj.

 

GUI MySQL alati

Postoji mnoštvo grafičkih alata za menadžment podataka MySQL servera. Njihova generalna podela je na web i desktop aplikacije. Web aplikacije se koriste prilikom rukovanja udaljenim serverom, dok desktop aplikacije češće koristimo za rukovanje lokalnim MySQL serverom. Ali, nemojmo ovu klasifikaciju shvatiti zdravo za gotovo. Nije nemoguć ni obrnut slučaj, ali je ipak ređi, iz sledećeg razloga:

Osnova bezbednosti jedne baze podataka je da se korisniku nikada ne dozvoli direktan pristup sa udaljenog računara, već putem nekog lokalnog posrednika. Na primer, MySQL server se nalazi na nekom računaru koji je na Internetu, a Vi pokušavate da mu pristupite sa drugog računara putem Interneta. Ovde bi najbolje bilo postaviti neku web aplikaciju koja se nalazi na računaru na kome je i MySQL server i koja će da posreduje između vas i tog MySQL servera. To je pravilo i to, veoma poštovano pravilo. Ali, to ne znači da je i obaveza. Vi jednostavno možete napraviti sistem i na taj način da bazi pristupite direktno, bez posrednika, u čijem slučaju vam nije potrebna posrednička aplikacija, već možete koristiti desktop aplikaciju koja se izvršava na Vašem računaru. Ali to je, ponavljamo, bezbednosno veoma loš koncept.

Već smo rekli da postoji veliki broj aplikacija za menadžment MySQL servera. Jednu od njih ćemo veoma teško uspeti da izbegnemo (zapravo, već niste, jer je pominjana u prethodnoj lekciji). To je PhpMyAdmin ili PMA.

 

PhpMyAdmin je kompleksna web aplikacija za menadžment MySQL baze podataka. Ova aplikacija, prilično je očigledno, napisana je u php-u, što znači da radi na serverima koji mogu da izvršavaju PHP (Apache, IIS). Naći ćete je kao podršku svakog hosting paketa koji podrazumeva MySQL i PHP i zato je neophodno da poznajete rukovanje njome.

Ova aplikacija je besplatna i ukoliko ste se odlučili za instalaciju wamp paketa, već je posedujete. U suprotnom, možete je preuzeti sa sledeće adrese:

http://www.phpmyadmin.net/home_page/index.php

MySQL takođe obezbeđuje i tri desktop grafička alata. MySQL Administrator, MySQL Query Browser i MySQL Migration Toolkit. Ovi alati su takođe besplatni i možete ih skinuti sa sledeće lokacije:

http://dev.mysql.com/downloads/gui-tools/5.0.html

 

Mi ćemo u kursu koristiti PMA, MySQL Administrator i MySQL Query Browser. Obzirom da su neki od alata ušli u EOL (End Of Life) fazu, za izradu primera koji uključuju upotrebu grafičkog korisničkog interfejsa, preporučujemo upravo korišćenje MySql Workbench-a.

 

MySQL Administrator

MySQL Administrator je alat za administraciju MySQL serverom. To znači da ćete ovde moći da rukujete korisnicima, konekcijama...ali ne i samim podacima.

Kada aktivirate MySQL Administrator, pred vama će se naći sledeći prozor:

 

Ovde se od vas zahteva da unesete konekcione podatke vašeg servera. To su, adresa servera (Server Host), port, korisničko ime i šifra. Ako ste ostavili podrazumevana podešavanja, onda su to podaci sa slike.

Ovaj set informacija (host, korisničko ime i šifra), često ćete sretati jer su to informacije koje su neophodne bilo kojoj aplikaciji koja „želi” da rukuje bazom. Na primer, kada budete iznajmili neki web prostor sa MySQL bazom.

Ako je sve u redu, pred Vama je sledeći ekran:

 

Ako ste uspeli da aktivirate program i Vaša naslovna strana je poput ove na slici, znači da Vam server funkcioniše. U suprotnom, proverite funkcionalnost samog servera.

  

MySQL Query Browser

Ovo je, kao što joj samo ime kaže, aplikacija za rukovanje upitima. Zapravo, to u praksi znači da, kroz ovu aplikaciju, možete rukovati samim podacima.

Query Browser možete startovati na dva načina: iz operativnog sistema (kada ćete morati da prođete istu autentikacionu proceduru kao i za MySQL Administrator) ili iz MySQL administratora (opcija Tools -> MySQL Query Browser), pri čemu će se aplikacija startovati u aktuelnom bezbednosnom kontekstu i neće tražiti autentikaciju.

 

Ukoliko na početku niste uneli podrazumevanu šemu (tabelu), aplikacija će, po otvaranju, izgledati ovako:

 

Aplikacija je podeljena na nekoliko celina. U gornjem delu prozora su kontrole za unos i izvršavanje upita. Većinu predstavlja odeljak za rezultate, dok se, u desnoj strani, nalaze razni moduli (na prvom otvaranju, dva aktivna modula su Schemata (sve tabele baze) i Syntax (pomoć za kreiranje upita)).

Za početak, unesite jedan upit u polje za unos upita u vrhu ekrana. Na primer, možemo ponoviti upit iz primera sa mysql monitorom:

use mysql;
select * from user;

 

 


 
Vidimo da je rezultat emitovan u delu za rezultate, kao i da je mnogo pregledniji od rezultata u mysql monitoru.

 

MySql Workbench

MySql Workbench predstavlja sveobuhvatan alat za upravljanje MySql bazama podataka. Njega možete skinuti sa sledeće adrese:

http://dev.mysql.com/downloads/workbench/

 

Uvodni ekran programa MySql workbench izgleda ovako:

 

 

Konektori (Connectors)

Bazom podataka ne može se rukovati direktno, već isključivo putem neke aplikacije. To znači da, zapravo, baza podataka jedino i može da komunicira sa spoljnim svetom kroz aplikaciju. Ovo je tačno. Ali, postavlja se pitanje, kako aplikacija, koju, na primer, pravimo, može da se obrati bazi?

Ovo je deo za koji je zadužen proizvođač baze. Svaka baza, mora posedovati i drajvere uz pomoć kojih će neki programski jezik, odnosno, tehnologija, moći da komunicira sa tom bazom. Ti drajveri, u MySQL-u, nazivaju se konektori.

 

Najvažnije iz lekcije:

  1. phpMyAdmin je najpoznatija web aplikacija za rukovanje MySQL bazom podataka.
  2. Uz instalaciju MySQL servera se dobija komandni program za rukovanje mysql serverom, MySQL monitor, koji omogućava izvršavanje sql upita na serveru.
  3. MySQL obezbeđuje besplatne desktop aplikacije za rukovanje MySQL serverom: MySQL Administrator, MySQL Query Browser i MySQL Migration Toolkit.
  4. MySQL Administrator se koristi za rukovanje serverom, ali ne i samim podacima.
  5. MySQL Query Browser omogućava rukovanje podacima.
  6. Konektori su drajveri koji omogućavaju povezivanje aplikacija sa MySQL serverom.
  7. Dozvoljavanje pristupa MySQL serveru direktno putem Interneta nije dobra praksa.
     
     
     

Vežba 1

Problem:

Na računaru na kome postoji samo MySQL server i MySQL server monitor, neophodno je kreirati MySQL bazu podataka pod nazivom CustomersDatabase. Potrebno je takođe kreirati tabelu Customers u ovoj bazi, koja će sadržati polja id, name i phone. Potrebno je uneti korisnika Peter sa brojem telefona 12345 i korisnicu Jenny sa brojem telefona 22345.

 

Rešenje:

Administracija podataka MySQL servera se može vršiti uz pomoć aplikacije MySQL monitor.

  • Da bi se ulogovali na MySQL server, potrebno je aktivirati mysql.exe aplikaciju na sledeći način: mysql -uroot
  • Nakon uspešnog logovanja na server, potrebno je kreirati bazu, naredbom: create database CustomersDatabase;
  • Da bi proverili da li je baza kreirana, aktiviramo naredbu: show databases
  • Bazi pristupamo naredbom: use CustomersDatabase;
  • Da bi kreirali tabelu koristimo sledeću naredbu: create table Customers ( id int primary key auto_increment, name varchar(256), phone varchar(12) )
  • Unos podataka u tabelu možemo izvršiti sledećom naredbom: insert into customers (name,phone) values ('Peter','12345'),('Jenny','22345');
  • Da bi proverili validnost unetih podataka upotrebljavamo naredbu: select * from customers;
Dodaj komentar Sviđa mi se - (3) Ne sviđa mi se - (1)    

  • Aplikacije za rukovanje MySQL serverom 1
  • Aplikacije za rukovanje MySQL serverom 2
  • Aplikacije za rukovanje MySQL serverom 3