background image

INTERNET:

Workshop: j zyk Perl

Giełda w Internecie

Wst p

Instalacja MySQL-a

Wypełnianie bazy danych

Wyszukiwanie ogłosze

Kontrola poprawno ci...

Moduły Perla - pomoc...

Instalacja MySQL-a

Marcin Nowak

Programy do obsługi sklepów internetowych s  zazwyczaj drogie i skomplikowane. Wad takich nie maj

skrypty Perla, które przy odrobinie wysiłku mo na stworzy  samodzielnie. Szczególnie wygodne w takich

zastosowaniach s  tak zwane moduły.

Dzi ki bibliotekom wykonywanie nawet skomplikowanych zada  mo e by  bardzo proste. Moduły s  małymi

zestawami programów oraz skryptów, które zawieraj  gotowe procedury do realizacji okre lonych zada . Z

naszego punktu widzenia szczególnie interesuj ce s  dwie biblioteki: moduł CGI, który ułatwia przetwarzanie

formularzy, oraz DBI zapewniaj cy prosty dost p do popularnych baz danych.

W tym artykule poka emy, jak stworzy  prost  giełd . Poniewa  niedługo zacznie si  sezon narciarski,

przygotujemy mał  baz  danych z my l  o miło nikach szusowania po  niegu. Ka dy, kto zechce sprzeda  narty,

wi zania albo inne akcesoria, b dzie mógł umie ci  swoje ogłoszenie w jednej z trzech kategorii. Aby ogłoszenia

nie były pokazywane w niesko czono , po 30 dniach ka dy anons b dzie automatycznie usuwany z bazy. Osoba

przegl daj ca ogłoszenia b dzie miała mo liwo  bezpo redniego skontaktowania si  z autorem interesuj cej j

oferty za po rednictwem poczty elektronicznej.

Wszystkie opisane w tym artykule pliki znajduj  si  na płycie CD-ROM doł czonej do tego numeru CHIP-a. Plik

gielda _form.html zawiera dwa formularze: jeden do wpisania prostego ogłoszenia, drugi do przeszukiwania bazy

danych. Jako baz  danych wykorzystujemy MySQL, który cieszy si  du  popularno ci , bo dla systemów

Linux/Unix jest on darmowy. Dost pna jest równie  jego shareware'owa wersja dla Windows. Wszystkie u yte

skrypty, czyli db_tworzenie.pldb_dodanie.pl i db_przegladanie.pl, s  niemal identyczne dla Windows i dla

Linuksa. Ró ni  si  one jedynie pierwszymi wierszami, zawieraj cymi  cie k  dost pu do Perla.

----

Info

Grupy dyskusyjne

Uwagi i komentarze do artykułu:

news://news.vogel.pl/chip.artykuly

Pytania techniczne:

news://pl.comp.lang.perl

news://comp.lang.perl

Internet

MySQL

http://www.mysql.org/

CPAN

http://www.cpan.org/

Polskie mirrory

http://sunsite.icm.edu.pl/pub/unix/mysql/

ftp://sunsite.icm.edu.pl/pub/CPAN/

W dziale Internet | Workshop: j zyk Perl znajduj  si  opisywane pliki i skrypty, u ywane moduły Perla oraz serwer

MySQL

background image

Instalacja MySQL-a

Aby skrypty mogły działa , musimy zainstalowa  MySQL-a, baz  danych gielda oraz zało y  konto o nazwie

webserver z hasłem dummy. W ramce na ko cu artykułu znajduje si  dokładny opis sposobu wykonania

powy szych czynno ci. Je li baza danych działa, mo emy skonfigurowa  interfejs Perla, który b dzie z ni

współpracował.

Główna strona naszej giełdy umo liwia zarówno dodawanie ogłosze , jak i ich wyszukiwanie.

Po sko czonej konfiguracji kopiujemy trzy skrypty z płyty CD-ROM do katalogu /cgi-bin/ serwera WWW, a

