A MySQL verzió kiválasztása és a MySQL verziójának megtudása. MySQL verzió kiválasztása és a MySQL verzió megtudása Hogyan lehet megtudni, hogy a mysql melyik verziója van telepítve

  • Biztonság
  • Minőség
  • Ár
  • Megbízhatóság
  • Egyszerűség
  • Stabilitás
  • Támogatás
  • Sebesség
  • Vezérlőpult

GYIK súgó rész

Videótárhely áttekintése

Hogyan lehet feltölteni egy szervert FTP-re

FIGYELEM: Csak 3 mappát kell feltöltenie ( szűrőscriptek, játékmódok, szkriptfájlok) és 1 fájl szerver.cfg, majd írja be a sort a server.cfg-be (ha nincs ott) plugins streamer.so sscanf.so CRP.so mysql.so Azt is meg kell győződnie arról, hogy az .amx formátumú mod létezik a gamemodes mappában, és a a mod neve helyesen van írva a server.cfg (config) fájlban.

FileZilla kliens
Enter házigazda Példa: 194.58.88.74 - bejelentkezés *****- jelszó******** A KIKÖTŐ MEZŐJÉRE SEMMIT NE BEÍRJ!!!

FIGYELEM: Ha nincs kapcsolat az FTP-vel a FileZillán keresztül, töltse le Total Commanderés azon keresztül csatlakozz!

Total Commander- Sammp fájljainak FTP-re való feltöltéséhez
Enter házigazda Példa: 194.58.88.74 - bejelentkezés 173104911- jelszó g1KdN7D3q

hova kell belépni? Válasz: futtassa a Total Commander > Hálózat > Csatlakozás FTP-kiszolgálóhoz > Hozzáadás, majd adja meg az adatokat a példa képernyőképen látható módon:

Mod Ismeretlen

Ha a játékmód mezőben az „ismeretlen” felirat szerepel, kövesse az alábbi lépéseket:
1. Először állítsa le a szervert
2. Nyissa meg a vezérlőpultot a Kiszolgálóbeállítások lapon, majd válassza a Beállítások menüpontot
3. Adjon hozzá egy sort alább bővítmények streamer.so sscanf.so CRP.so mysql.so
Módosítsa a beépülő modulok nevét, ha a mod ismeretlen, például: plugins streamer.so sscanf.so CRP.so mysql.so -on bővítmények streamer2.7.2.so sscanf.so CRP.so mysqlR34.so
*A plugins mappa alapértelmezés szerint kezdetben telepítve van, és tartalmazza az összes szükséges beépülő modult.
* Bármelyik beépülő modulját telepítheti FTP-re, majd regisztrálhatja őket a vezérlőpulton a Beállítások részben szükséges plugin a szerver számára.
*A streamer fordításához és frissítéséhez használja a PAWNO programot
4.Egy mappában bővítmények legyenek .so kiterjesztésű pluginok Linuxra: válaszd ki a kívánt plugint a szerveredhez és írd be a nevét a panelbeállításokba a plugins sorba PÉLDA: plugins streamer.so
5. Ne felejtsd el, hogy OS Linuxot használunk, ami a Panelbeállításokban található
írja be a sort a plugins pluginokhoz: streamer.so sscanf.so CRP.so a kiterjesztéssel .így különben a szerver nem fog megfelelően működni.

Mert OS Linux regisztráljon a server.cfg-ben, mint: plugins streamer.so sscanf.so CRP.so mysql.so antiattack.so
A libmysqlclient.so.15 libmysqlclient.so.16 libmysqlclient_r.so.16 beépülő modulok egyikének a kiszolgáló mappájában kell lennie.

Figyelem: ha a szerver megfelelően működik Windows operációs rendszeren, ez nem jelenti azt, hogy megfelelően fog működni Linuxon.

Mi a teendő, ha a kitöltés után nincsenek ikonok, házak, üzletek stb.?

A konfigurációba írd be a streamer2.5.so-t, mentsd el és indítsd újra a szervert.
Példa:

bővítmények streamer2.5.so sscanf.so CRP.so mysql.so regex.so

Hogyan lehet megtudni a plugin verzióját?
On helyi számítógép indítsa el a szervert, majd nézze meg a naplóban, ott megjelenik a plugin verziója, és regisztrálja ezt a verziót a tárhelyen a szerver konfigurációjában.
Példa:


Szerver bővítmények
--------------
Beépülő modul betöltése: streamer.so
*** Streamer Plugin v2.6.1 by Incognito betöltve ***

Ez azt jelenti, hogy meg kell adni a streamer2.6.1.so verziót a szerver konfigurációjában

Súgó - A mod csatlakoztatása a mysql szerverhez

Nyissa meg a modot (file.PWN) a PAWNO programmal, adja meg adatait a MYSQL részből


Példa:

#define mysql_host "host.site"
#define mysql_db "s20000"
#define mysql_user "s20000"
#define mysql_pass "lazyrich"

A mod .AMX-ben való fordítása és az sql lekérdezés adatbázisba importálása után

Figyelem! Ha ismeretlen jelenik meg a fordítási folyamat során, a mod nem észlelhető.
A megoldás az, hogy keresünk egy szkriptet a hiba kijavításához.

A mod nevének, vagy inkább a hostname paraméternek a megváltoztatásához be kell írnia a szerver vezérlőpultját a -Settings részbe (ez a sever.cfg szerver konfigurációja), és a jobb oldali hostname sorba írja be a szerver nevét. , például: *** Szerverünk a legjobb * **
Mentse el az adatokat a panelen, és mindenképpen indítsa újra a szervert, hogy az új paraméterek érvénybe lépjenek.
Ha a neved a fentiek után sem változott, akkor a PAWNO programmal meg kell változtatnia a nevet magában a modban, és ez egy teljesen más történet, amely az interneten elérhető.

