MySQL versiyasini ssh orqali qanday topish mumkin. MySQL versiyasini tanlash va MySQL versiyasini qanday topish mumkin. Video hosting sharhi

MySQL (bepul relyatsion ma'lumotlar bazasini boshqarish tizimi degan ma'noni anglatadi) tez, barqaror va ishlatish uchun qulay bo'lgan ixcham, ko'p tarmoqli ma'lumotlar bazasi serveridir.

Dastlab TcX tomonidan ichki muammolarni hal qilish uchun ishlab chiqilgan - katta ma'lumotlar bazalarini eng tez qayta ishlash. 1996 yildan beri 10 000 ta jadvalni o'z ichiga olgan 40 dan ortiq ma'lumotlar bazasiga ega bo'lgan serverda foydalaniladi, ulardan 500 dan ortig'i 7 milliondan ortiq qatorga ega.

Bugungi kunda MySQL 2010-yil 27-yanvarda Sun Microsystems-ni sotib olgan Oracle korporatsiyasi tomonidan ishlab chiqilgan va qo‘llab-quvvatlangan, shundan so‘ng MySQL-ni o‘z mahsulot qatoriga kiritgan. Ilgari (2008 yil 26 fevral) Sun Microsystems MySQL AB ni sotib olish uchun 1 milliard dollar to‘lagan. Mahsulot GNU General Public License va o'zining tijorat litsenziyasi ostida tarqatiladi. Bundan tashqari, ishlab chiquvchilar litsenziyalangan foydalanuvchilarning iltimosiga binoan funksionallikni yaratadilar, aynan shu buyurtma tufayli replikatsiya mexanizmi deyarli eng dastlabki versiyalarda paydo bo'ldi.

MySQL kichik va o'rta o'lchamdagi ilovalar uchun eng maqbul echimdir. Server manbalari ko'plab platformalarda tuzilgan. Serverning imkoniyatlari eng to'liq Unix serverlarida namoyon bo'ladi, bu erda multithreading qo'llab-quvvatlanadi, bu esa unumdorlikni sezilarli darajada oshiradi. WAMP, AppServ, LAMP serverlariga va Denver, XAMPP portativ server tuzilmalariga kiritilgan. MySQL odatda mahalliy yoki uzoq mijozlar tomonidan foydalaniladigan server sifatida ishlatiladi, ammo tarqatish MySQL-ni mustaqil dasturlarga qo'shish imkonini beruvchi orqa-end kutubxonasini o'z ichiga oladi.
Ko'p sonli jadval turlarini qo'llab-quvvatlashi tufayli MySQL juda moslashuvchan. Foydalanuvchilar MyISAM to‘liq matnli qidiruv jadvallarini va individual InnoDB tranzaksiya jadvallarini tanlashlari mumkin. Bundan tashqari, MySQL yangi jadval turlarini qanday yaratishni ko'rsatadigan maxsus EXAMPLE jadval turi bilan birga keladi. Bu, shuningdek, ochiq arxitektura va GPL litsenziyalash tufayli MySQL-ga deyarli cheksiz yangi jadval turlarini qo'shish mumkin.

MySQL server notijorat maqsadlarda foydalanish uchun bepul. Aks holda, joriy narxi 190 evro bo'lgan litsenziyani sotib olishingiz kerak.

MySQL dasturchilar hamjamiyati tomonidan Drizzle, OurDelta, Percona Server va MariaDB kabi turli xil kod vilkalari yaratilgan. Bu filiallarning barchasi Quyosh Oracle tomonidan egallab olingan paytda allaqachon mavjud edi.

MySQL ning paydo bo'lishi

1994 yilgacha bozor asosan katta hajmdagi ma'lumotlar va murakkab munosabatlarni qayta ishlash uchun mo'ljallangan ma'lumotlar bazalaridan iborat bo'lib, ular turli xil imkoniyatlarga ega, lekin ayni paytda muhim hisoblash resurslarini talab qiladi. Ushbu ma'lumotlar bazalariga Oracle, Informix va Sybase kiradi. SQL-ni qo'llab-quvvatlaydigan va bir vaqtning o'zida hamyonbop bo'lgan DBMSlar yo'q edi.

Yirik korporatsiyalar va universitetlar kuchli hisoblash tizimlarini sotib olishlari mumkin edi, kichikroq tashkilotlar va foydalanuvchilar Postgres kabi zaif ish stoli ma'lumotlar bazalaridan foydalanganlar, ular QUEL tilining (PostQUEL) variantini ishlatgan, ammo afsuski, bir xil resurslarni talab qilgan. hamkasblari, lekin so'rovlar tili sifatida SQL dan foydalanishning afzalliklarini ta'minlamadi.

Keyin o'sha paytda Bond universitetida (Avstraliya) dissertatsiya yozayotgan Devid Xyuz (keyinchalik o'z ishini Internetda nashr etganidan keyin Bamby nomi bilan tanilgan) Minerva Network Management System loyihasini ishlab chiqishni boshladi - monitoring va tizimlar guruhi ustidan bir yoki bir nechta nuqtadan boshqarish tizimi. Loyihaning asosiy elementi tarmoqdagi barcha kompyuterlar haqidagi ma'lumotlarni saqlash uchun ma'lumotlar bazasi bo'lishi edi. Xyuz birinchi navbatda Postgresdan foydalanishga qaror qildi. Biroq, hamkasblar Minerva uchun so'rovlar tili sifatida SQL dan foydalanishni taklif qilishdi, chunki SQL eng keng tarqalgan so'rovlar tilidir va undan foydalanish Minerva SQL-ni qo'llab-quvvatlaydigan RDBMS mavjud bo'lgan sayyoraning istalgan joyida mavjud bo'lishi mumkin. Bu MySQL yaratilishiga turtki bo'ldi.

Xyuz real vaqtda SQL-ni PostQUEL-ga tarjima qiladigan dasturni o'zi yaratishga qaror qildi. U o'z dasturini miniSQL yoki mSQL deb atadi. Minerva tomonidan yuborilgan SQL bayonotlarini ushlab oldi, ularni PostQUEL-ga aylantirdi va natijani Postgres-ga yubordi. Bir muncha vaqt bu holat Xyuzga mos keldi. Biroq, Minerva-ning yanada o'sishi natijasida, cheklangan resurslar bilan Postgres ham, boshqa yirik RDBMS ham unga kerak bo'lgan kichik xususiyatlar to'plamini qo'llab-quvvatlay olmasligi ma'lum bo'ldi. Masalan, Minerva-ni bir vaqtning o'zida bir nechta ma'lumotlar bazalariga ulash imkoniyatini amalga oshirish uchun Postgres bir vaqtning o'zida ma'lumotlar bazasi serverining bir nechta nusxalarini ishga tushirishni talab qildi.

Ushbu muammolarni hal qilish uchun Xyuz Minerva ishini tahlil qildi va Minerva tomonidan yaratilgan asosiy so'rovlar: "qo'shish", "o'chirish" va "tanlash" ekanligi ma'lum bo'ldi. Xyuz allaqachon SQL tarjimasini bajaruvchi mSQL-ga ega bo'lganligi sababli, u faqat ehtiyojlariga mos keladigan ma'lumotlar bazasi serverini yaratishi kerak edi.