dokument HTML do foldera ze stronami WWW. Nast pnie uruchamiamy Apache'a oraz demona MySQL i za

po rednictwem przegl darki WWW otwieramy skrypt db_tworzenie.pl. Mo emy to zrobi  w nast puj cy sposób:

http://localhost/cgi-bin/db_tworzenie.pl

Je li wszystko przebiegnie poprawnie, skrypt doda tabel  o nazwie ogloszenie do bazy danych gielda. W pierwszej

cz ci programu na pocz tku nast puje deklaracja u ycia modułów DBI i CGI. Nast pnie jest tworzony obiekt o

nazwie $cgi_obj, który odpowiada stronie generowanej przez skrypt. Po porównaniu tego programu z przykładami

przedstawionymi w dwóch pierwszych cz ciach kursu zauwa ymy zmian  w sposobie pisania programu. Perl 5 jest

j zykiem zorientowanym obiektowo i wła nie te jego wła ciwo ci wykorzystujemy tym razem.

Na zako czenie skrypt tworzy poł czenie z baz  MySQL. W tym celu wykorzystywany jest moduł DBI oraz

sterownik dedykowany dla MySQL. Skrypt ł czy si  z baz  gielda, z uprawnieniami u ytkownika webserwer,

u ywaj c hasła dummy.

Po zestawieniu poł czenia z baz  danych zmiennej $dbh przypisywana jest poprawna warto . Je eli tworzenie

poł czenia si  nie powiedzie, $dbh nie b dzie miała  adnej warto ci. Informacja o przyczynie niepowodzenia

zostanie zapisana w zmiennej $DBI::errstr.

Aby u ytkownik wiedział, co si  dzieje, za pomoc  konstrukcji warunkowej if-else do przegl darki wysyłany jest

komunikat o sukcesie lub niepowodzeniu próby poł czenia z baz . Moduł CGI sprawia,  e tworzenie kodu HTML

jest o wiele prostsze. Polecenie:

print p('To jest mój tekst');

daje taki sam efekt co:

print '<p>To jest mój tekst</p>';

Ze wzgl du na lepsz  czytelno  w przykładowych skryptach nie b dziemy jednak u ywali tej wła ciwo ci

biblioteki CGI. Szczegółowy opis bogatych mo liwo ci modułu CGI znale  mo na w doł czonej do niego

dokumentacji.

Wró my jednak do skryptu. W nast pnym kroku wysyłamy do naszej bazy danych polecenie SQL, które znajduje

si  w nawiasie klamrowym za $dbh->do. Powoduje ono utworzenie tabeli o nazwie ogloszenia. Jej kolumny

powinny mie  okre lone nazwy, a dane format. Kolumna data powinna by  typu DATE, a pola kategoriatresc i

mail typu VARCHAR z maksymalnymi liczbami znaków podanymi w nawiasach klamrowych. Dzi ki temu zawarte

tam dane mog  si  składa  z liter, cyfr i innych znaków. Przy zastosowaniu, na przykład, typu INTEGER

dopuszczalne byłyby jedynie liczby całkowite. W sumie MySQL obsługuje kilkana cie ró nych formatów danych.

Wybór wła ciwego jest szczególnie wa ny w przypadku wykonywania operacji matematycznych na

przechowywanych danych.

Równie  na tym etapie kontrolujemy poprawno  wykonania programu. Na zako czenie skrypt przerywa poł czenie

z MySQL i ko czy generowanie kodu HTML. Operacje te mo na zrealizowa  bardzo łatwo, korzystaj c z pola

end_html obiektu CGI, który pozwala wysła  do przegl darki sekwencj  znaczników </body></html>.

background image

Wypełnianie bazy danych

W naszej bazie danych utworzyli my ju  tabel . Teraz musimy wypełni  j  tre ci . Pomo e nam w tym gotowy