Server.cfg









1. lekérdezés – Nem változtatunk.

maxnpc 10 – Nem változunk.
onfoot_rate 40 – Ne változtasson.
incar_rate 40 – Nem változtatunk.
fegyver_arány 40 – Ne változtasson.




- szabványos bővítmények sora a samp konfigurációhoz

Hogyan adj magadnak rendszergazdai fiókot

Lépjen a mappában lévő szerverre szkriptfájlokat, találd meg a tiédet NICK
példa: Aldo_Mangano, nyissa meg a fájlt a Jegyzettömb segítségével,
megtalálni a vonalat AdminLevel adja meg az 1999-et, majd mentse a fájlt, és indítsa újra a kiszolgálót.

Server.cfg

echo Kiszolgálókonfiguráció végrehajtása…
lanmode 0 – 0 – játék az interneten keresztül, 1 – játék helyi hálózaton keresztül.
rcon_password 123 – „123” – jelszó a szerver adminisztrációs paneljéről.
maxplayers 50 – Ahogy már érted, a maximális létszám a játékosok. A 0.3a verzióban maximum 500.
7777-es port – A kiszolgáló címének végén megjelenő port. (A tárhelyen kiteszi magát)
hostname NameServer – A jövőbeli szerver neve.
gamemode0 mód – Játékmod a jövőbeli szerveredhez. Erről bővebben lent...
bejelenti 0 – 1 a szerver látható az Internet lapon / 0 nem látható.
1. lekérdezés – Nem változtatunk.
weburl site – Szerver webhely, ha elérhető.
maxnpc 10 – Nem változunk.
onfoot_rate 40 – Ne változtasson.
incar_rate 40 – Nem változtatunk.
fegyver_arány 40 – Ne változtasson.
stream_distance 300.0 – Ne módosítsa.
stream_rate 1000 – Ne módosítsa.
jelszó - your_password (jelszóval rendelkező kiszolgáló)
nyelv Oroszország - térkép 0.3.7-hez a térkép helyett
bővítmények streamer.so sscanf.so CRP.so mysql.so regex.so dc_cmd.so CVector.so nativechecker.so- szabványos bővítmények sora a samp konfigurációhoz

Először is el kell döntenie, hogy a legújabb kísérleti kiadást vagy a legújabb stabil verziót szeretné-e:

  • Ha most először használja a MySQL-t, vagy olyan rendszerre próbálja átvinni a MySQL-t, amely nem rendelkezik bináris disztribúcióval, általában azt javasoljuk, hogy a stabil verzióval kezdje (jelenleg 3.23-as verzió). Ne feledje, hogy az összes MySQL-kiadást MySQL-benchmarkok és átfogó tesztcsomag segítségével tesztelik minden kiadás előtt (még a kísérleti kiadások esetében is).
  • Ha együtt dolgozik régi rendszerés frissíteni szeretné, de el akarja kerülni az esetleges inkonzisztenciákat a frissítés során, akkor le kell cserélnie a legújabb verzióra ugyanabban az ágban, amelyet használ (ahol csak a legújabb verziószám újabb, mint az Öné). Az ilyen verziókban igyekszünk csak a kritikus hibákat kijavítani, és csak kis, viszonylag biztonságos változtatásokat végezni.

Másodszor, el kell döntenie, hogy forrás- vagy bináris terjesztést kíván-e használni. A legtöbb esetben jobb bináris disztribúciót választani, ha létezik ilyen az Ön platformjára, mivel általában könnyebb telepíteni, mint a forrásterjesztést.

A forrásból történő telepítés előnyösebb lehet a következő esetekben:

  • Ha a MySQL-t valamilyen kifejezetten meghatározott helyre kell telepítenie (a szabványos bináris szállítások bárhol „futtatásra készek”, de lehet, hogy még nagyobb rugalmasságra van szüksége).
  • A különböző felhasználói igények kielégítésére két különböző bináris verziót kínálunk: az egyiket nem tranzakciós táblakezelőkkel (kicsi, gyors bináris kód) fordítjuk, a másikat pedig a legfontosabb bővíthetőségi lehetőségekkel, például tranzakció-tudatos táblákkal konfigurálva. Mindkét verzió ugyanabból a forráskódból készült. Minden MySQL natív kliens csatlakozhat mindkét verzióhoz. A MySQL Extended verziójú bináris disztribúció -max utótaggal van jelölve, és ugyanazokkal a beállításokkal van beállítva, mint a mysqld-max . Lásd: 4.7.5. mysqld-max, egy kiterjesztett mysqld szerver. Ha a MySQL-Max RPM csomagot szeretné használni, először telepítenie kell a szabványos MySQL RPM csomagot.
  • Ha a mysqld-t néhány további funkcióval kell konfigurálnia, amelyek nem állnak rendelkezésre a szabványos bináris disztribúciókban. Az alábbiakban felsoroljuk azokat a leggyakoribb kiegészítő opciókat, amelyeket érdemes használni:
    • --with-innodb
    • --a-berkeley-db
    • ---raiddal
    • --with-libwrap
    • --with-named-z-lib (Ez bizonyos bináris disztribúciók esetén megtörténik)
    • ---hibakereséssel[=tele]
  • Alapértelmezés szerint egy bináris disztribúciót általában az összes kódolás támogatásával fordítanak, és ugyanazon processzorcsaládhoz tartozó különböző processzorokon kell futniuk. Ha gyorsabb MySQL-kiszolgálót szeretne, akkor újrafordíthatja úgy, hogy csak a szükséges kódolást támogassa, használjon jobb fordítót (például a pgcc-t), vagy használja a processzorra jobban optimalizált fordítóbeállításokat.
  • Ha hibát talál, és jelentse azt a MySQL fejlesztőcsapatának, küldjön egy javítást, amelyet a forráskód-terjesztésre kell alkalmazni a hiba kijavításához.
  • Ha szeretné olvasni (és/vagy módosítani) a MySQL forráskódot (C és C++ nyelven), rendelkeznie kell egy forráskód disztribúcióval. A forráskód mindig a legjobb dokumentáció. A forráseloszlások több tesztet és példát is tartalmaznak, mint a bináris disztribúciók.