Va bu erda MySQL ixtirochisi hisoblangan Maykl Monti Videnius o'ynaydi. 1979 yilda u UNIREG nomli ma'lumotlar bazasini boshqarish vositasini ishlab chiqdi. Keyinchalik UNIREG kattaroq ma'lumotlar bazalarini qo'llab-quvvatlash uchun kengaytirildi va bir necha tillarda qayta yozildi. 1994 yilda TcX UNIREG yordamida www ilovalarini ishlab chiqishni boshladi. Biroq, yuqori xarajatlar tufayli UNIREG veb-sahifalarni dinamik ravishda yaratishda muvaffaqiyatli foydalanilmadi. Shuning uchun Widenius mSQL-ni UNIREG-dagi B+ ISAM ishlov beruvchisiga ulashni taklif qilish uchun mSQL muallifi Xyuz bilan bog'lanishga qaror qildi. Biroq, Xyuz mSQL 2 yo'lida yaxshi muvaffaqiyatga erishdi va kompaniya o'z ehtiyojlariga mos keladigan ma'lumotlar bazasi serverini yaratishga qaror qildi.

TcX UNIREGni asos qilib oldi va mSQL uchun uchinchi tomon yordam dasturlaridan foydalangan, o'z tizimi uchun API yozgan, bu dastlab mSQL uchun APIga juda o'xshash edi. Biroq, bu TcX ma'lumotlar bazasi serveriga o'tmoqchi bo'lgan har qanday mSQL foydalanuvchisiga o'z kodiga kichik o'zgarishlar kiritish imkonini berdi. Yangi ma'lumotlar bazasining manba kodi butunlay original edi. Shunday qilib, 1995 yil may oyida kompaniya kompaniya ehtiyojlarini to'liq qondiradigan MySQL 1.0 ma'lumotlar bazasiga ega bo'ldi.

1995 yilda Detron HB kompaniyasida ishlaydigan va kompaniyaning biznes hamkori Devid Oksmark MySQL DBMSni Internet orqali tarqatish uchun TcXni faol ravishda taklif qila boshladi. Devid hatto hujjatlar ustida ishlashda ham qatnashgan. Natijada, MySQL DBMSning 3.11.1 versiyasi 1996 yilda Linux va Solaris tizimlarini ishga tushirish uchun ikkilik distributiv sifatida chiqarildi. Bugungi kunda MySQL ko'plab platformalarda ishlaydi va ikkilik va manba versiyalarida mavjud.

Bugungi kunda MySQL PHPda ma'lumotlar bazalari bilan ishlash uchun eng mashhur vositaga aylandi. Bu, birinchi navbatda, ushbu serverni qo'llab-quvvatlash PHP tarqatilishiga kiritilganligi bilan bog'liq. Bundan tashqari, MySQL-ning mashhurligiga juda yaxshi xususiyatlar va foydalanish juda oson bo'lgan standart interfeys funktsiyalarining keng doirasi yordam beradi.

MySQL-ning litsenziyalash siyosati boshqa ma'lumotlar bazasi serverlariga qaraganda ancha moslashuvchan. Aslini olganda, MySQL bepul, agar siz uni sotish yoki u bilan qurilgan xizmatlarni sotish niyatingiz bo'lmasa.

MySQL juda ko'chma va Solaris, Irix yoki Windows kabi tijorat operatsion tizimlarida va kuchli serverlargacha bo'lgan har qanday uskunada teng darajada yaxshi ishlatilishi mumkin. Bundan tashqari, qimmatroq raqiblari singari, u millionlab yozuvlarni o'z ichiga olgan katta ma'lumotlar bazalarini boshqarishi mumkin.

Ism va logotip

Ismga kelsak, uning kelib chiqishining bir nechta versiyalari mavjud. Birinchi versiyada aytilishicha, "mening" prefiksidan foydalanish TcX-da asosiy katalog, shuningdek, ko'plab kutubxonalar va yordamchi dasturlar o'n yil davomida ushbu prefiks bilan belgilanganligi bilan izohlanadi. Shuning uchun, bu holatda uni ishlatish mantiqiy edi.

Ikkinchi versiya, ko'proq sentimental, Maykl Monti Videnius yangi mahsulotga MySQL-ni qizining ismi - My nomi bilan ataganiga asoslanadi. Videniusning qizining ismi haqiqatan ham Mening, va uning o'zi ham birinchi yoki ikkinchi versiyani rad etmaydi.

MySQL-ning delfin logotipi "Sakila" deb nomlangan. U foydalanuvchi tomonidan tavsiya etilgan "delfin nomlari" ning katta ro'yxatidan tanlangan. "Sakila" nomi Open Source dasturchisi Ambrose Twebaze tomonidan taqdim etilgan.

MySQL xususiyatlari

MySQL ning asosiy xususiyati shundaki, u ANSI 92 standartidagi SQL so'rovlar tilini qo'llab-quvvatlaydi va qo'shimcha ravishda bu standartning boshqa ma'lumotlar bazasini boshqarish tizimida uchramaydigan ko'plab kengaytmalariga ega.
MySQL xususiyatlarining qisqacha ro'yxati:

1. Ma'lumotlar bazasi bilan bir vaqtda ishlaydigan cheksiz ko'p foydalanuvchilarning samarali ishlashi qo'llab-quvvatlanadi.

2. Jadvallardagi qatorlar soni 50 millionga yetishi mumkin.

3. Buyruqlarning eng tez bajarilishi. MySQL mavjud bo'lgan eng tezkor server degan fikr bor.

4. Oddiy va samarali xavfsizlik tizimi.

MySQL-dagi misol diagrammasi


MySQL ning kamchiliklari

Biroq, MySQL-ning kamchiliklari ham bor. Bu, asosan, bunday yuqori tezlikka erishish uchun ishlab chiquvchilar relyatsion ma'lumotlar bazasini boshqarish tizimlariga qo'yiladigan ba'zi talablarni qurbon qilishlari kerakligi bilan bog'liq.

Shunday qilib, MySQL yo'q:

1 . SELECT * FROM table1 WHERE ID IN (2-jadvaldan SELECT id) (oldingi versiyalarda) kabi ichki oʻrnatilgan soʻrovlarni qoʻllab-quvvatlash.

2. Tranzaksiyani qo'llab-quvvatlash amalga oshirilmaydi. Buning o'rniga LOCK/UNLOCK TABLE dan foydalanish taklif etiladi.

3. Xorijiy kalitlarni qo'llab-quvvatlamaydi.

4 . Triggerlar va saqlangan protseduralar uchun hech qanday yordam yo'q.

5 . Ko'rishlar qo'llab-quvvatlanmaydi (VIEW). 3.23 versiyada ko'rinishlar yaratish imkoniyati rejalashtirilgan.

Yaratuvchilarning fikriga ko'ra, 2-4-bandlar yuqori ko'rsatkichlarga erishishga imkon berdi. Ularning amalga oshirilishi server tezligini sezilarli darajada pasaytiradi. Ushbu xususiyatlar veb-ilovalarni yaratishda muhim ahamiyatga ega emas, ular yuqori unumdorlik va arzon narx bilan birgalikda serverning juda mashhur bo'lishiga imkon berdi.

Litsenziyalash

