ugrás a tartalomhoz

MySQL 4.1 telepítése Windows rendszereken

Granc Róbert · 2004. Okt. 5. (K), 21.00
MySQL 4.1 telepítése Windows rendszereken
A Windows rendszerekre történő telepítésről szóló sorozatunkban a legutóbbi cikk a MySQL 4.0 telepítését járta körül. A MySQL adatbáziskiszolgálónak egyszerre több verziója is elérhető és telepíthető: a produktív felhasználásra ajánlott 4.0-s sorozat tagjai mellett a 4.1-es, illetve az ötös sorozat tagjai is letölthetőek. Míg a négyes sorozat legnagyobb újdonságai a hármashoz képest (számos egyéb mellett) a tranzakciókezelés, a sorszintű zárolás, a külső kulcsok használata, a lekérdezésgyorstárazás, a javított indexelés voltak, a 4.1-es sorozat (szintén számos egyéb mellett) már beágyazott lekérdezéseket, származtatott táblákat, bővített Unicode támogatást - és egy teljesen új Windowsos telepítőt is hozott. Ez az új telepítő és beállító alkalmazás lesz jelen cikkünk témája.

Az új telepítő

Az új telepítő, a mysql-4.1.5-gamma-essential-win.msi, egy 12 megabájtos fájl - ez jelentősen kisebb a négyes változat .exe formátumú telepítőcsomagjánál. Az MSI (Microsoft Windows Telepítő - Microsoft Windows Installer), mely a Windows minden újabb változatában megtalálható, sokkal rugalmasabb, ugyanakkor könnyebb telepítést tett lehetővé a MySQL 4.1 számára is.

Az új a telepítőcsomag csak a MySQL kiszolgáló futtatásához valóban szükséges elemeket tartalmazza. Ezek a Windows 9x/ME illetve Windows NT alapú (Windows NT, 2000 és XP, illetve 2003 Server) rendszerekre optimalizált binárisok, a parancssoros eszközök, illetve a C fejlesztői fájlok.

Az új telepítőcsomag végre megfelel a Microsoft ajánlásainak, valamint Windows felhasználók általános elvárásainak, és nem a C: meghajtó gyökérkönyvtárába akarja létrehozni a mysql könyvtárat, hanem a C:\Program Files\MySQL\MySQL Server 4.1 az alapértelmezett telepítési útvonala. A jövőben az összes MySQL termék (mint a későbbiekben majd részletezett Administrator) a C:\Program Files\MySQL könyvtárat tekinti alapértelmezett telepítési útvonalának - ez egy régóta várt, pozitív lépés!

Az új telepítő a korábbitól eltérő bejegyzéseket hoz létre a Start Menü alatt is: lásd Start -> All Programs -> MySQL -> MySQL Server 4.1.

A Start Menüben létrehozott új bejegyzések


A Registryben (rendszerleíró adatbázis) is változott a bejegyzés formája a korábbi változatokhoz képest - ez azonban nincs hatással a kiszolgáló működésére, csupán egyes segédprogramok használják ezeket a kiszolgáló változatának és elérési útvonalának gyors megtalálásához.

Az MSI típusú telepítő már a program frissítését is lehetővé teszi - azaz míg a korábbi változatok esetén a frissítéshez előbb el kellett távolítani a program korábbi verzióját, mostantól erre nem lesz szükség. A jelen (4.1.15) változat telepítése előtt azonban mindenféleképp el kell távolítani a korábban esetleg már telepített MySQL kiszolgálót.

A telepítő másik nagy (talán még fontosabb) újdonsága az úgynevezett "Kiszolgálóbeállítási Varázsló" (MySQL Server Instance Configuration Wizard), amely a telepítés végeztével indul el, és számos, korábban kényelmetlenül beállítható tulajdonság könnyű elérését teszi lehetővé, még a kiszolgáló első indítása előtt.

A telepítés folyamata

Az új telepítő frissített, dinamikus felülettel rendelkezik


A telepítő futtatásakor az első eldöntendő kérdés az, hogy hova szeretnénk telepíteni a kiszolgálót. Az alapértelmezett telepítési útvonal (a korábbi C:\mysql-lel szemben) már kiválóan megfelel, de természetesen szabadon változtatható, megkötések nélkül.

A telepítési beállítások közül ezután én a "Typical", azaz tipikus kiválasztását ajánlom. A "Complete", azaz teljes választás a számunkra teljesen felesleges C nyelvű include fájlokat és könyvtárakat telepítené, míg a többi összetevő eltávolítása (amely a "Custom", azaz testreszabott beállítással lehetséges) nem ajánlott.