A MySQL elnevezési rendszere kiadási számokat használ, amelyek három számból és egy utótagból állnak. Például a mysql-3.21.17-beta kiadás a következőképpen értelmezhető:

  • Az első szám (3) a fájlformátumot írja le. Az összes 3-as verzió azonos fájlformátumú.
  • A második szám (21) a kimeneti szintet jelzi. Általában két lehetőség közül lehet választani. Az egyik a stabil ág felszabadulását jelenti (jelenleg 23), a második pedig a kísérleti ágat (jelenleg 4,0). Általában mindkét ág stabil, de a kísérleti verziónak lehetnek furcsaságai, hiányozhatnak az új funkciók dokumentációi, vagy egyes rendszereken nem fordítható le.
  • A harmadik szám (17) a kiadási szinten belüli verziószám. Ez a szám minden új elosztásnál növekszik. Általában van értelme a legtöbbet választani legújabb verziója a kiválasztott kiadási szinthez.
  • Az utótag (béta) az adott kiadás stabilitásának szintjét jelzi. A következő utótagok lehetségesek:
    • Az alfa azt jelzi, hogy a kiadás új kód nagy részeit tartalmazza, amelyek nincsenek 100%-ban tesztelve. A talált hibákat (általában nincs ilyen) dokumentálni kell a ``Hírek'' részben. Lásd: D. A MySQL változásainak és frissítéseinek története. A legtöbb alfa-kiadás új parancsokat és kiterjesztéseket is tartalmaz. Az alfa kiadáson való munka közben előfordulhat, hogy jelentős kódmódosításokkal járó aktív fejlesztések zajlanak, de a kiadás előtt mindent tesztelnek. A MySQL bármely kiadásának mentesnek kell lennie az ismert hibáktól.
    • béta azt jelenti, hogy minden új kódot teszteltek. A rendszer nem ad hozzá új tulajdonságokat, amelyek megszakíthatják a régi kódot. Nem lehetnek ismert hibák. Egy verzió alfaról béta verzióra változik, ha legalább egy hónapja nem érkezett jelentés kritikus hibákról az alfa verzióban, és nem tervezünk olyan új funkciókat hozzáadni, amelyek csökkentenék a korábbi parancsok megbízhatóságát.
    • A gamma egy béta verzió, amely már majdnem kész, és úgy tűnik, hogy jól működik. Csak kisebb javítások kerülnek hozzáadásra. Sok más cég pontosan ezt nevezi kiadásnak.
    • Ha nincs utótag, az azt jelenti, hogy ez a verzió sok különböző verzión futott számítógépes rendszerek nincs hibaüzenet, kivéve a platformspecifikus hibákat; számára csak a kritikus hibák javítása megengedett. Ezért nevezzük ezt a kiadást stabilnak.

A MySQL összes verziója átesik szabványos tesztjeinken és benchmarkjainkon, hogy megbizonyosodjon arról, hogy megbízhatóan használható. Mivel a szabványos teszteket időről időre kibővítjük az új felfedezett hibák és az azokat esetlegesen előidéző ​​helyzetek tesztelésével, a tesztcsomag idővel egyre jobb és jobb lesz.

Felhívjuk figyelmét, hogy minden kiadást legalább a következő tesztekkel tesztelnek:

Belső tesztkészlet A csomag az ügyfél gyártási rendszerének része. Ez a készlet sok táblát tartalmaz több száz megabájt adattal. MySQL Performance Test Suite Ezek a tesztek gyakran használt lekérdezéseken futnak. Azt is lehetővé teszik, hogy megnézze, hogy a legújabb optimalizálási csomag valóban gyorsabbá teszi-e a kódot. Lásd a részt. crash-me test A teszt megpróbálja meghatározni, hogy melyik

funkcionalitás támogatja az adatbázist, és milyen képességekkel és korlátokkal rendelkezik. Lásd: 5.1.4 A MySQL Benchmark Suite. Van még egy teszt. Ez abban rejlik, hogy a legújabbat használjuk

MySQL verzió

belső gyártási környezetünkben legalább egy gépen. Ezzel a verzióval több mint 100 gigabájtnyi adat áll rendelkezésünkre. A MySQL 5.6-os verziójának stabil kiadása. Az új verzióban sok munka történt. A fő erőfeszítések a teljesítmény, a méretezhetőség és a rugalmasság javítására irányultak. Az InnoDB motor jelentős változásokon ment keresztül. A legfontosabb fejlesztések a következők: a teljes szöveges keresőeszközök támogatása, az adatokhoz való hozzáférés lehetősége a memcached API-n keresztül, megnövelt teljesítmény intenzív adatrögzítés során, valamint megnövelt méretezhetőség a feldolgozás során

nagy számban

egyidejű kérések.