MySQL ikki tomonlama litsenziyalangan. MySQL GPL shartlariga muvofiq tarqatilishi mumkin. Biroq, GPL shartlariga ko'ra, agar biron bir dastur MySQL manba kodini o'z ichiga olsa, u GPL litsenziyasi ostida ham tarqatilishi kerak. Bu o'z dasturlarini ochishni istamaydigan ishlab chiquvchilarning rejalariga zid bo'lishi mumkin. Bunday holatlar uchun tijorat litsenziyasi taqdim etiladi, u ham yuqori sifatli xizmat ko'rsatishni ta'minlaydi.

Platformalar

MySQL ko'plab platformalarga ko'chirildi: 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 va Windows 7. OpenVMS uchun MySQL port ham mavjud. Shuni ta'kidlash kerakki, DBMS rasmiy veb-saytida bepul yuklab olish uchun manba kodlari emas, balki muayyan operatsion tizimlar uchun kompilyatsiya qilingan va optimallashtirilgan tayyor MySQL DBMS bajariladigan modullari ham taqdim etiladi.

Dasturlash tillari

MySQLda Delphi, C, C++, Eiffel, Java, Lisp, Perl, PHP, Python, Ruby, Smalltalk, Component Pascal va Tcl uchun API-lar, .NET platformasi tillari uchun kutubxonalar mavjud, shuningdek MyODBC ODBC drayveri orqali ODBC-ni qo'llab-quvvatlaydi.

Versiya tarixi