A kiválasztható összetevők "Custom" telepítési módban


Ezután egy ingyenes MySQL.com hozzáférést regisztrálhatunk. Ez a "Skip Sign-Up" opció kiválasztásával átugorható. Regisztrálás esetén kérhetünk kapcsolatfelvételt, feliratkozhatunk a havi MySQL hírlevélre, illetve az újdonságokról történő azonnali értesítésre.

A telepítés végeztével az ablak bezárása előtt figyeljünk oda, hogy a "Configure the MySQL Server now" (azaz a MySQL kiszolgáló beállítása most) jelölőnégyzet be legyen jelölve!

A telepítés végeztével indíthatjuk a beállító varázslót

A kiszolgáló beállítása

Ha bejelölve hagytuk a jelölőnégyzetet, automatikusan el is indul a beállításokat segítő varázsló:

A kiszolgálóbeállító varázsló felülete is az új dizájn szerinti


A következő oldalon ajánlott a "Detailed Configuration" (azaz részletes beállítások) kiválasztása, ez biztosítja az optimális kiszolgálóbeállítás megvalósítását:

Milyen részletesen akarjuk beállítani a kiszolgálót?


A következő ablakban a kiszolgáló típusát választhatjuk meg - ez befolyásolja azt, hogy mennyi memóriát és processzorteljesítményt foglal majd le a kiszolgáló. Értelemszerűen mi a "Developer Machine", azaz "fejlesztői gép" lehetőséget választjuk, hiszen a kiszolgáló ekkor csak a minimálisan szükséges memóriamennyiséget foglalja le magának. A "Server Machine" opció dedikált Windowsos kiszolgálógép esetén használandó, ha a MySQL mellett más kiszolgálók (Web, FTP, stb.) is futnak a gépen, a "Dedicated MySQL Server Machine" opció kiválasztása esetén pedig a MySQL futtatásakor lefoglalja magának az összes szabad memóriát.

A szerver típusa befolyásolja a memória- és CPU-használatot


A következő ablak ismét fontos kérdést tesz fel: milyen adatbázistípusokkal kívánunk dolgozni? A MySQL a négyes verziótól kezdve lehetővé teszi a tranzakciókat is támogató InnoDB típusú adatbázistáblák használatát, ám ezek valamivel lassabbak, mint a MySQL régebbi, jól bevált MyISAM típusú táblái. Én ajánlom az első, a "Multifunctional Database" (azaz többfunkciós adatbázis) kiválasztását, így új adatbázisok létrehozásakor mi magunk dönthetjük el, hogy szükségünk van-e tranzakciók támogatására, vagy inkább a sebességet helyezzük előtérbe.

Milyen adatbázistípusokkal szeretnénk dolgozni?


A következő ablakban meghatározhatjuk, hogy hol tárolja a MySQL kiszolgáló az InnoDB adatbázisokat. Ez alapértelmezésként a telepítési útvonal, de ha valaki relatíve gyakran telepíti újra a gépét, az adatbázisok másik meghajtóra telepítésével ilyen esetben kihagyható ezek mentése, másolása.

Az adatbázisok elérési útvonala bármely meghajtón lehet


A következő ablakban a kiszolgáló várható terhelésére készíthetjük fel a szervert. Esetünkben ajánlott a legelső, "Decision Support (DSS)/OLAP" opció kiválasztása. Ez 20 egyidejű kapcsolatra optimalizálja a memóriakiosztást, ami várhatóan bőven elég lesz számunkra a teszteléshez. Fontos megjegyezni, hogy ez az opció nem korlátozza az egyidejű kapcsolatok számát, csak optimalizációs beállítás!

Fel kell készülni a várható terhelésre


A következő ablakban azt állítjuk be, hogy szerverünk kiszolgáljon-e TCP/IP kapcsolatokat is, vagy csak helyi kapcsolatokat (pl. ODBC). Ezt mindenféleképp hagyjuk bekapcsolva, valamint a port számát is hagyjuk az alapértelmezett 3306-on.

Mindenféleképp engedélyezzük a TCP/IP csatlakozásokat!


Ezután az alapértelmezett karakterkészletet választhatjuk ki. Mivel a MySQL 4.1 már igen jó Unicode (UTF-8) támogatással rendelkezik, valamint valószínűleg igen sokan használnák majd a magyar karaktereket, válasszuk ki a középső, "Best support for Multilingualism" opciót. A legalsó, "Manual" opciót kiválasztva magunk is megadhatjuk az alapértelmezett karakterkészletet, de a három "latin2"-ből például elég nehéz kiválasztani, hogy mire is lenne igazából szükségünk...

Ajánlott a UTF-8 karakterkészlet használata