Egy másik újítás az 5.6-os verzióban a DDL (Data Definition Language) műveletek végrehajtása anélkül, hogy a DBMS-t offline állapotba kapcsolnák és megszakítanák a táblákhoz való hozzáférést. A rendszergazdák a DBMS leállítása nélkül hajthatnak végre a séma alaphelyzetbe állításával, adatoszlopok hozzáadásával vagy törlésével, illetve oszlopok átnevezésével kapcsolatos műveleteket. Korábban ezek a szolgáltatások csak a NoSQL-termékekben voltak elérhetők.

  • Az 5.5-ös verzióhoz képest az új termék már 48 magos szervereken is futhat, szemben a 32 magos MySQL 5.5-ös verzióval
  • Mostantól lehetőség van teljes szövegű indexek létrehozására egy szervezet számára az InnoDB-ben gyors keresés szóalakokkal az InnoDB táblákban tárolt szövegtartalom között. Korábban a teljes szöveges keresés csak a MyISAM táblákhoz volt elérhető.
  • A lekérdezésoptimalizáló hatékonyságának javítása, az eredmény értékkészlet kiválasztásának, a lekérdezés rendezésének és végrehajtásának folyamatának optimalizálása. Az Index Condition Pushdown (ICP) és a Batch Key Access (BKA) új optimalizálása akár 280x-ot tesz lehetővé áteresztőképesség teljesíteni néhány kérést. A „SELECT... FROM single_table... ORDER BY non_index_column LIMIT N;” lekérdezések végrehajtásának hatékonysága megnőtt. Javult a nagy minta sorainak csak egy részét megjelenítő „SELECT... LIMIT N” lekérdezések teljesítménye.
  • Az Optimizer diagnosztikai eszközei kibővültek, az EXPLAIN támogatás hozzáadásra került az INSERT, UPDATE és DELETE műveletekhez. Az EXPLAIN eredmények mostantól JSON formátumban is megjeleníthetők. Az új optimalizáló nyomkövetési mód lehetővé teszi a lekérdezésoptimalizálás során hozott minden döntés nyomon követését.
  • További optimalizálások az allekérdezések végrehajtásához, amelyekben a „SELECT... FROM table1 WHERE... IN (SELECT... FROM table2...)” formájú beágyazott lekérdezések a szakaszban optimálisabb megjelenítésre fordítódnak le. mielőtt a lekérdezést közvetlenül végrehajtaná, például lecseréljük egy hatékonyabb JOIN-re.
  • A PERFORMANCE_SCHEMA diagnosztikai rendszer megvalósításának kiterjesztése, amely alacsony szintű eszközöket biztosít a DBMS működése során a lekérdezések és a különböző események végrehajtásának figyeléséhez. A PERFORMANCE_SCHEMA részletes betekintést nyújt a régóta futó lekérdezések szűk keresztmetszeteibe, valamint lekérdezés, szál, felhasználó, gazdagép és objektum szerint csoportosított összesítő statisztikákat.
  • Javult az InnoDB motor implementációja, teljesítménynövekedés tapasztalható tranzakciók végrehajtása során és az adatolvasási műveletek túlsúlyával végzett tevékenység során - egyes helyzetekben a gyorsulás eléri a 230%-ot.
  • Késleltetett replikációs mód, amely lehetővé teszi az adatok replikálását nem azonnal, hanem bizonyos késleltetéssel, ami lehetővé teszi az operátori hibák (például a táblázat tartalmának véletlen törlése) elleni védelmet.
  • A fájlok maximális méretének növelése változásnaplókkal (InnoDB Redo Log) 4 GB-ról 2 TB-ra.
  • Biztonsági fejlesztések: a hitelesítési paraméterek megadásának támogatása a .mylogin.cnf fájlban titkosított formában; az sha256_password beépülő modul hozzáadása a jelszókivonatok tárolásához az SHA-256 algoritmus használatával; a jelszó lejárati idejét tartalmazó mező hozzáadása a mysql.user táblához; új SQL-függvény VALIDATE_PASSWORD_STRENGTH() a jelszó erősségének értékeléséhez.
  • Támogatás a kiszolgáló csak olvasható módban történő futtatásához (opció --innodb-read-only, InnoDB only).
  • Támogatja a töredékmásodpercek megadását a TIME, DATETIME és TIMESTAMP funkciókban a mikroszekundumok megadásához.
  • A "--log", "--log-slow-queries", "--one-thread", "--safe-mode", "--skip-thread-priority", "--table-" opciók támogatása " a gyorsítótár megszűnt".
A MySQL (az ingyenes relációs adatbázis-kezelő rendszer) újításairól többet megtudhat – ez egy kompakt, többszálú adatbázis-kiszolgáló, amelyet nagy sebesség, stabilitás és könnyű kezelhetőség jellemez.

Kezdetben a TcX fejlesztette ki a belső problémák megoldására – a nagy adatbázisok lehető leggyorsabb feldolgozására. 1996 óta használják belsőleg egy több mint 40 adatbázist tartalmazó szerveren, amelyek 10 000 táblát tartalmaznak, amelyek közül több mint 500 több mint 7 millió sort tartalmaz.

A MySQL-t ma az Oracle Corporation fejleszti és támogatja, amely 2010. január 27-én felvásárolta a Sun Microsystems-t, majd a MySQL-t is bevonta termékcsaládjába. Korábban (2008. február 26-án) a Sun Microsystems 1 milliárd dollárt fizetett a MySQL AB megvásárlásáért. A terméket a GNU General Public License és a saját kereskedelmi licence alapján terjesztik. Ezenkívül a fejlesztők a licencelt felhasználók kérésére hoznak létre funkcionalitást, ennek köszönhetően a replikációs mechanizmus szinte a legkorábbi verziókban jelent meg.