formularz, w którym po wpisaniu informacji musimy jedynie wcisn  przycisk Wy lij. Wykonanie tej czynno ci

uruchamia skrypt db_dodaj.pl. W trzech krótkich poleceniach dane z formularza zapisywane s  w odpowiednich

zmiennych. Je li przypomnimy sobie zło one konstrukcje z pierwszej cz ci naszego kursu, od razu zauwa ymy,

jakim ułatwieniem dla programisty jest moduł CGI.pm. Wiersz:

$kategoria=$cgi_obj->param( 'kategoria');

wystarcza do przeniesienia wpisu z formularza do zmiennej o takiej samej nazwie.

Kolejne linie skryptu s  nam ju  dobrze znane. Kod zapisany w jednym wierszu wystarcza, aby umie ci  dane w

tabeli ogloszenie. Robimy to za pomoc  prostej komendy SQL-a INSERT.

W takiej samej kolejno ci, w jakiej wcze niej tworzyli my kolumny, teraz wpisujemy do nich dane. Kategoriatresc

i mail pochodz  z formularza, aktualn  dat  MySQL odczytuje za  z funkcji NOW() i dodaje j  do kolumny data w

formacie Date (rrrr-mm-dd). Po wykonaniu zapytania dane te b d  ju  znajdowały si  w bazie. Wy wietlimy je za

pomoc  trzeciego skryptu o nazwie db_przegladanie.pl.

background image

Wyszukiwanie ogłosze

Ostatni skrypt Perla uruchamiany jest z formularza Wyszukiwanie ogłosze . Zapytanie wysyłane do bazy danych

wybiera wszystkie pola (*) z tabeli ogloszenie, dla których warto  pola kategoria równa jest warto ci zapisanej w

zmiennej $kategoria. Zamiast gwiazdki * te  mo emy u y  nazwy konkretnych pól. Wówczas polecenie b dzie

miało posta : SELECT mail, tresc FROM ogloszenie...

Ogłoszenia, które maj  wi cej ni  30 dni, maj  nie by  wy wietlane. Data umieszczenia ogłoszenia na giełdzie nie

mo e wi c by  o ponad 30 dni wcze niejsza od daty bie cej. Aby wykona  takie porównanie, dat  musimy

przekształci  do postaci Liczba dni od (komputerowego) roku 0. Słu y do tego funkcja MySQL-a o nazwie

TO_DAYS().

Zasada działania interfejsu CGI: za jego po rednictwem wymieniane s  dane pomi dzy Internetem i baz

danych na serwerze. Moduły Perla pozwalaj  na wygodne sterowanie przepływem informacji.

Poniewa  zapytania typu WHERE mog  by  bardzo skomplikowane, osoby, które zamierzaj  opracowywa  własne

bazy danych, powinny dokładnie zapozna  si  z budow  zapyta  SQL i przejrze  dokumentacj  MySQL.

Podczas pracy z MySQL u ytkownicy Windows musz  pami ta  o tym,  e obowi zuje ich składnia

charakterystyczna dla systemów uniksowych. OGLOSZENIE i ogloszenie to dwie ró ne tabele. O regułach tych

nale y pami ta  szczególnie wówczas, gdy chcemy w przyszło ci uruchamia  skrypty równie  w  rodowisku Unix.

Dla własnej wygody warto pisa  wszystko wył cznie małymi literami.

Polecenie $sth->execute(); spowoduje wysłanie zapytania SQL zapisanego wcze -niej w obiekcie $sth poleceniem

$sth=$dbh ->prepare('zapytanie')...

background image

Kontrola poprawno ci zapyta

W naszym przykładzie sprawdzamy najpierw, czy odpowied  na zapytanie ma poprawn  warto . Je eli zmienna

$sth nie ma warto ci, w oknie przegl darki wy wietlany jest komunikat o bł dzie. W poprzednich cz ciach kursu

u ywali my do tego funkcji die, która mo e przerwa  wykonywanie skryptu i wysła  informacj  o bł dzie do