MySQL-ning birinchi ichki versiyasi 1995 yil 23 mayda bo'lib o'tdi [manba 1224 kun ko'rsatilmagan].
Windows tizimlari uchun versiya (Windows 95 va NT) 1998 yil 8 yanvarda chiqarilgan.
Versiya 3.23: 2000 yil iyun oyida beta versiyasi, 2001 yil yanvar oyida chiqarilgan.
Versiya 4.0: 2002 yil avgustda beta, 2003 yil mart oyida chiqarilgan.
Versiya 4.1: 2004 yil iyun oyida beta, 2004 yil oktyabr oyida chiqarilgan.
Versiya 5.0: 2005 yil mart oyida beta, 2005 yil oktyabr oyida chiqarilgan.
Versiya 5.1: ishlab chiqish 2005 yil noyabr oyida boshlangan, 2008 yil noyabr oyida chiqarilgan.
Versiya 5.4: 2009 yil aprel oyida beta, chiqarilmagan.
5.5-versiya: 2010 yil dekabrda chiqarilgan.
5.6-versiya: ishlab chiqilmoqda (5.6.6 m9, 2012 yil 7 avgust).

Versiya tarixi



MySQL 4.0

4.0 versiyasi eskirgan bo'lsa-da, u hali ham muhim qabul qilingan. Ushbu versiyaning asosiy xususiyatlari:

ANSI SQL-99 ning deyarli to'liq amalga oshirilishi, shuningdek kengaytmalar;
platformalararo muvofiqlik;
mustaqil jadval turlari (tez o'qish uchun MyISAM, tranzaksiyalar uchun InnoDB va ma'lumotnoma yaxlitligi);
operatsiyalar;
SSL qo'llab-quvvatlash;
so'rov keshlash;
replikatsiya: bitta qul uchun bitta bosh server, bitta bosh uchun ko'p qul;
MyISAM jadval turidan foydalangan holda to'liq matnni indekslash va qidirish;
amalga oshirilgan ma'lumotlar bazasi kutubxonasi;
Unicode qo'llab-quvvatlash (UTF-8);
ACIDga mos keladigan InnoDB jadvallari;
MySQL-ni mustaqil ilovalarga kiritish imkonini beruvchi o'rnatilgan server.

Ichki so'rovlar va olingan jadvallar.
yangi kodlash va saralash tizimi;
tayyor so'rovlarni qo'llab-quvvatlovchi, ularning optimal bajarilishini ta'minlaydigan tezroq va moslashuvchan mijoz-server protokoli;
Microsoft Windows va Linux uchun yangi o'rnatish va sozlash dasturi;
OpenSSL orqali himoyalangan mijoz-server ulanishlari;
uchinchi tomon dasturlarida foydalanish mumkin bo'lgan yuqori darajada optimallashtirilgan kutubxona;
to'liq Unicode qo'llab-quvvatlash (UTF-8 va UCS2);
geografik ma'lumotlarni saqlash uchun standart GIS fazoviy ma'lumotlar turlari;
takomillashtirilgan toʻliq matnli qidiruv va yordam tizimi.

MySQL 5.0

MySQL 5.0 versiyasi 2005-yil 24-oktabrda chiqarilgan, bu versiya MySQL-ni tijorat DBMSlar bilan tenglashtiradigan funksionallikni sezilarli darajada kengaytirdi. Agar ilgari MySQL DBMS SQL standartini etarli darajada qo'llab-quvvatlamaganlikda ayblangan bo'lsa, ushbu mashhur ma'lumotlar bazasining beshinchi versiyasi paydo bo'lishi bilan SQL standartini deyarli to'liq qo'llab-quvvatlash paydo bo'ldi. MySQL 5.0 quyidagi yangiliklarni o'z ichiga oladi:
saqlangan protseduralar va funktsiyalar;
xato ishlov beruvchilar;
kursorlar;
tetiklar;
vakillik;
axborot sxemasi (metama'lumotlarni o'z ichiga olgan tizim lug'ati).

MySQL 5.1

MySQL 5.1 SQL:2003 standartiga yo'lni davom ettiradi. MySQL 5.1 quyidagi yangiliklarni o'z ichiga oladi:

Bo'limlarga bo'lish - bu foydalanuvchi tomonidan belgilangan funktsiyaga asoslanib, bitta katta jadvalni turli fayl tizimlarida joylashgan bir necha qismlarga bo'lish qobiliyati. Muayyan sharoitlarda bu ishlashning sezilarli o'sishini ta'minlashi mumkin va qo'shimcha ravishda jadvallarni o'lchashni osonlashtiradi.
SQL2003 standarti bilan ko'proq mos kelishini ta'minlash uchun bir qator operatorlarning xatti-harakatlari o'zgartirildi.
Asl (va ehtimol sekin) so'rov matni o'rniga ikkilik jurnalga faqat haqiqatda o'zgartirilgan jadval satrlari haqidagi ma'lumotlar yoziladigan qatorga asoslangan replikatsiya. Qator replikatsiyasi faqat SQL so'rovlarining ma'lum turlari uchun ishlatilishi mumkin, MySQL terminlarida - aralash replikatsiya.
Vaqti-vaqti bilan ishga tushiriladigan ishlarning o'rnatilgan rejalashtiruvchisi. Sintaksis nuqtai nazaridan vazifa qo'shish jadvalga trigger qo'shishga o'xshaydi; mafkurada u crontabga o'xshaydi.
XML-ni qayta ishlash uchun qo'shimcha funktsiyalar to'plami, XPath-ni qo'llab-quvvatlashni amalga oshirish.
Muammo diagnostikasi va samaradorlikni tahlil qilishning yangi yordamchi dasturlari. Jurnal fayllari tarkibini boshqarish imkoniyatlari kengaytirildi; endi jurnallar general_log va slow_log jadvallarida saqlanishi mumkin. Mysqlslap yordam dasturi ma'lumotlar bazasini yuklash testini o'tkazish va har bir so'rov uchun javob vaqtini yozib olish imkonini beradi.
Yangilash jarayonini soddalashtirish uchun mysql_upgrade yordam dasturi tayyorlandi, u barcha mavjud jadvallarni yangi versiyaga mosligini tekshiradi va agar kerak bo'lsa, tegishli tuzatishlarni kiritadi.
MySQL klasteri endi MySQL 5.1 va NDBCLUSTER xotirasiga asoslangan alohida mahsulot sifatida chiqariladi.
MySQL klasterining ishlashidagi sezilarli o'zgarishlar, masalan, jadval ma'lumotlarini diskda saqlash qobiliyati.
MySQL 5.0 da yo'q bo'lgan o'rnatilgan libmysqld kutubxonasidan foydalanishga qayting.
Serverni qayta ishga tushirmasdan funksionallikni kengaytiruvchi (masalan, toʻliq matnli qidiruv) uchinchi tomon modullarini yuklash imkonini beruvchi plaginlar uchun API.
To'liq matnli qidiruv tahlilini plagin sifatida amalga oshirish.
Mariya stolining yangi turi (MYISAM ning halokatga chidamli klonu).

Mariya stol turi

Mariya (5.2.x versiyasidan boshlab - Aria) - MyISAM xotirasining kengaytirilgan versiyasi bo'lib, buzilishdan keyin ma'lumotlar yaxlitligini saqlash uchun vositalar qo'shilgan.
Mariyaning asosiy afzalliklari:

Buzilish sodir bo'lgan taqdirda, joriy operatsiya natijalari LOCK TABLES buyrug'i oldidan orqaga qaytariladi yoki holatga qaytariladi. Jurnal operatsiyalari orqali amalga oshirish.
Operatsiya jurnalining istalgan nuqtasidan holatni tiklash imkoniyati, shu jumladan CREATE/DROP/RENAME/TRUNCATE-ni qo'llab-quvvatlash. Operatsiya jurnalini davriy nusxalash orqali qo'shimcha zaxira nusxalarini yaratish uchun foydalanish mumkin.
Barcha MyISAM ustun formatlarini qoʻllab-quvvatlash yangi “blokdagi qatorlar” formati bilan kengaytirildi, bunda ustunlardagi maʼlumotlarni keshlash mumkin boʻlgan sahifaga asoslangan maʼlumotlarni saqlash usuli qoʻllaniladi.
Kelajakda ikkita rejim amalga oshiriladi: tranzaktsion va tranzaksiya jurnalida aks ettirilmasdan, muhim bo'lmagan ma'lumotlar uchun.
Ma'lumotlar sahifasining o'lchami 8 KB (MyISAMda 1 KB), bu belgilangan o'lchamli maydonlardagi indekslar uchun yaxshiroq ishlash imkonini beradi, lekin o'zgaruvchan uzunlikdagi kalitlarni indekslashda sekinroq.

MySQL 5.5

MySQL 5.5 filiali chiqarilmagan MySQL 5.4 seriyasiga asoslanadi va kengaytirilganlik va ishlash bilan bog'liq bir qator muhim yaxshilanishlarni o'z ichiga oladi, jumladan:
Sukut bo'yicha InnoDB dvigatelidan foydalanish.
Google'dan InnoDB-ga yamoqlarga asoslangan yarim sinxron replikatsiya mexanizmini qo'llab-quvvatlash.
Ma'lumotlarni qismlarga ajratish funksiyasi yaxshilandi. Katta jadvallarni fayl tizimlarida joylashgan bir nechta qismlarga bo'lish uchun kengaytirilgan sintaksis (bo'lim). RANGE, LIST operatsiyalari va "bo'limni kesish" optimallashtirish usuli qo'shildi.
Ichki so'rovlar va JOIN operatsiyalarini optimallashtirishning yangi mexanizmi.
Ichki qulflash tizimi qayta ishlab chiqilgan.
Ko'p sonli yadroli protsessorlarda InnoDB ish faoliyatini optimallashtirish uchun Google yamoqlari birlashtirilgan.

MySQL 6.0

MySQL 6.0 versiyasi alfa sinov bosqichida muzlatilgan. Dastlab, 5.2 versiyasini yaratishga qaror qilindi, bu versiya tez orada 6.0 deb o'zgartirildi. Biroq MySQL 6.0 haqidagi maʼlumotlar keyinchalik saytdan yoʻqolib ketdi va ishlab chiquvchilar eʼtiborini 5.5 va keyingi versiya 5.6 ga qaratishdi.
6.0 versiyasining asosiy yangiliklaridan biri Oracle tomonidan sotib olingan Innobase'dan InnoDB o'rnini bosuvchi sifatida ishlab chiqilgan yangi Falcon stol turi bo'lishi rejalashtirilgan edi. 2010 yilda xuddi shu Oracle tomonidan Sun Microsystems sotib olinishi munosabati bilan Falconning taqdiri shubha ostida qolmoqda.

Texnik xususiyatlari

MySQL 3.22 da maksimal jadval hajmi 4 GB gacha, keyingi versiyalarda maksimal hajmi 8 million TB (263 bayt) gacha.
Jadvalning o'lchami uning turiga qarab cheklangan. Umuman olganda, MyISAM turi operatsion tizim fayl tizimining fayl hajmi chegarasi bilan cheklangan. Misol uchun, NTFSda bu o'lcham nazariy jihatdan 32 ekzabaytgacha bo'lishi mumkin. InnoDB holatida bitta jadval bitta jadval maydonini ifodalovchi bir nechta fayllarda saqlanishi mumkin. Ikkinchisining hajmi 64 terabaytga yetishi mumkin.

MyISAM-dan farqli o'laroq, InnoDB bitta jadvalga qo'shilishi mumkin bo'lgan ustunlar soni bo'yicha sezilarli cheklovga ega. Standart xotira sahifasining hajmi 16 kilobaytni tashkil qiladi, shundan 8123 bayt ma'lumotlar uchun ajratilgan. Dinamik maydonlarga ko'rsatgich hajmi 20 baytni tashkil qiladi. Shunday qilib, dinamik satr formatidan foydalanganda (ROW_FORMAT=DYNAMIC) bitta jadval maksimal 409 ta blob yoki matn ustunlarini joylashtirishi mumkin.

4.1 versiyasidan boshlab MySQL DBMSga yangi kodlash va saralash tizimi kiritildi. Windows-1251 kodlashdan foydalanganda, SQL bayonotlarini bajarishdan oldin, operatorlar yordamida ulanish kodlashni sozlashingiz kerak:

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

Ushbu uchta bayonot bitta bayonotni chaqirishga teng:

NOMSLAR "cp1251"

character_set_client o'zgaruvchisi mijozdan yuborilgan ma'lumotlarning kodlanishini o'rnatadi, character_set_results o'zgaruvchisi mijozga yuborilgan ma'lumotlarning kodlanishini, character_set_connection o'zgaruvchisi mijozdan olingan ma'lumotlar serverda so'rovni bajarishdan oldin o'zgartiriladigan kodlashni o'rnatadi.

UTF-8 Unicode-dan foydalanganda ushbu bayonot quyidagicha ko'rinadi:
"utf8" nomlarini o'rnatish

ISO 8859-5 kodlash qo'llab-quvvatlanmaydi.


MySQL da versiyani tanlang()— foydalanilgan paket nomini va uning versiyasini qaytaruvchi so‘rov. Nomi MySQL-ning o'zi yoki mustaqil ravishda rivojlanadigan vilkalar bo'lishi mumkin - MaraiDB. Ko'pgina muammolarni hal qilishda paketlar orasidagi farq sezilmaydi. MySQL 5.6 MaraiDB 10 ga mos keladi.

MySQL versiyasini tanlash va MySQL versiyasini qanday topish mumkin

Versiyani bir necha usul bilan bilib olishingiz mumkin. Eng oddiyi ma'lumotlar bazasi serveri foydalanuvchi parolini bilishni talab qilmaydi. Faqat SSH orqali tizimga kiring va mysql --version dasturini ishga tushiring

mysql Ver 14.14 Distrib 5.5.55, debian-linux-gnu (x86_64) uchun readline 6.3 yordamida

Sarlavhada keltirilgan usuldan foydalanish uchun siz SQL so'rovini yuborishingiz kerak; buning uchun konsolga kiring (siz buni skript bilan ham qilishingiz mumkin).

Parolni kiriting:
MySQL monitoriga xush kelibsiz. Buyruqlar bilan tugaydi; yoki\g.
MySQL ulanish identifikatoringiz 41
Server versiyasi: 5.5.55-0ubuntu0.14.04.1 (Ubuntu)

Mualliflik huquqi (c) 2000, 2017, Oracle va/yoki uning filiallari. Barcha huquqlar himoyalangan.

Oracle Oracle korporatsiyasi va/yoki uning roʻyxatdan oʻtgan savdo belgisidir
filiallar. Boshqa nomlar ularning tegishli savdo belgilari bo'lishi mumkin
egalari.

"yordam" yozing; yoki yordam uchun "\h". Joriy kiritish bayonotini tozalash uchun “\c” kiriting.

Muvaffaqiyatli avtorizatsiyadan so'ng paydo bo'ladigan chiqishda kerakli ma'lumotlar mavjud. Bunday holda, MySQL Server versiyasi 5.5.55-0 ishlatiladi.

Bundan tashqari, ma'lumotlar bazasi server konsolida bir marta versiyani quyidagi tarzda so'rashingiz mumkin:

+————————-+
| version() |
+————————-+
| 5.5.55-0ubuntu0.14.04.1 |
+————————-+
To'plamda 1 qator (0,00 sek)

Ko'rib chiqilgan barcha holatlarda bir xil darajada to'liq ma'lumot olindi.

MySQL () bilan ishlash asoslarini tavsiflovchi bir qator maqolalarni o'qing.

Agar ma'lumotlar bazasi bilan ishlaydigan sayt skriptlari serverdagi dasturiy ta'minotning ma'lum bir versiyasi uchun yozilgan bo'lsa va u ishlatilayotgan versiya bo'lmasa, versiyani, shuningdek paketning o'zini o'zgartirish mumkin. Bu Debian-da juda sodda tarzda amalga oshiriladi; algoritm quyida keltirilgan.

Ma'lumotlar bazasi serveri versiyasini Debian-ga o'zgartirish

1) mysqldump yordam dasturidan foydalanib, barcha jadvallar (shu jumladan xizmat jadvallari) dumpi yaratiladi

2) paket olib tashlanadi apt-get MySQL serverini olib tashlash* && apt-get purge mysql-server*, shuningdek, nusxa olgandan so'ng /var/lib/mysql va /etc/mysql ni o'chirishingiz kerak.

3) rasmiy veb-saytda ko'rsatilgan ombor /etc/apt/source.list ga qo'shiladi (masalan, Debian 8 da MariaDB 10 uchun), ma'lumotlar yangilanadi apt-get yangilanishi