A MySQL a legtöbb optimális megoldás kis és közepes alkalmazásokhoz. A szerverforrásokat számos platformon fordítják le. A szerver képességei leginkább a Unix szervereken mutatkoznak meg, ahol a multithreading támogatja, ami jelentősen növeli a teljesítményt. Tartalmazza a WAMP, AppServ, LAMP szervereket és a Denver, XAMPP hordozható szerver építményeket. A MySQL-t általában helyi vagy távoli kliensek által elért kiszolgálóként használják, de a disztribúció tartalmaz egy háttérkönyvtárat, amely lehetővé teszi a MySQL önálló programokba való beépítését.
A nagyszámú táblatípus támogatásának köszönhetően a MySQL meglehetősen rugalmas. A felhasználók kiválaszthatják a MyISAM teljes szövegű keresési tábláit és az egyes InnoDB tranzakciós táblákat is. Ezenkívül a MySQL egy speciális EXAMPLE táblatípussal is rendelkezik, amely bemutatja, hogyan lehet új táblatípusokat létrehozni. Ennek, valamint a nyílt architektúrának és a GPL-licencnek köszönhetően szinte vég nélkül lehet új táblatípusokat hozzáadni a MySQL-hez.

A MySQL szerver nem kereskedelmi használatra ingyenes. Ellenkező esetben licencet kell vásárolnia, amelynek jelenlegi költsége 190 EUR.

A MySQL fejlesztői közössége különféle kódforkokat hozott létre, mint például a Drizzle, az OurDelta, a Percona Server és a MariaDB. Mindezek az ágak már akkor is léteztek, amikor a Sunt az Oracle átvette.

A MySQL megjelenése

1994 előtt a piac elsősorban nagy mennyiségű adat és összetett kapcsolatok kezelésére tervezett adatbázisokból állt, amelyek sokrétű képességekkel rendelkeztek, ugyanakkor jelentős számítási erőforrásokat igényeltek. Ezen adatbázisok közé tartozik az Oracle, az Informix és a Sybase. Nem voltak olyan DBMS-ek, amelyek támogatták az SQL-t, és ugyanakkor megfizethetőek voltak.

A nagyvállalatok és egyetemek megengedhették maguknak, hogy nagy teljesítményű számítástechnikai rendszereket vásároljanak, míg a kisebb szervezetek és felhasználók gyenge asztali adatbázisokat használtak, mint például a Postgres, amely a QUEL nyelv egy változatát (PostQUEL) használta, de sajnos ugyanazokat az erőforrásokat igényelte analógjai, de nem nyújtottak előnyt SQL használatával lekérdező nyelvként.

Aztán egy bizonyos David Hughes (aki később munkáinak internetes közzététele után Bamby néven vált), aki akkoriban a Bond Egyetemen (Ausztrália) dolgozott, elkezdte fejleszteni a Minerva Network Management System projektet - egy monitorozási, ill. vezérlőrendszer egy vagy több pontról a rendszerek csoportja felett. A projekt fő eleme egy olyan adatbázis volt, amely információkat tárol a hálózat összes számítógépéről. Hughes először a Postgres használata mellett döntött. A kollégák azonban azt javasolták, hogy a Minerva lekérdezési nyelveként az SQL-t használják, mivel az SQL a leggyakoribb lekérdezési nyelv, és ennek használatával a Minerva bárhol elérhetővé válhat a bolygón, ahol létezik SQL-t támogató RDBMS. Ez volt a lendület a MySQL létrehozásához.

Hughes úgy döntött, hogy létrehoz egy programot, amely valós időben fordítja le az SQL-t PostQUEL-re. Programját miniSQL-nek vagy mSQL-nek nevezte. Elfogta a Minerva által küldött SQL utasításokat, átalakította azokat PostQUEL-be, és az eredményt elküldte a Postgres-nek. Egy ideig ez a helyzet megfelelt Hughesnak. A Minerva további növekedése következtében azonban nyilvánvalóvá vált, hogy a rendelkezésére álló korlátozott erőforrások mellett sem a Postgres, sem bármely más nagy RDBMS nem lesz képes támogatni azt a kis jellemzőkészletet, amelyre szüksége van. Például annak érdekében, hogy a Minerva egyszerre több adatbázishoz kapcsolódhasson, a Postgres az adatbázis-kiszolgáló több példányának egyidejű indítását követelte meg.

E problémák megoldására Hughes elemezte a Minerva munkáját, és kiderült, hogy a Minerva által generált fő lekérdezések a következők voltak: „beszúrás”, „törlés” és „kiválasztás”. Mivel Hughesnek már az mSQL-je végezte az SQL fordítást, csak egy adatbázis-kiszolgálót kellett létrehoznia az igényeinek megfelelően.

És itt jön képbe Michael Monty Widenius, akit a MySQL feltalálójának tartanak. 1979-ben kifejlesztett egy adatbázis-kezelő eszközt UNIREG néven. Az UNIREG-t ezt követően kiterjesztették nagyobb adatbázisok támogatására, és több nyelven átírták. 1994-ben a TcX elkezdett fejleszteni www alkalmazásokat UNIREG segítségével. A magas többletterhelés miatt azonban az UNIREG-et nem lehetett sikeresen használni weboldalak dinamikus generálására. Ezért Widenius úgy döntött, hogy felveszi a kapcsolatot az mSQL szerzőjével, Hughes-szal, és javasolja neki, hogy csatlakoztassa az mSQL-t az UNIREG B+ ISAM kezelőjéhez. Hughes azonban jó előrehaladást ért el az mSQL 2 felé vezető úton, és a vállalat úgy döntött, hogy létrehoz egy adatbázis-kiszolgálót az igényeinek megfelelően.