standardowego wyj cia. Tak mo na zrobi  i tym razem.

W drugim kroku program sprawdza, czy w bazie danych s  wpisy spełniaj ce kryteria wyszukiwania. Poniewa

wyst puj  tu tylko dwie mo liwo ci (wpisy s  albo ich nie ma), odpowied  na zapytanie generowana jest z

wykorzystaniem konstrukcji warunkowej if-else. Je li liczba pasuj cych wpisów wynosi 0, do przegl darki

wysyłany jest komunikat W kategorii... nie znaleziono  adnych elementów spełniaj cych kryteria wyszukiwania.

Je li przeszukiwanie zako czyło si  sukcesem, wykonywany jest program odpowiadaj cy warunkowi else.

Konstrukcja while(warunek) {blok programu} otwiera p tl , która wykonywana jest tak długo, jak długo warunek

podany w nawiasie jest spełniony. W naszym przypadku za pomoc  metody fetchrow_hashref() wynik

wyszukiwania wiersz po wierszu zapisywany jest w zmiennej $wiersz. Nast pnie komendami print dodajemy

informacje o ogłoszeniu do kodu HTML tworzonej strony.

Zwró my uwag ,  e po komendzie print u ywamy podwójnych znaków cudzysłowu. Poniewa  znak ten wyst puje

równie  w kodzie HTML, musimy je poprzedzi  uko nikiem \. W naszym przykładzie sytuacja taka ma miejsce w

odsyłaczu do adresu e-mail. Je eli zapomnimy o uko niku, wykonywanie skryptu zostanie przerwane i przegl darka

wy wietli bł d Server-Error 500. Innym sposobem obej cia tego problemu jest stosowanie pojedynczych znaków

cudzysłowu. W takim wypadku ła cuchy tekstowe musimy poł czy  kropkami. Pierwszy wiersz generuj cy

informacje wyj ciowe dla przegl darki wygl dałby wówczas nast puj co:

print'<p>.$wiersz->{'opis'}.'<br>';

Aby po wykonaniu programu zwolni  zasoby obiektu $sth, na ko cu skryptu powinni my umie ci  wiersz $sth-

>finish();.

background image

Moduły Perla - pomoc dla programisty

Opisane tutaj moduły CGI.pm i DBI s  jedynie dwoma przedstawicielami licznej grupy niezwykle u ytecznych

bibliotek. Wszystkie maj  jedn  wspóln  cech : mo na je znale  w CPAN - Comprehensive Perl Archive Net-

work. W archiwum tym moduły posegregowane zostały według dwóch kluczy: zastosowania i nazwiska autora.

Niektóre biblioteki s  w ka dej standardowej instalacji Perla. Nale y do nich mi dzy innymi CGI.pm. Oprócz niej w

pakiecie znajduj  si  równie  programy CPAN (Unix/Linux) lub PPM (Windows), które bardzo ułatwiaj

dodawanie kolejnych modułów do Perla.

W tej cz ci kursu wykorzystywany jest moduł DBI, zawieraj cy zestaw funkcji do współpracy z wieloma bazami

danych. Jest w ród nich MySQL. Instalacj  sterownika dla Windows ułatwi nam Perl Packet Manager - PPM.pl.

Program ten jest cz ci  składow  Active Perl (

http://www.activestate.com/

), na którym bazuje okienkowa wersja

Perla, wykorzystywana na potrzeby kursu.

Chc c zainstalowa  dowolny moduł, musimy mie  aktywne poł czenie z Internetem. Otwieramy okno trybu MS-

DOS i komend  

cd przechodzimy do katalogu instalacyjnego Perla i do podkatalogu bin. Poleceniem perl ppm.pl

uruchamiamy mened era pakietów. Pojawia si  znak zach ty PPM>. Wydajemy teraz komend  

install DBI.

Program nawi zuje poł czenie z serwerem Active State, producenta Active Perl, automatycznie pobiera moduł i