Ezután a kiszolgáló szolgáltatást telepíthetjük, elnevezhetjük a szolgáltatást, valamint beállíthatjuk, hogy automatikusan induljon-e, illetve hogy ne foglalja állandóan feleslegesen a memóriát és processzoridőt. Én ajánlom ennek kikapcsolását, így elég csak akkor indítanunk, amikor ténylegesen szükség van rá (vagyis csak amikor épp fejlesztünk).

Nem kell állandóan futnia annak a szolgáltatásnak...


Ezután jön a korábbi MySQL változatok egyik gyenge pontjának nagyszerű javítása: már itt (mielőtt először elindítottuk volna kiszolgálónkat) rettentő egyszerűen beállíthatjuk az alapértelmezett, "root" felhasználó jelszavát.

Emellett ugyanitt létrehozhatunk egy "névtelen" felhasználót is, de (mint arra a program maga is figyelmeztet), ez biztonsági szempontból nem túl jó dolog, tehát inkább hagyjuk ki ezt a pontot.

A root felhasználó jelszó nélkül jött létre, gyorsan adjunk neki egyet!


Miután kiválasztottuk a megfelelő beállításokat, és eljutottunk idáig, kattintsunk az "Execute" gombra. Ennek eredményeként azután a varázsló elvégzi a szükséges beállításokat, elindítja a kiszolgáló szolgáltatást és új jelszót ad a "root" felhasználónak (mivel a MySQL saját adatbázisában tárolja a felhasználói jogosultságokat, azok értelemszerűen csak a kiszolgáló indítása után változtathatóak meg).

A legutolsó lépés


Ez a beállító varázsló természetesen később is bármikor indítható a Start Menüből (ld. fentebb a képet a MySQL bejegyzésről a Start Menüben).

További finomhangolások és a szerver felügyelete

A korábbi MySql változatokhoz képest ez a telepítő csak a valóban szükséges programokat telepítette, így például az előző cikkünkben említett WinMySQLadmin is kimaradt. A kiszolgáló kényelmes felügyeletéhez le kell töltenünk a MySQL honlapjáról a saját Administrator programjukat. A zip fájl kicsomagolásával ismét egy MSI telepítőcsomagot kapunk.

A telepítése a legegyszerűbb, mindössze az elérési útvonalat kell kiválasztanunk (mint fentebb említettük, a MySQL 4.1 kiszolgáló telepítőjéhez hasonlóan ennek az alapértelmezett telepítési útvonala is a C:\Progam Files\MySQL könyvtár), utána pedig vagy a teljes ("Complete"), vagy a testreszabott ("Custom") telepítés közül választanunk. Mivel összesen két komponens kiválasztása állítható be, és mindkettőre szükségünk lesz később, válasszuk a teljes ("Complete") telepítést.

A MySQL saját kiszolgálófelügyeleti programja


Amint ezzel elkészültünk, két új bejegyzés kerül a Start Menü "MySQL" mappájába:

Az Administrator új bejegyzései


A MySQL Administrator a szerver igen alapos beállítását és felügyeletét teszi lehetővé, a MySQL System Tray Monitor pedig egy kis alkalmazás, melynek ikonja a rendszertálcára, az óra mellé költözik, és onnan konfigurálhatjuk, indíthatjuk, állíthatjuk le a szolgáltatást, valamint indíthatjuk el a MySQL Administratort.

MySQL Tray Monitor


A MySQL Administrator túl sok lehetőséggel rendelkezik ahhoz, hogy ezen cikk keretén belül részletesen ismertessük mindet, így csak a főbb opciókat soroljuk fel:
  • Server Information: a kiszolgáló (a program és a számítógép) adatai
  • Service Control: a kiszolgáló szolgáltatás indítása vagy leállítása, illetve részletes beállítása
  • Startup Variables: a kiszolgáló indításakor alkalmazott beállítások, 9 főbb csoportba rendezve
  • User Administration: felhasználók áttekintése, egyes adatok szerkesztése (de új felhasználó felvételét, vagy jogosultságok részletes beállítását érdemesebb más eszközzel elvégezni)
  • Server Connections: a kiszolgáló kapcsolatai az aktuális kapcsolatok, vagy a kapcsolódó felhasználók szerinti bontásban
  • Health: kapcsolatok, memória és változók figyelése
  • Server Logs: bejegyzések követése
  • Replication Status: a replikációs szerver (amennyiben létezik) adatai
  • Backup illetve Restore: adatbázisok mentése (akár automatikusan naponta vagy bizonyos napokon, hetente, havonta), számos beállítási lehetőséggel, illetve helyreállítása
  • Catalogs: adatbázisok adatai (táblák, azok mérete, sorok száma, indexek adatai)