3) orqali ham apt-get yangi paket o'rnatiladi va keyin ma'lumotlar bazasi dumplari yuklanadi

Kutilmagan vaziyatlarda sizda har doim nusxalar bo'lishi kerak. Turli versiyalar konfiguratsiya fayllarida turli ko'rsatmalardan foydalanadi va qo'lda tahrirlashni talab qilishi mumkin.

O'qing, uning yordami bilan paketli versiya yaratildi; namuna olish eng keng tarqalgan operatsiya hisoblanadi.

  • Xavfsizlik
  • Sifat
  • Narxi
  • Ishonchlilik
  • Oddiylik
  • Barqarorlik
  • Qo'llab-quvvatlash
  • Tezlik
  • Boshqaruv paneli

Tez-tez so'raladigan savollar yordam bo'limi

Video hosting sharhi

FTP-ga serverni qanday yuklash kerak

DIQQAT: Siz faqat 3 ta jildni yuklashingiz kerak ( filtr skriptlari, o'yin rejimlari, skript fayllari) va 1 fayl server.cfg, so'ng server.cfg (agar u mavjud bo'lmasa) plaginlaridagi qatorni yozing streamer.so sscanf.so CRP.so mysql.so Shuningdek, siz .amx formatidagi mod gamemodes papkasida mavjudligiga ishonch hosil qilishingiz kerak va mod nomi server.cfg (config) da to'g'ri yozilgan.

FileZilla mijozi
Kirish mezbon Misol: 194.58.88.74 - tizimga kirish *****- parol******** PORT MAYODIGA HECH NARSANI KIRILMAGAN!!!

DIQQAT: FileZilla orqali FTP ga ulanish bo'lmasa, Total Commander-ni yuklab oling va u orqali ulaning!

Umumiy qo'mondon- namuna fayllaringizni FTP-ga yuklash uchun
Kirish mezbon Misol: 194.58.88.74 - tizimga kirish 173104911- parol g1KdN7D3q

Qayerga kirish kerak? Javob: Total Commander > Tarmoq > FTP serveriga ulanish > Qo‘shish-ni ishga tushiring va so‘ngra skrinshotda ko‘rsatilgandek ma’lumotlarni kiriting:

Mod noma'lum

Agar o'yin rejimi maydonida "noma'lum" bo'lsa, quyidagi amallarni bajaring:
1. Birinchidan, serveringizni o'chiring
2.Server parametrlari yorlig'idagi boshqaruv paneliga o'ting > Sozlamalar
3. Quyidagi qatorni qo'shing plaginlari streamer.so sscanf.so CRP.so mysql.so
Agar mod noma'lum bo'lsa, plaginlar nomini o'zgartiring, masalan: plaginlar streamer.so sscanf.so CRP.so mysql.so yoqilgan plaginlari streamer2.7.2.so sscanf.so CRP.so mysqlR34.so
*Plaginlar papkasi dastlab sukut bo'yicha o'rnatiladi va barcha kerakli plaginlarni o'z ichiga oladi.
*Istalgan plaginlaringizni FTP’ga o‘rnatishingiz mumkin, so‘ngra Sozlamalar bo‘limidagi boshqaruv panelidagi server uchun kerakli plaginni ro‘yxatdan o‘tkazing.
*Stremerni kompilyatsiya qilish va yangilash uchun PAWNO dasturidan foydalaning
4. Jildda plaginlar Linux uchun .so kengaytmali plaginlar bo'lishi kerak: serveringiz uchun kerakli plaginni tanlang va uning nomini qator plaginlaridagi panel sozlamalariga yozing MISAL: plaginlar streamer.so
5.Biz OS Linuxdan foydalanayotganimizni unutmang, ya'ni Panel sozlamalarida
plaginlar plaginlari uchun qatorni yozing: kengaytma bilan streamer.so sscanf.so CRP.so .shunday aks holda serveringiz to'g'ri ishlamaydi.

Uchun OS Linux server.cfg da ro'yxatdan o'ting: plaginlar streamer.so sscanf.so CRP.so mysql.so antiattack.so
libmysqlclient.so.15 libmysqlclient.so.16 libmysqlclient_r.so.16 plaginlaridan biri server papkasida joylashgan bo'lishi kerak.

Diqqat: agar server Windows operatsion tizimida to'g'ri ishlayotgan bo'lsa, bu uning Linuxda to'g'ri ishlashini anglatmaydi.

To'ldirgandan keyin piktogramma, uy, biznes va boshqalar bo'lmasa, nima qilishim kerak?

Konfiguratsiyada streamer2.5.so deb yozing, saqlang va serverni qayta yoqing.
Misol:

plaginlari streamer2.5.so sscanf.so CRP.so mysql.so regex.so

Plagin versiyasini qanday topish mumkin?
Mahalliy kompyuteringizda serverni ishga tushiring, keyin jurnalga qarang, plaginning versiyasi u erda ko'rsatiladi, ushbu versiyani server konfiguratsiyasida hostingda ro'yxatdan o'tkazing.
Misol:


Server plaginlari
--------------
Plagin yuklanmoqda: streamer.so
*** Streamer plagin v2.6.1 inkognito rejimida yuklangan ***

Bu server konfiguratsiyasida streamer2.6.1.so versiyasini ko'rsatishingiz kerakligini anglatadi

Yordam - Modni MySQL serveriga ulash

PAWNO dasturi bilan modni (file.PWN) oching, MYSQL bo'limidan ma'lumotlarni belgilang


Misol:

#mysql_host "host.site" ni aniqlang
# mysql_db "s20000" ni aniqlang
# mysql_userni "s20000" ni aniqlang
#define mysql_pass "lazyrich"

Modni .AMX da kompilyatsiya qilgandan va sql so'rovini ma'lumotlar bazasiga import qilgandan so'ng

Diqqat! Agar kompilyatsiya jarayonida noma'lum bo'lsa, mod aniqlanmaydi.
Yechim xatoni tuzatish uchun skriptni izlashdir.

Mod nomini, aniqrog'i xost nomi parametrini o'zgartirish uchun siz -Settings bo'limiga server boshqaruv panelini kiritishingiz kerak (bu sever.cfg server konfiguratsiyasi) va o'ngdagi hostname qatoriga server nomini yozing. , masalan: *** Bizning serverimiz eng yaxshi * **
Ma'lumotlarni panelda saqlang va yangi parametrlar kuchga kirishi uchun serverni qayta ishga tushirishni unutmang.
Agar yuqorida aytilganlarning barchasidan keyin sizning ismingiz o'zgarmagan bo'lsa, unda siz PAWNO dasturi yordamida modning o'zida nomni o'zgartirishingiz kerak va bu Internetda mavjud bo'lgan butunlay boshqacha hikoya.

Server.cfg









1-so'rov - Biz o'zgarmaymiz.

maxnpc 10 - Biz o'zgarmaymiz.
onfoot_rate 40 - O'zgartirmang.
incar_rate 40 - Biz uni o'zgartirmaymiz.
qurol_stavkasi 40 - O'zgartirmang.




- namuna konfiguratsiyasi uchun plaginlarning standart qatori

O'zingizga administrator hisobini qanday berish kerak

Jilddagi serverga o'ting skript fayllari, siznikini toping NIK
misol: Aldo_Mangano, bloknot yordamida faylni oching,
chiziqni toping AdminLevel 1999 ni belgilang, keyin faylni saqlang va serverni qayta ishga tushiring.

Server.cfg

echo Server konfiguratsiyasi bajarilmoqda…
lanmode 0 – 0 – Internet orqali o‘yin, 1 – mahalliy tarmoq orqali o‘yin.
rcon_password 123 – “123” – serverdagi administrator panelidan parol.
maxplayers 50 - Siz allaqachon tushunganingizdek, maksimal son - o'yinchilar. 0.3a versiyasida maksimal 500.
port 7777 - server manzilingiz oxirida ko'rsatiladigan port. (Xostingda u o'zini namoyon qiladi)
hostname NameServer - kelajakdagi serveringizning nomi.
gamemode0 rejimi - kelajakdagi serveringiz uchun o'yin rejimi. Bu haqda quyida batafsilroq...
0 – 1ni e'lon qiling server Internet yorlig'ida ko'rinadi / 0 ko'rinmaydi.
1-so'rov - Biz o'zgarmaymiz.
weburl sayti - Server sayti, agar mavjud bo'lsa.
maxnpc 10 - Biz o'zgarmaymiz.
onfoot_rate 40 - O'zgartirmang.
incar_rate 40 - Biz uni o'zgartirmaymiz.
qurol_stavkasi 40 - O'zgartirmang.
stream_distance 300.0 - O'zgartirmang.
stream_rate 1000 - O'zgartirmang.
parol - sizning_parolingiz (parolli server)
til Rossiya - xarita o'rniga 0.3.7 uchun xarita
plaginlari streamer.so sscanf.so CRP.so mysql.so regex.so dc_cmd.so CVector.so nativechecker.so- namuna konfiguratsiyasi uchun plaginlarning standart qatori

MySQL 5.6 versiyasining barqaror versiyasini chiqarish. Yangi versiyada juda ko'p ishlar qilindi. Asosiy sa'y-harakatlar samaradorlik, kengayish va moslashuvchanlikni yaxshilashga qaratilgan edi. InnoDB dvigateli sezilarli o'zgarishlarga duch keldi.

Asosiy yaxshilanishlar qatoriga quyidagilar kiradi: toʻliq matnli qidiruv vositalarini qoʻllab-quvvatlash, memcached API orqali maʼlumotlarga kirish imkoniyati, intensiv maʼlumotlarni yozib olish jarayonida unumdorlikni oshirish va bir vaqtning oʻzida koʻp sonli soʻrovlarni qayta ishlashda kengaytirilganlik.

5.6 versiyasidagi yana bir yangilik - bu DDL (Data Definition Language) operatsiyalarini DBMSni oflayn rejimga o'tkazmasdan va jadvallarga kirishni to'xtatmasdan bajarish qobiliyatidir. Administratorlar sxemani qayta o'rnatish, ma'lumotlar ustunlarini qo'shish yoki o'chirish yoki ustunlar nomini o'zgartirish bilan bog'liq operatsiyalarni DBMSni o'chirmasdan bajarishi mumkin. Ilgari bunday xususiyatlar faqat NoSQL mahsulotlarida mavjud edi.

5.5 versiyasi bilan taqqoslaganda, yangi mahsulot endi MySQL 5.5 da 32 yadroli bo'lsa, 48 yadroli serverlarda ishlashi mumkin.

Asosiy xususiyatlar haqida bir oz ko'proq ma'lumot:

  • Kalit/qiymat juftlarini boshqaradigan va memcached bilan mos keladigan API yordamida NoSQL tizimlari uslubida InnoDB jadvallariga to'g'ridan-to'g'ri kirish uchun interfeys amalga oshirildi.
  • Endi InnoDB jadvallarida saqlangan matn mazmuni orasida so'z shakllari bo'yicha tezkor qidiruvni tashkil qilish uchun InnoDB da to'liq matnli indekslarni yaratish mumkin. Ilgari to'liq matnli qidiruv faqat MyISAM jadvallari uchun mavjud edi.
  • So'rovlarni optimallashtiruvchi samaradorligini oshirish, natijalar to'plamini tanlash, so'rovni saralash va bajarish jarayonini optimallashtirish. Index Condition Pushdown (ICP) va Batch Key Access (BKA) optimallashtirishlari baʼzi soʻrovlar uchun 280 baravar koʻproq oʻtkazish qobiliyatini taʼminlaydi. “Tanlash... yagona_jadvaldan... ORDER BY_index_column LIMIT N;” kabi so‘rovlarni bajarish samaradorligi oshirildi. Katta namunadagi satrlarning faqat bir qismini aks ettiruvchi “SELECT... LIMIT N” soʻrovlarining ishlashi yaxshilandi.
  • Optimizator diagnostika vositalari kengaytirildi, INSERT, UPDATE va DELETE operatsiyalari uchun EXPLAIN yordami qo'shildi. EXPLAIN natijalari endi JSON formatida chiqarilishi mumkin. Yangi optimallashtiruvchi kuzatuv rejimi so'rovlarni optimallashtirish vaqtida qabul qilingan har bir qarorni kuzatish imkonini beradi.
  • Pastki so‘rovlarni bajarish uchun qo‘shimcha optimallashtirishlar, ularda “SELECT... FROM 1 table WHERE... IN (SELECT... FROM Jadval2 ...))” ko‘rinishidagi ichki so‘rovlar bosqichda yanada optimal ko‘rinishga tarjima qilinadi. so'rov to'g'ridan-to'g'ri bajarilishidan oldin, masalan, yanada samaraliroq JOIN bilan almashtiriladi.
  • So'rovlar bajarilishini va ma'lumotlar bazasini boshqarish jarayonida turli hodisalarni kuzatish uchun past darajadagi vositalarni ta'minlovchi PERFORMANCE_SCHEMA diagnostika tizimini joriy etishni kengaytirish. PERFORMANCE_SCHEMA uzoq davom etayotgan so‘rovlardagi qiyinchiliklar haqida batafsil ma’lumot, shuningdek, so‘rov, mavzu, foydalanuvchi, xost va obyekt bo‘yicha guruhlangan umumiy statistikani taqdim etadi.
  • InnoDB dvigatelining joriy etilishi yaxshilandi, tranzaktsiyalarni amalga oshirishda va ma'lumotlarni o'qish operatsiyalari ustun bo'lgan faoliyat davomida unumdorlikning oshishi kuzatildi - ba'zi hollarda tezlashuv 230% ga etadi.
  • Ma'lumotlarni darhol emas, balki ma'lum bir kechikish bilan takrorlash imkonini beruvchi kechiktirilgan replikatsiya rejimi, bu sizga operator xatolaridan (masalan, jadval tarkibini tasodifiy o'chirish) himoya qilishni ta'minlaydi.
  • O'zgartirish jurnallari (InnoDB Redo Log) bilan fayllarning maksimal hajmini 4 GB dan 2 TB gacha oshirish.
  • Xavfsizlikni yaxshilash: shifrlangan shaklda .mylogin.cnf faylida autentifikatsiya parametrlarini belgilashni qo'llab-quvvatlash; SHA-256 algoritmi yordamida parol xeshlarini saqlash uchun sha256_password plaginini qo'shish; mysql.user jadvaliga parolning amal qilish muddati ko'rsatilgan maydonni qo'shish; parol kuchini baholash uchun yangi SQL funksiyasi VALIDATE_PASSWORD_STRENGTH().
  • Serverni faqat o'qish rejimida ishga tushirishni qo'llab-quvvatlash (variant --innodb-faqat o'qish, faqat InnoDB).
  • Mikrosoniyalarni belgilash uchun TIME, DATETIME va TIMESTAMP funksiyalarida kasr soniyalarni ko'rsatishni qo'llab-quvvatlash.
  • "--log", "--log-slow-queries", "--one-thread", "--safe-rejim", "--skip-thread-priority", "--table-" opsiyalarini qo'llab-quvvatlash "kesh to'xtatildi".
Innovatsiyalar haqida ko'proq ma'lumot olish mumkin

Birinchidan, siz eng so'nggi eksperimental versiyani yoki so'nggi barqaror versiyani xohlaysizmi, hal qilishingiz kerak:

  • Agar siz MySQL-dan birinchi marta foydalanmoqchi bo'lsangiz yoki MySQL-ni ikkilik taqsimotga ega bo'lmagan tizimga o'tkazmoqchi bo'lsangiz, biz odatda barqaror versiyadan boshlashni tavsiya qilamiz (hozirgi versiya 3.23). Shuni yodda tutingki, barcha MySQL versiyalari MySQL mezonlari va har bir nashrdan oldin (hatto eksperimental versiyalar uchun ham) keng qamrovli testlar to'plami yordamida sinovdan o'tkaziladi.
  • Agar siz eski tizim bilan ishlayotgan bo'lsangiz va uni yangilamoqchi bo'lsangiz, lekin yangilash paytida yuzaga kelishi mumkin bo'lgan nomuvofiqliklarga yo'l qo'ymaslikni istasangiz, uni o'zingiz foydalanayotgan filialdagi eng yangi versiyaga almashtirishingiz kerak (bu erda faqat oxirgi versiya raqami mavjud). siznikidan yangiroq). Bunday versiyalarda biz faqat muhim xatolarni tuzatishga harakat qilamiz va faqat kichik, nisbatan xavfsiz o'zgarishlarni amalga oshiramiz.

Ikkinchidan, siz manba taqsimotidan yoki ikkilik taqsimotdan foydalanishni xohlaysizmi, qaror qabul qilishingiz kerak. Ko'pgina hollarda, agar platformangiz uchun mavjud bo'lsa, ikkilik taqsimotni tanlash yaxshidir, chunki uni o'rnatish manba tarqatishdan ko'ra osonroqdir.

Quyidagi hollarda manbadan o'rnatish afzalroq bo'lishi mumkin:

  • Agar siz MySQL-ni aniq ko'rsatilgan joyga o'rnatishingiz kerak bo'lsa (standart ikkilik etkazib berishlar istalgan joyda `` ishlashga tayyor'', lekin sizga ko'proq moslashuvchanlik kerak bo'lishi mumkin).
  • Turli xil foydalanuvchi talablarini qondirish uchun biz ikki xil ikkilik versiyani taqdim etamiz: biri tranzaksiyasiz jadval ishlovchilari (kichik, tezkor ikkilik kod) bilan tuzilgan, ikkinchisi esa tranzaksiyadan xabardor jadvallar kabi eng muhim kengaytirilish imkoniyatlari bilan tuzilgan. Ikkala versiya ham bir xil manba kodidan tuzilgan. Barcha MySQL mahalliy mijozlari ikkala versiyaga ham ulanishi mumkin. MySQL kengaytirilgan versiyasi ikkilik taqsimoti -max qo'shimchasi bilan belgilanadi va mysqld-max bilan bir xil variantlar bilan tuzilgan. Kengaytirilgan MySQLD serveri 4.7.5 mysqld-max bo'limiga qarang. Agar siz MySQL-Max RPM paketidan foydalanmoqchi bo'lsangiz, avvalo standart MySQL RPM paketini o'rnatishingiz kerak.
  • Agar siz mysqld-ni standart ikkilik taqsimotlarda mavjud bo'lmagan qo'shimcha funktsiyalar bilan sozlashingiz kerak bo'lsa. Quyida siz foydalanmoqchi bo'lgan eng keng tarqalgan qo'shimcha variantlar ro'yxati keltirilgan:
    • --innodb bilan
    • --berkeley-db bilan
    • --reyd bilan
    • --libwrap bilan
    • --with-named-z-lib (Bu ba'zi ikkilik taqsimotlar uchun amalga oshiriladi)
    • --with-debug[=to'liq]
  • Odatiy bo'lib, ikkilik taqsimot odatda barcha kodlashlar uchun qo'llab-quvvatlanadi va bir xil protsessorlar oilasining turli protsessorlarida ishlashi kerak. Agar siz tezroq MySQL serveriga ega bo'lishni istasangiz, uni faqat kerakli kodlashni qo'llab-quvvatlash uchun qayta kompilyatsiya qilishingiz mumkin, yaxshiroq kompilyatordan (masalan, pgcc) foydalaning yoki protsessoringiz uchun yaxshiroq optimallashtirilgan kompilyator opsiyalaridan foydalaning.
  • Agar siz xato topsangiz va bu haqda MySQL ishlab chiqish guruhiga xabar bersangiz, sizga xatoni tuzatish uchun manba kodini taqsimlashga qo'llanilishi kerak bo'lgan yamoq yuborilishi kerak.
  • Agar siz MySQL manba kodini (C va C++ da) o'qishni (va/yoki o'zgartirishni) istasangiz, sizda manba kodini taqsimlash bo'lishi kerak. Manba kodi har doim eng yaxshi hujjatdir. Manba taqsimotlarida ikkilik taqsimotlarga qaraganda ko'proq testlar va misollar mavjud.

MySQL nomlash tizimi uchta raqam va qo'shimchadan iborat bo'lgan reliz raqamlaridan foydalanadi. Masalan, mysql-3.21.17-beta versiyasi quyidagicha talqin qilinadi:

  • Birinchi raqam (3) fayl formatini tavsiflaydi. 3-versiyaning barcha versiyalari bir xil fayl formatiga ega.
  • Ikkinchi raqam (21) chiqish darajasini bildiradi. Odatda ikkita variantni tanlash mumkin. Ulardan biri barqaror filialning chiqarilishini (hozirda 23), ikkinchisi esa eksperimental filialni (hozirda 4,0) ifodalaydi. Odatda ikkala filial ham barqaror, ammo eksperimental versiyada ba'zi g'ayrioddiyliklar bo'lishi mumkin, yangi xususiyatlar uchun hujjatlar yo'qligi yoki ba'zi tizimlarda kompilyatsiya qilinmasligi mumkin.
  • Uchinchi raqam (17) - reliz darajasidagi versiya raqami. Har bir yangi tarqatish uchun bu raqam ortadi. Odatda tanlangan versiya darajasi uchun eng so'nggi versiyani afzal ko'rish mantiqan.
  • Suffiks (beta) berilgan relizning barqarorlik darajasini bildiradi. Quyidagi qo'shimchalar mumkin:
    • alfa relizda 100% sinovdan o'tmagan yangi kodning katta bo'limlarini o'z ichiga olganligini ko'rsatadi. Topilgan xatolar (odatda yo'q) "Yangiliklar" bo'limida hujjatlashtirilishi kerak. MySQL oʻzgarishlari va yangilanishlari tarixi boʻlimiga qarang. Aksariyat alfa relizlar yangi buyruqlar va kengaytmalarni ham o'z ichiga oladi. Alfa versiyasi ustida ishlayotganda, muhim kod o'zgarishlarini o'z ichiga olgan faol rivojlanish bo'lishi mumkin, ammo hamma narsa chiqarilishidan oldin sinovdan o'tkaziladi. MySQL-ning har qanday versiyasi ma'lum xatolardan xoli bo'lishi kerak.
    • beta barcha yangi kodlar sinovdan o'tganligini anglatadi. Eski kodni buzishi mumkin bo'lgan yangi xususiyatlar qo'shilmagan. Hech qanday ma'lum xatolar bo'lmasligi kerak. Agar kamida bir oy davomida alfa versiyasida jiddiy xatolar haqida xabarlar bo'lmasa va biz oldingi buyruqlarning ishonchliligini pasaytiradigan yangi xususiyatlarni qo'shishni rejalashtirmasak, versiya alfadan betaga o'zgartiriladi.
    • gamma - bu deyarli tugallangan va yaxshi ishlayotgan ko'rinadigan beta versiyasi. Faqat kichik tuzatishlar qo'shiladi. Aynan shu narsani boshqa ko'plab kompaniyalar reliz deb atashadi.
    • Agar qo'shimcha bo'lmasa, bu versiya ko'plab turli xil kompyuter tizimlarida platformaga xos xatolardan tashqari xato xabarlarisiz ishga tushirilganligini bildiradi; buning uchun faqat tanqidiy xatolarni tuzatishga ruxsat beriladi. Shuning uchun biz ushbu nashrni barqaror deb ataymiz.

MySQL-ning barcha versiyalari ulardan foydalanish ishonchliligini ta'minlash uchun standart sinovlarimiz va ko'rsatkichlarimizdan o'tkaziladi. Standart testlar vaqti-vaqti bilan yangi topilgan xatolar va ularga sabab bo'lishi mumkin bo'lgan vaziyatlarni tekshirishni o'z ichiga olgan holda kengaytirilganligi sababli, test to'plami vaqt o'tishi bilan yaxshilanadi va yaxshilanadi.

E'tibor bering, barcha versiyalar kamida quyidagi testlar bilan sinovdan o'tkaziladi:

Ichki test to'plami To'plam mijozning ishlab chiqarish tizimining bir qismidir. Ushbu to'plam yuzlab megabayt ma'lumotlarga ega bo'lgan ko'plab jadvallarni o'z ichiga oladi. MySQL Performance Test Suite Ushbu testlar tez-tez ishlatiladigan so'rovlar to'plamida ishlaydi. Shuningdek, ular sizga eng so'nggi optimallashtirish paketi haqiqatan ham kodingizni tezroq qiladimi yoki yo'qligini ko'rish imkonini beradi. Bo'limga qarang. crash-me test Sinov ma'lumotlar bazasi qanday funksionallikni qo'llab-quvvatlashini va uning imkoniyatlari va cheklovlarini aniqlashga harakat qiladi. 5.1.4 MySQL Benchmark Suite bo'limiga qarang.

Yana bir sinov bor. Bu bizning ichki ishlab chiqarish muhitimizda MySQL ning eng so'nggi versiyasini kamida bitta mashinada ishlatishimizdan iborat. Ushbu versiya bilan ishlash uchun bizda 100 gigabaytdan ortiq ma'lumotlar mavjud.