A TcX az UNIREG-et vette alapul, és harmadik féltől származó segédprogramokat használt az mSQL-hez, írt egy API-t a rendszeréhez, amely kezdetben nagyon hasonlított az mSQL API-jához. Ez azonban lehetővé tette bármely mSQL-felhasználónak, aki át akart térni a TcX adatbázis-kiszolgálóra, hogy kisebb módosításokat hajtson végre a kódjában. Az új adatbázis forráskódja teljesen eredeti volt. Így 1995 májusában a cég rendelkezett egy MySQL 1.0 adatbázissal, amely teljes mértékben kielégítette a vállalat igényeit.

1995-ben David Oxmark, aki a Detron HB-nek dolgozik és a cég üzleti partnere, aktívan felkérte a TcX-et a MySQL DBMS interneten keresztüli terjesztésére. David még a dokumentáció kidolgozásában is részt vett. Ennek eredményeként 1996-ban megjelent a MySQL DBMS 3.11.1-es verziója bináris disztribúcióként Linux és Solaris futtatásához. Manapság a MySQL számos platformon fut, és bináris és forrásverzióban is elérhető.

Mára a MySQL vált a legnépszerűbb eszközzé az adatbázisokkal való munkavégzéshez PHP-ben. Ez elsősorban annak a ténynek köszönhető, hogy a PHP disztribúció része ennek a szervernek a támogatása. Ezen túlmenően, a MySQL népszerűsége jelentősen hozzájárult jó tulajdonságokés a szabványos interfész funkciók széles skálája, amelyek használata rendkívül egyszerű.

A MySQL licencszabályzata rugalmasabb, mint a többi adatbázis-kiszolgálóé. Lényegében a MySQL ingyenes, hacsak nem szándékozik eladni vagy a vele készült szolgáltatásokat eladni.

A MySQL rendkívül hordozható, és ugyanolyan jól használható kereskedelmi operációs rendszereken, mint például a Solaris, az Irix vagy a Windows, valamint bármilyen hardveren, egészen a nagy teljesítményű szerverekig. Sőt, drágább riválisaihoz hasonlóan nagy, több millió rekordot tartalmazó adatbázist is tud kezelni.

Név és logó

Ami a nevet illeti, eredetének több változata is létezik. Az első változat szerint a „my” előtag használatát az magyarázza, hogy a TcX-ben az alapkatalógus, valamint jelentős számú könyvtár és segédprogram tíz éven át éppen ilyen előtaggal volt megjelölve. Ezért ebben az esetben logikus volt ezt használni.

A második, szentimentálisabb verzió azon a tényen alapul, hogy Michael Monty Widenius az új terméket MySQL-nek nevezte el lánya - My - nevéről. Videnius lányának neve valóban az Én, és ő maga sem az első, sem a második változatot nem cáfolja.

A MySQL delfin logójának neve „Sakila”. A felhasználók által javasolt „delfinnevek” nagy listájából választották ki. A "Sakila" nevet Ambrose Twebaze nyílt forráskódú fejlesztő küldte be.

MySQL funkciók

A MySQL fő jellemzője, hogy támogatja a nyelvet SQL lekérdezések az ANSI 92 szabványban, és ezen kívül számos olyan kiterjesztéssel rendelkezik a szabványhoz, amelyek egyetlen más adatbázis-kezelő rendszerben sem találhatók meg.
A MySQL funkcióinak rövid listája:

1. Az adatbázissal egyidejűleg dolgozó korlátlan számú felhasználó hatékony működése támogatott.

2. A táblázatok sorainak száma elérheti az 50 milliót.

3. A parancsok lehető leggyorsabb végrehajtása. Van egy vélemény, hogy a MySQL a létező leggyorsabb szerver.

4. Egyszerű és hatékony biztonsági rendszer.

Példa diagram a MySQL-ben


A MySQL hátrányai

A MySQL-nek azonban vannak hátrányai is. Ez elsősorban annak köszönhető, hogy ilyen nagy sebesség elérése érdekében a fejlesztőknek fel kellett áldozniuk a relációs adatbázis-kezelő rendszerekkel szemben támasztott követelmények egy részét.

Tehát a MySQL-ből hiányzik:

1. Beágyazott lekérdezések támogatása, például SELECT * FROM table1 WHERE id IN (SELECT id FROM table2) (a korábbi verziókban).

2. A tranzakciós támogatás nincs megvalósítva. Ehelyett javasolt a LOCK/UNLOCK TABLE használata.

3. Az idegen kulcsok nem támogatottak.

4. A triggerek és a tárolt eljárások nem támogatottak.

5. A nézetek nem támogatottak (VIEW). A 3.23-as verzióban a tervek szerint nézeteket lehet létrehozni.

Az alkotók szerint a 2-4 pontok tettek lehetővé a magas teljesítmény elérését. Megvalósításuk jelentősen csökkenti a szerver sebességét. Ezek a funkciók nem kritikusak webalkalmazások létrehozásakor, amelyek a nagy teljesítménnyel és az alacsony árral kombinálva lehetővé tették a szerver népszerűvé válását.

Engedélyezés

A MySQL kettős licenccel rendelkezik. A MySQL a GPL feltételei szerint terjeszthető. A GPL feltételei szerint azonban, ha valamelyik program tartalmazza forráskódok MySQL, akkor azt is GPL licenc alatt kell terjeszteni. Ez összeütközésbe kerülhet azon fejlesztők terveivel, akik nem akarják programjaikat nyílt forráskóddal megnyitni. Az ilyen esetekre kereskedelmi licencet biztosítanak, amely egyben magas színvonalú szolgáltatási támogatást is nyújt.

Platformok

A MySQL ide portolva nagy számban platformok: AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista és Windows 7. Van egy MySQL port is az OpenVMS-hez. Fontos megjegyezni, hogy a hivatalos DBMS-weboldalon nem csak a forráskódok állnak rendelkezésre ingyenesen letölthetően, hanem kész MySQL DBMS futtatható modulok is, amelyeket az adott operációs rendszerre fordítottak és optimalizáltak.