instaluje na komputerze. Nast pnie wydajemy analogiczne polecenie 

install DBD-mysql. Teraz pobierany jest

sterownik dla MySQL. Je eli nasze poł czenie z Internetem jest niestabilne i PPM nie potrafi sam  ci gn  plików z

modułami, pozostaje zrobienie tego r cznie. Z katalogu 

http://www.activestate.com/PPMpackages/5.6/x86/

pobieramy odpowiedni zbiór *.tar.gz, a z folderu 

http://www.activestate.com/PPMpackages/

 taki sam z

rozszerzeniem ppd. Nast pnie umieszczamy oba w jednym katalogu (na przykład c:\tmp) i po uruchomieniu

mened era pakietów wydajemy polecenie instalowania z katalogu (np. 

install /location c:\tmp DBD-mysql).

W Linuksie jest dost pny program CPAN, wchodz cy w skład standardowej dystrybucji Perla. Zaczynamy od

nawi zania poł czenia z Internetem i upewnienia si ,  e MySQL jest uruchomiony. Nast pnie w oknie terminala

wywołujemy moduł poleceniem perl -MCPAN -e shell. Przy pierwszym uruchomieniu program wymagał b dzie

podania kilku parametrów konfiguracyjnych. W wi kszo ci przypadków wystarczy udzielanie domy lnych

odpowiedzi, czyli naciskanie klawisza [Enter]. Po podaniu przez nas nazwy kraju wy wietlona zostanie lista

lokalnych serwerów FTP, udost pniaj cych archiwa CPAN. Mo emy wybra  jeden lub kilka z nich.

Przy aktywnym poł czeniu z Internetem uruchamiamy moduł zgodnie z podanym wcze niej opisem. Wy wietlony

zostaje znak zach ty w postaci cpan>. Wydajemy teraz komend  

install Bundle::DBD::mysql, która rozpoczyna

instalacj  całej serii modułów Perla, a na zako czenie sterownika dla MySQL-a. Wcze niej musimy jeszcze poda

cie ki dost pu do katalogów instalacyjnych. Program zada nam kilka pyta , na które powinni my odpowiada ,

naciskaj c [Enter].

Po zako czonej instalacji MySQL zdefiniowane wcze niej konto undef z hasłem undef przestaje istnie . Zmieniamy

teraz nazw  testowej bazy danych z test na gielda i zakładamy u ytkownika webserver z hasłem dummy lub

wybieramy takie nazwy, jakie wprowadzili my w tablicy uprawnie  (grant tables) MySQL. Podczas instalacji

sterownika nast puje jego próbne uruchomienie. W razie wyst pienia bł dów instalacja zostaje przerwana.

Je eli nie jeste my pewni, jak  nazw  nosi nasz moduł, mo emy j  odszuka . Pod Windows korzystamy z ppm.pl i

polecenia 

search mysql. U ytkownicy Linuksa wydaj  po znaku zach ty cpan> komend  i /mysql/, po czym

wy wietlona zostanie lista wszystkich pakietów do wyboru.

Je eli automatyczna instalacja modułów si  nie powiodła, nale y zrobi  to r cznie (po zainstalowaniu MySQL-a).

ci gamy samemu z jednego z mirrorów CPAN-u, na przykład serwera 

ftp://sunsite.icm.edu.pl/

, katalogu pub/

CPAN/modules/by-module/ pliki DBI-wersja.tar.gz oraz Msql-Mysql-modules-wersja.tar.gz. Rozpakowujemy je i

wydajemy polecenia:

Perl Makefile.PLmakemake testmake install

background image

Instalacja MySQL-a

Jako baz  danych w naszym kursie wykorzystujemy MySQL-a, który jest bardzo popularny i cz sto

wykorzystywany przez u ytkowników Linuksa. Pojawiła si  te  wersja dla 32-bitowych systemów Windows,