A MySQL 4.1 és a PHP

Nos, eljutottunk egy (remélhetőleg!) működő és jól beállított MySQL kiszolgálóig, most már csak össze kellene hoznunk a PHP-vel - hiszen valószínűleg pont ezért telepítettük fel, nem?

Feltételezve, hogy már rendelkezünk egy telepített Apache/PHP párossal, mindössze a következő tennivalóink vannak:
  • nevezzük át a MySQL bin könyvtárában található libmySQL.dll fájlt valami másra (pl. libmySQL.dll.regi)
  • PHP 5 esetén nem a mysql, hanem a mysqli kiegészítőt kell használnunk. A php.ini fájlban csak extension=php_mysql.dll sorunk van, rakjuk oda a hiányzó i betűt: extension=php_mysqli.dll - és természetesen töröljük ki a sor elejéről a pontosvesszőt. PHP 4 esetén automatikusan betöltődik a MySQL kiegészítő, ott ez a lépés kimarad.


Tehát PHP 5 esetén így néz ki a php.ini fájl megfelelő része:

;extension=php_msql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
Figyeljünk arra, hogy a MySQL 4.1 változatától PHP 5 esetén ne a mysql, hanem a mysqli kiegészítőt használjuk! A PHP mysql kiegészítője nem teljesen kompatibilis a MySQL 4.1 illetve 5 egyes funkcióival!

A PHP 4 nem rendelkezik mysqli kiegészítővel, használható a mysql kiegészítő, de fontos, hogy ebben az esetben hozzunk létre egy új felhasználót a MySQL-ben a PHP kapcsolathoz, méghozzá az OLD_PASSWORD() funkció használatával, mert a MySQL 4.1 illetve 5 jelszó funkciója nem kompatibilis többé a korábbi verziókéval, ezért a PHP alkalmazások nem tudnak csatlakozni.

Ezután PHP 5 esetén már használható is az előző cikkben leírtak alapján telepített és beállított PhpMyAdmin, egyetlen változtatást kell csupán tennünk a config.inc fájljában: a $cfg['Servers'][$i]['extension'] változó értékét változtassuk mysql-ről mysqli-re:

$cfg['Servers'][$i]['extension']     = 'mysqli';
Nézzük hogy PHP 4 esetén hogyan hozhatunk létre új felhasználót úgy, hogy azt használhassuk is. Nyissunk meg egy parancssoros ablakot (command prompt), majd navigáljunk el a MySQL könyvtárunk bin alkönyvtárához. Lépjünk be a MySQL-be a "root" felhasználónkkal (az előző cikktől eltérően itt most ugye ismerjük a "root" felhasználónk jelszavát, tehát nem kell újraindítani a kiszolgálót):

mysql -uroot -pjelszo mysql
(Az első "mysql" a program neve (vagyis mysql.exe), a -u paraméter a felhasználót, a -p a jelszót jelenti, míg a második "mysql" az adatbázis neve, amelyben a MySQL a felhasználói jogosultságokat tárolja.)
Ezután változtassuk át a felhasználók jelszavát a régi formátumúra:

UPDATE user SET password=OLD_PASSWORD('jelszo') WHERE user='root';
Amennyiben (remélhetőleg) az előző cikkben leírt módon létrehoztunk egy "pma" felhasználót a PhpMyAdmin részére, akkor változtassuk most meg annak jelszavát is:

UPDATE user SET password=OLD_PASSWORD('pmajelszo') WHERE user='pma';
Tegyünk hasonlóképpen az esetleges egyéb felhasználókkal is. Ezek után érvényesítsük a változtatásokat:

FLUSH PRIVILEGES;
Ezután már gond nélkül használhatjuk a MySQL 4.1-re (és 5-re) felkészítetlen eszközeinket is (pl. PhpMyAdmin, MySQL-Front, stb.), de az új jelszóformátumot alkalmazó eszközök (pl. a MySQL Administrator) is működni fognak.

Amennyiben a PHP 4.x változatáról ezután továbblépünk a PHP 5-re, ahol a mysqli kiegészítőt kell használnunk (amely már támogatja az új jelszóformátumot), az

UPDATE user SET password=PASSWORD('jelszo') WHERE user='root';
formátumú paranccsal tudjuk majd visszaállítani a jelszavakat a MySQL 4.1 új, biztonságosabb jelszóformátumába.

Végszó