Programozási nyelvek

A MySQL rendelkezik API-val a Delphi, C, C++, Eiffel, Java, Lisp, Perl, PHP, Python, Ruby, Smalltalk, Component Pascal és Tcl, könyvtárak a .NET platformnyelvekhez, és az ODBC-t is támogatják a MyODBC ODBC illesztőprogramon keresztül.

Verzióelőzmények

A MySQL első belső kiadására 1995. május 23-án került sor [forrás nincs megadva 1224 nap].
A Windows rendszerekhez (Windows 95 és NT) készült verzió 1998. január 8-án jelent meg.
3.23-as verzió: béta verzió 2000 júniusában, megjelenés 2001 januárjában.
4.0-s verzió: béta 2002 augusztusában, megjelenés 2003 márciusában.
4.1-es verzió: béta 2004 júniusában, megjelenés 2004 októberében.
5.0 verzió: béta 2005 márciusában, megjelenés 2005 októberében.
5.1-es verzió: a fejlesztés 2005 novemberében kezdődött, kiadás 2008 novemberében.
5.4-es verzió: béta 2009 áprilisában, nem adták ki.
5.5-ös verzió: 2010. decemberi kiadás.
5.6-os verzió: fejlesztés alatt (5.6.6 m9 2012. augusztus 7.).

Verzióelőzmények



MySQL 4.0

Bár a 4.0-s verzió elavult, még mindig jelentős átvételre került sor. A verzió főbb jellemzői:

Az ANSI SQL-99 szinte teljes megvalósítása és a bővítmények;
platformok közötti kompatibilitás;
független táblatípusok (MyISAM a gyors olvasáshoz, InnoDB tranzakciókhoz és referenciális integritás);
tranzakciók;
SSL támogatás;
gyorsítótárazás kérése;
replikáció: egy fejszerver szolgánként, sok slave egy fejenként;
teljes szövegű indexelés és keresés a MyISAM táblatípus használatával;
megvalósított adatbázis-könyvtár;
Unicode támogatás (UTF-8);
ACID-kompatibilis InnoDB táblák;
beépített szerver, amely lehetővé teszi a MySQL önálló alkalmazásokba való beépítését.

Beágyazott lekérdezések és származtatott táblák.
új rendszer kódolások és rendezések;
gyorsabb és rugalmasabb kliens-szerver protokoll előkészített lekérdezések támogatásával, biztosítva azok optimális végrehajtását;
új program telepítései és beállításai Microsoft Windowsés Linux;
az OpenSSL-lel védett kliens-szerver kapcsolatok;
nagyon optimalizált könyvtár, amelyben használható harmadik féltől származó programok;
teljes Unicode támogatás (UTF-8 és UCS2);
szabványos térinformatikai téradat-típusok földrajzi információk tárolására;
továbbfejlesztett teljes szöveges kereső- és súgórendszer.

MySQL 5.0

A MySQL 5.0-s verzióját 2005. október 24-én adták ki, ez a verzió jelentősen kibővített funkcionalitással rendelkezik, amely a MySQL-t a kereskedelmi DBMS-ekkel egyenrangúvá teszi. Ha korábban a MySQL DBMS-t azzal vádolták, hogy nem támogatja az SQL szabványt, akkor a népszerű adatbázis ötödik verziójának megjelenésével az SQL szabvány szinte teljes támogatása megjelent. A MySQL 5.0 a következő újításokat tartalmazza:
tárolt eljárások és funkciók;
hibakezelők;
kurzorok;
triggerek;
előadások;
információs diagram(a metaadatokat tartalmazó ún. rendszerszótár).

MySQL 5.1

A MySQL 5.1 folytatja az SQL:2003 szabványhoz vezető utat. A MySQL 5.1 a következő újításokat tartalmazza:

A particionálás az a képesség, hogy egy nagy táblát több részre osztunk fel, amelyek különböző fájlrendszereken helyezkednek el, egy felhasználó által definiált függvény alapján. Ez bizonyos feltételek mellett jelentős teljesítménynövekedést biztosíthat, és emellett megkönnyíti a táblázatok méretezését.
Számos operátor viselkedése megváltozott az SQL2003 szabvánnyal való nagyobb kompatibilitás biztosítása érdekében.
Soralapú replikáció, amelyben az eredeti (és esetleg lassú) lekérdezési szöveg helyett csak a ténylegesen megváltozott táblasorok információi kerülnek a bináris naplóba. A sorreplikáció csak bizonyos típusú SQL lekérdezésekhez használható, MySQL kifejezéssel - vegyes replikáció.
Az időszakosan elindított munkák beépített ütemezője. Szintaxist tekintve a feladat hozzáadása hasonló a trigger hozzáadásához az ideológiában, hasonló a crontabhoz.
Kiegészítő funkciókészlet XML feldolgozáshoz, XPath támogatás megvalósításához.
Új problémadiagnosztikai és teljesítményelemző segédprogramok. A naplófájlok tartalmának kezelési lehetőségei kibővültek. A mysqlslap segédprogram lehetővé teszi az adatbázis betöltését és az egyes kérések válaszidejének rögzítését.
A frissítési művelet egyszerűsítése érdekében elkészült a mysql_upgrade segédprogram, amely ellenőrzi az összes létező tábla kompatibilitását új verzió, és szükség esetén elvégzi a megfelelő módosításokat.
A MySQL Cluster mostantól külön termékként jelenik meg, amely a MySQL 5.1 és NDBCLUSTER tárolókon alapul.
Jelentős változások a MySQL munka Fürt, mint például a táblázatos adatok lemezen való tárolásának képessége.
Térjen vissza a beépített libmysqld könyvtár használatához, amely hiányzott a MySQL 5.0-ból.
Egy API beépülő modulokhoz, amely lehetővé teszi a funkcionalitást (például a teljes szöveges keresést) kiterjesztő külső fél modulok betöltését a szerver újraindítása nélkül.
Teljes szöveges keresési elemző megvalósítása plug-inként.
Új Maria asztaltípus (a MyISAM törésálló klónja).