jednak bezpłatnie mo na korzysta  z niej tylko przez 30 dni. U ywanie programu po okresie próbnym wymaga

wykupienia licencji za ok. 200 USD lub zmiany systemu operacyjnego.

MySQL-a w Linuksie najpro ciej zainstalowa  z wersji RPM. Niezb dne s  pakiety: MySQLMySQL-client,

MySQL-devel oraz MySQL-shared. Pierwszy zawiera sam  baz  danych i po jego zainstalowaniu MySQL mo e ju

działa . Nie da si  jednak nim administrowa , bo wszystke niezb dne do tego programy znajduj  si  w w pakiecie

MySQL-clientMySQL-devel zawiera biblioteki programistycze do obsługi bazy danych, które w naszym

przykładzie s  wykorzystywane podczas kompilacji bibliotek Perla, a MySQL-shared dodatkowe pliki. Po

ci gni ciu wymienionych modułów nale y je zainstalowa , wydaj c po kolei polecenia:

rpm -i nazwa_modulu-wersja.rpm.

Instalacja w Windows wymaga, aby na komputerze uruchomiony był protokół TCP/IP. Warunek ten spełniony jest

zawsze wtedy, gdy komputer ma dost p do Internetu. Najpierw rozpakowujemy skompresowany pakiet MySQL do

katalogu tymczasowego i uruchamiamy program 

Setup. Domy lnie MySQL instalowany jest w katalogu C:\mysql.

Je eli chcemy mie  go w innym miejscu, zainstalujmy go w folderze domy lnym i dopiero pó niej przenie my go

do innego katalogu. Nast pnie, uruchamiaj c program, nale y zrobi  to z przeł cznikiem --basedir (na przykład

D:\programs\mysql\bin\mysqld --basedir D:\programs\mysql).

Po zako czonej instalacji musimy otworzy  okno trybu DOS. Robimy to, wybieraj c z menu Start polecenie

Uruchom i wpisuj c tam komend :

c:\mysql\bin\mysqld-shareware

Serwer uruchamia si  w tle bez otwierania własnego okna. Je li wi c nic si  nie dzieje, mo emy uzna ,  e wszystko

przebiega poprawnie. U ytkownicy Windows NT musz  u ywa  innych polece , które opisane s  w rozdziale

4.12.3 dokumentacji serwera SQL. Prac  MySQL-a przerywamy komend :

c:\mysql\bin\mysqladmin -u root shutdown

Pomimo  e pojawiły si  graficzne interfejsy dla Linuksa, zarz dzanie baz  danych bez pomocy klawiatury jest

niemo liwe. Pierwsza przeszkoda, na jak  natrafi  miło nicy myszki, jest zarazem najpowa niejsza. Poniewa  nie

ka dy u ytkownik powinien mie  mo liwo  dost pu do wszystkich baz danych, MySQL wyposa ony jest w tzw.

tabele uprawnie  (Grant Tables), przechowywane w bazie danych o nazwie mysql. W tabelach tych zawarte s

wpisy mówi ce o tym, kto, z jakiego komputera, do której bazy danych mo e uzyska  dost p i jakie operacje na tej

bazie mo e wykonywa .

Aby przyjrze  si  zawarto ci tabel i jednocze nie sprawdzi  poprawno  instalacji MySQL-a, wpisujemy w oknie

terminala nast puj c  komend  (u ytkownicy Linuksa podaj   cie k  dost pu odpowiadaj c  ich instalacji):

c:\mysql\bin\mysqlshow

Na ekranie pojawia si  lista baz danych. W przypadku  wie ej instalacji lista ta zawiera tylko dwa elementy: test i

mysql. Poleceniem:

c:\mysql\bin\mysqlshow -u root  mysql

wy wietlamy tabele bazy danych mysql, czyli omawiane wcze niej Grant Tables.

Komunikaty w postaci Access denied for  wiadcz  najcz ciej o  le podanych prawach dost pu. Dokładne