Ennyi lett volna a MySQL 4.1 telepítésének folyamata. Mint láthattuk, bár a telepítés (köszönhetően az új telepítő és beállító alkalmazásnak) sokkal egyszerűbb és felhasználóbarátabb, mint a MySQL korábbi változatainál, az új jelszóformátum már megnehezítheti később az életünket. Másrészről viszont tekinthetjük úgy, hogy ezek az első lépések egy biztonságosabb adatbázisszerver, illetve a MySQL 5 használata felé vezető úton. Éles környezetben, ha valakinek nincs szüksége UTF-8 támogatásra, beágyazott lekérdezésekre, származtatott táblákra (azaz a 4.1-es MySQL fő újdonságaira), akkor érdemes inkább a jelenlegi PHP változatokkal is kényelmesebben használható 4.0-s verziónál maradni, annál is inkább, mivel a 4.1-es verzió jelenleg gamma állapotú. Fejlesztői környezetben mindenképp érdemes kipróbálni az újdonságokat, hiszen előbb-utóbb biztosan felváltják a szervereken az új verziók a régieket.

Az éles környezetben történő MySQL 4.1 telepítés ellen szóló legfontosabb érv jelenleg, hogy ha a PHP 5-öt is telepítettük, és nem saját fejlesztésű alkalmazásokat (pl. blogmotorokat, egyebeket) akarunk tesztelni gépünkön, egyáltalán nem biztos hogy azok megfelelően működnek majd a mysqli kiegészítővel.
 
Granc Róbert arcképe
Granc Róbert
Weblabor szerkesztő. 1995-ben kezdett foglalkozni a webbel, 2001-ben pedig a dinamikus weboldalakra koncentrált, és a PHP lett a kedvence.
Szabad idejében a COD4-et nyomja, legalábbis amikor négy gyereke épp mással van elfoglalva és nem vele.
1

mysql install windows platformon

Anonymous · 2004. Nov. 19. (P), 02.51
File 'c:\mysql\share\charsets\?.conf' not found (Errcode: 22) Character set '#33' is not a compiled character set and is not specified in the 'c:\mysql\share\charsets\Index' file

ez a hibaüzenet íródik ki, ha futtatok egy alap php scriptet, ami lekérdez 1 teszttáblát. ja és az ű-t és ő-t meg sem hajlandó jeleníteni.
próbáltam mysql 4.1 és 5.0 verziót installeerrel vagy anélkül, teljesen mindegy

zsszigi##kukac##freemail.hu
2

phpmyadmin nem megy :(

netman · 2005. Aug. 20. (Szo), 20.55
udv. a cikk szerint telepitettem a mysqlt, aztan megkisereltem a phpmyadmint, ami nekem 3.x.x verzioju mysqlel tokeletesen ment, most ezt irta ki:

#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client

gondoltam, régi a phpmyadmin, letoltottem a 2.6.3-pl1 -t, a hibauzenet ugyanez :( ha tud valaki, kerem segitsen... :(
3

Ott van a cikkben?

Granc Róbert · 2005. Aug. 21. (V), 00.44
A válasz valószínűleg ott van a leírásban, az utolsó bekezdésben: próbálj meg régi jelszótípust állítani be a MySQL-ben...
4

koszi

netman · 2005. Aug. 21. (V), 12.32
aha, koszi...

végulis egy 10 perccel ezelott arra gondoltam, mi lenne, ha kitorolném a jelszot.
Es igy, jelszo nelkul mostmár megy. Igaz, hogy mindig figyelmeztet, hogy igy "nem egeszseges" "MySQLolni", de localhoston megteszi...

Koszi
Udv
www.netman.sk
5

Elszúrtam

Anonymous · 2005. Okt. 23. (V), 08.25
Véletlen kitöröltem a profilokat .... és nem tom mi volt a root jelszava... vmi ötlet? :S
7

A jelszó

Anonymous · 2005. Okt. 23. (V), 13.29
thx! A felét értem .. de másik felét nem.... dosban mit kell csinálni?
8

mysql.dll és mysqli.dll különbsége

thamas · 2005. Dec. 30. (P), 13.04
A cikk alapján telepítettem winXP PC-n Apache2 ésPHP5 mellé a MySQL4.1.7-et. Azonban a WordPress2-t ezen az összeállításon nem lehetett installálni. Ezért a http://mpcon.org/apacheguide/wordpress.php leírása alapján a php.ini ben visszaálltam mysql.dll-re.

Így valóban sikerült telepíteni a Wordpresst. Azonban nem tudom, hogy ez a beállítás nem okozhat-e gondot a későbbiekben. (Pl. ha másik cms-t is telepíteni szeretnék.)

Kell-e erről valamit tudni, esetleg további beállításokat végezni?

Üdvözlettel:
Hajas Tamás
http://thamas.hu