Maria asztaltípus

Maria (az 5.2.x verziótól kezdődően – Aria) – a MyISAM tárhely kibővített változata, az adatok összeomlás utáni sértetlenségének megőrzésére szolgáló eszközökkel.
Maria fő előnyei:

Összeomlás esetén az aktuális művelet eredményeit a rendszer visszagörgeti, vagy visszaállítja a TÁBLÁZAT ZÁROLÁSA parancs előtti állapotba. Megvalósítás naplózási műveletekkel.
Lehetőség az állapot visszaállítására a műveleti napló bármely pontjáról, beleértve a CREATE/DROP/RENAME/TRUNCATE támogatását. Inkrementális létrehozására használható biztonsági másolatok, a tranzakciós napló időszakos másolásával.
Az összes MyISAM oszlopformátum támogatása kibővült egy új "sors-in-block" formátummal, amely oldalalapú adattárolási módszert használ, amelyben az oszlopokban lévő adatok gyorsítótárazhatók.
A jövőben két mód kerül bevezetésre: tranzakciós és a tranzakciós naplóban való tükrözés nélküli, nem kritikus adatokhoz.
Az adatlap mérete 8 KB (MyISAM-ban 1 KB), ami jobb teljesítményt tesz lehetővé az indexek fix méretű mezőiben, de lassabb a változó hosszúságú kulcsok indexelése esetén.

MySQL 5.5

A MySQL 5.5 ága a kiadatlan MySQL 5.4 sorozaton alapul, és számos jelentős fejlesztést tartalmaz a megnövelt méretezhetőség és teljesítmény terén, többek között:
Alapértelmezés szerint az InnoDB motor használata.
Félszinkron replikációs mechanizmus támogatása, amely a Google InnoDB javításain alapul.
Továbbfejlesztett adatparticionálási funkció. Fejlett szintaxis a nagy táblák fájlrendszereken található több részre való felosztásához (particionálás). Hozzáadott RANGE, LIST műveletek és a „partíció metszés” optimalizálási módszere.
Új mechanizmus a beágyazott lekérdezések és a JOIN műveletek optimalizálására.
A belső zárrendszert áttervezték.
A Google javításokat integrálták az InnoDB működésének optimalizálására a processzorokon nagy számban magok.

MySQL 6.0

A MySQL 6.0 verzió lefagyott az alfatesztelési szakaszban. Kezdetben az 5.2-es verzió létrehozása mellett döntöttek, de ezt a verziót hamarosan 6.0-ra keresztelték át. A MySQL 6.0-val kapcsolatos későbbi információk azonban eltűntek az oldalról, és a fejlesztők az 5.5-ös és az azt követő 5.6-os verzióra koncentráltak.
A 6.0-s verzió egyik fő újítása a tervek szerint egy új Falcon táblatípus volt, amelyet az InnoDB potenciális helyettesítésére fejlesztettek ki az Oracle által felvásárolt Innobase-től. A Sun Microsystems ugyanazon Oracle által 2010-ben történő felvásárlása kapcsán továbbra is kétséges a Falcon sorsa.

Műszaki adatok

A MySQL 3.22 maximális táblamérete legfeljebb 4 GB, a további verziókban maximális méret akár 8 millió TB (263 bájt).
Az asztal méretét a típusa korlátozza. A MyISAM típust általában a fájlméret korlátozza fájlrendszer operációs rendszer. Például NTFS-ben ez a méret elméletileg akár 32 exabájt is lehet. Az InnoDB esetében egy tábla több fájlban is tárolható, amelyek egyetlen táblaterületet képviselnek. Utóbbi mérete elérheti a 64 terabájtot.

A MyISAM-mel ellentétben az InnoDB jelentősen korlátozza az egyetlen táblához hozzáadható oszlopok számát. Az alapértelmezett memórialapméret 16 kilobájt, amelyből 8123 bájt van lefoglalva az adatok számára. A dinamikus mezőkre mutató mutató mérete 20 bájt. Így a dinamikus sorformátum (ROW_FORMAT=DYNAMIC) használatakor egy tábla legfeljebb 409 blob- vagy szövegoszlopot tud befogadni.

A 4.1-es verziótól kezdve egy új kódolási és rendezési rendszer került bevezetésre a MySQL DBMS-be. Ha Windows-1251 kódolást használ, az SQL utasítások végrehajtása előtt be kell állítania a kapcsolat kódolását az operátorok segítségével:

SET character_set_client="cp1251";
SET character_set_results="cp1251";
SET character_set_connection="cp1251";

Ez a három állítás egyenértékű egy állítás meghívásával:

BEÁLLÍTOTT NEVEK "cp1251"

A character_set_client változó a klienstől küldött adatok kódolását állítja be, a character_set_results változó a kliensnek küldött adatok kódolását, a character_set_connection változó azt a kódolást állítja be, amelybe a klienstől kapott információ konvertálódik, mielőtt végrehajtaná a kérést a szerveren.

UTF-8 Unicode használatakor ez az utasítás így néz ki:
NEVEK BEÁLLÍTÁSA "utf8"

Az ISO 8859-5 kódolás nem támogatott.