wskazówki i przykłady dotycz ce praw dost pu podane s  w dokumentacji.

Niniejszy opis ogranicza si  do konfiguracji jednego konta MySQL, pod którego nazw  serwer WWW b dzie

pó niej zarz dzał demonstracyjn  baz  danych. Poniewa  w naszym przykładzie konieczne b dzie tworzenie tabel

oraz zapisywanie, modyfikowanie i kasowanie rekordów, u ytkownik musi mie  uprawnienia do wykonywania

takich operacji.

Przed utworzeniem nowego konta zalecane jest usuni cie u ytkownika pustego (w wersji Windows jest on

zakładany domy lnie) i zabezpieczenie hasłem konta administratora MySQL-a.

Polecenie:

c:\mysql\bin\mysql mysql

otwiera dost p do bazy mysql, czyli do tabel uprawnie . Jednocze nie pojawia si  znak zach ty mysql>. Lista

wszystkich dost pnych polece  wy wietlana jest po wpisaniu help.

Najpierw kasujemy (DELETE) puste konto (' ') i na zako czenie wydajemy komend  

quit. Pami tajmy o tym,  e

ka dy wiersz polecenia wydany po znaku zach ty mysql> musi ko czy  si   rednikiem:

mysql> DELETE FROM user WHERE Host='localhost' AND User=' ';mysql> QUIT

Wszelkie zmiany wprowadzone w tabelach uprawnie  odnosz  skutek dopiero po wpisaniu komendy:

c:\mysql\bin\mysqladmin reload

background image

Za pomoc  

C:\mysql\bin>mysql -u root mysql, a nast pnie mysql> set password for root =

PASSWORD('moje_haslo'); ustawiamy hasło dla u ytkownika root. Teraz aby zatrzyma  działanie MySQL w

Windows, wystarczy wyda  polecenie 

c:\mysql\bin\mysqladmin --user= root --password=moje_hasło

shutdown.

Nast pnie tworzymy baz  danych o nazwie gielda. Po wpisaniu 

c:\mysql\bin\mysql -u root -p najpierw pojawi si

danie podania hasła. Dopiero po podaniu prawidłowego hasła wy wietlony zostanie znak zach ty MySQL.

Wpisujemy wówczas nast puj cy wiersz, zako czony  rednikiem:

mysql> CREATE DATABASE gielda;

W odpowiedzi pojawi si  krótki komunikat z potwierdzeniem wykonania operacji. Nadal pozostajemy w trybie

konfiguracyjnym MySQL. Poleceniem 

use mysql przechodzimy do tabel uprawnie , poniewa  musimy teraz

zało y  konto, które pó niej pozwoli serwerowi WWW na dost p do bazy danych.

U ytkownikowi nadamy nazw  webserver. Z komputera localhost (MySQL i Apache zainstalowane s  na tej samej

maszynie) b dzie on mógł wybiera , dodawa , kasowa  i modyfikowa  rekordy oraz tworzy  tabele. Jako hasło dla

tego u ytkownika wybieramy dummy. W tej bazie nie przechowujemy  adnych bardzo wa nych informacji, wi c

mo emy u y  takiego hasła. Pami tajmy jednak,  e je eli b dziemy robili powa ny projekt, w którym b d

u ywane wa ne dane, hasło nie mo e by  wyrazem i musi by  trudne do odgadni cia.

MySQL pozwala zało y  u ytkownika na dwa sposoby. Mo emy kolejno modyfikowa  tabele userhost i db (patrz:

rozdział 6. dokumentacji) lub u y  komendy Grant. Wybierzmy teraz drug  metod , aczkolwiek równie  z pierwsz

powinni my si  zapozna , je li pó niej chcemy na powa nie zaj  si  MySQL-em:

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE ON gielda.*TO
webserverIDENTIFIED BY 'dummy';

W ten sposób wykonali my wszystkie czynno ci wymagane do uruchomienia skryptu.