როგორ გავარკვიოთ mysql ვერსია ssh-ის საშუალებით. MySQL აირჩიეთ ვერსია და როგორ გავარკვიოთ MySQL ვერსია. ვიდეო ჰოსტინგის მიმოხილვა

MySQL (იგულისხმება Free Relational Database Management System) არის კომპაქტური, მრავალნაკადიანი მონაცემთა ბაზის სერვერი, რომელიც არის სწრაფი, სტაბილური და მარტივი გამოსაყენებლად.

თავდაპირველად შეიქმნა TcX-ის მიერ შიდა პრობლემების გადასაჭრელად - დიდი მონაცემთა ბაზების რაც შეიძლება სწრაფი დამუშავება. შინაგანად გამოიყენება 1996 წლიდან სერვერზე 40-ზე მეტი მონაცემთა ბაზის მქონე სერვერზე, რომელიც შეიცავს 10000 ცხრილს, რომელთაგან 500-ზე მეტს აქვს 7 მილიონზე მეტი სტრიქონი.

დღეს MySQL შემუშავებულია და მხარს უჭერს Oracle Corporation-მა, რომელმაც შეიძინა Sun Microsystems 2010 წლის 27 იანვარს, რის შემდეგაც მან MySQL შეიტანა თავის პროდუქციის ხაზში. ადრე (2008 წლის 26 თებერვალი) Sun Microsystems-მა გადაიხადა $1 მილიარდი MySQL AB-ის შესაძენად. პროდუქტი განაწილებულია როგორც GNU General Public ლიცენზიით, ასევე საკუთარი კომერციული ლიცენზიით. გარდა ამისა, დეველოპერები ქმნიან ფუნქციონირებას ლიცენზირებული მომხმარებლების მოთხოვნით; სწორედ ამ შეკვეთის წყალობით გამოჩნდა რეპლიკაციის მექანიზმი თითქმის ადრეულ ვერსიებში.

MySQL არის ყველაზე ოპტიმალური გადაწყვეტა მცირე და საშუალო ზომის აპლიკაციებისთვის. სერვერის წყაროები შედგენილია მრავალ პლატფორმაზე. სერვერის შესაძლებლობები ყველაზე სრულად არის დემონსტრირებული Unix სერვერებზე, სადაც არის მულტირედინგის მხარდაჭერა, რაც მნიშვნელოვნად ზრდის შესრულებას. შედის WAMP, AppServ, LAMP სერვერებში და პორტატული სერვერის კონსტრუქციებში Denver, XAMPP. MySQL ჩვეულებრივ გამოიყენება როგორც სერვერი, რომელსაც აქვს ადგილობრივი ან დისტანციური კლიენტები, მაგრამ დისტრიბუცია მოიცავს back-end ბიბლიოთეკას, რომელიც საშუალებას აძლევს MySQL ჩართოს დამოუკიდებელ პროგრამებში.
დიდი რაოდენობით ცხრილების ტიპების მხარდაჭერის წყალობით, MySQL საკმაოდ მოქნილია. მომხმარებლებს შეუძლიათ აირჩიონ როგორც MyISAM სრული ტექსტის საძიებო ცხრილები, ასევე ინდივიდუალური InnoDB ტრანზაქციის ცხრილები. გარდა ამისა, MySQL-ს გააჩნია სპეციალური EXAMPLE ცხრილის ტიპი, რომელიც აჩვენებს, თუ როგორ უნდა შექმნათ ცხრილის ახალი ტიპები. ამის წყალობით, ისევე როგორც ღია არქიტექტურისა და GPL ლიცენზირების წყალობით, შესაძლებელია ცხრილების ახალი ტიპების დამატება MySQL-ში თითქმის უსასრულოდ.

MySQL სერვერი უფასოა არაკომერციული გამოყენებისთვის. წინააღმდეგ შემთხვევაში, თქვენ უნდა შეიძინოთ ლიცენზია, რომლის მიმდინარე ღირებულებაა 190 ევრო.

კოდის სხვადასხვა ჩანგალი შეიქმნა MySQL დეველოპერის საზოგადოების მიერ, როგორიცაა Drizzle, OurDelta, Percona Server და MariaDB. ყველა ეს ფილიალი უკვე არსებობდა Oracle-ის მიერ Sun-ის ხელში ჩაგდების დროს.

MySQL-ის გაჩენა

1994 წლამდე ბაზარი ძირითადად შედგებოდა მონაცემთა ბაზებისგან, რომლებიც შექმნილია დიდი მოცულობის მონაცემებისა და რთული ურთიერთობების დასამუშავებლად, რომლებსაც ჰქონდათ მრავალფეროვანი შესაძლებლობები, მაგრამ ამავე დროს საჭიროებდა მნიშვნელოვან გამოთვლით რესურსებს. ეს მონაცემთა ბაზები მოიცავს Oracle, Informix და Sybase. არ არსებობდა DBMS, რომელიც მხარს უჭერდა SQL-ს და ამავე დროს ხელმისაწვდომი იყო.

მსხვილ კორპორაციებსა და უნივერსიტეტებს შეეძლოთ შეიძინონ ძლიერი გამოთვლითი სისტემები, მაშინ როცა მცირე ორგანიზაციები და მომხმარებლები იყენებდნენ სუსტ დესკტოპ მონაცემთა ბაზებს, როგორიცაა Postgres, რომელიც იყენებდა QUEL ენის (PostQUEL) ვარიანტს, მაგრამ რომელიც, სამწუხაროდ, იგივე რესურსებს მოითხოვდა. კოლეგებთან, მაგრამ არ მოგვაწოდეს SQL, როგორც შეკითხვის ენაზე გამოყენების უპირატესობები.

შემდეგ ვიღაც დევიდ ჰიუზმა (რომელიც მოგვიანებით გახდა, ინტერნეტში ნაშრომის გამოქვეყნების შემდეგ, ცნობილი როგორც ბემბი), რომელიც იმ დროს წერდა დისერტაციას ბონდის უნივერსიტეტში (ავსტრალია), დაიწყო Minerva ქსელის მართვის სისტემის პროექტის შემუშავება - მონიტორინგი და კონტროლის სისტემა ერთი ან მეტი წერტილიდან სისტემების ჯგუფზე. პროექტის მთავარი ელემენტი იყო მონაცემთა ბაზა, რომ შეინახოს ინფორმაცია ქსელში არსებული ყველა კომპიუტერის შესახებ. ჰიუზმა პირველად გადაწყვიტა გამოეყენებინა Postgres. თუმცა, კოლეგებმა შესთავაზეს SQL, როგორც შეკითხვის ენა Minerva-სთვის, რადგან SQL არის ყველაზე გავრცელებული შეკითხვის ენა და მისი გამოყენებით, Minerva შეიძლება ხელმისაწვდომი გახდეს პლანეტის ნებისმიერ წერტილში, სადაც არის RDBMS, რომელიც მხარს უჭერს SQL-ს. ეს იყო MySQL-ის შექმნის სტიმული.

ჰიუზმა გადაწყვიტა თავად შეექმნა პროგრამა, რომელიც რეალურ დროში გადათარგმნის SQL-ს PostQUEL-ად. მან თავის პროგრამას უწოდა miniSQL, ან mSQL. მან ჩაჭრა მინერვას მიერ გაგზავნილი SQL განცხადებები, გადააქცია ისინი PostQUEL-ად და შედეგი გაუგზავნა Postgres-ს. გარკვეული პერიოდის განმავლობაში ეს სიტუაცია შეეფერებოდა ჰიუზს. თუმცა, Minerva-ს შემდგომი ზრდის შედეგად, აშკარა გახდა, რომ მისთვის ხელმისაწვდომი შეზღუდული რესურსებით, არც Postgres და არც სხვა დიდი RDBMS არ შეძლებდა დაეხმარა მახასიათებლების მცირე კომპლექტს, რაც მას სჭირდება. მაგალითად, მინერვას ერთდროულად რამდენიმე მონაცემთა ბაზასთან დაკავშირების შესაძლებლობის განსახორციელებლად, Postgres მოითხოვდა მონაცემთა ბაზის სერვერის რამდენიმე ინსტანციის ერთდროულ გაშვებას.

ამ პრობლემების გადასაჭრელად ჰიუზმა გააანალიზა მინერვას ნამუშევარი და აღმოჩნდა, რომ მინერვას მიერ წარმოქმნილი ძირითადი მოთხოვნები იყო: „ჩასმა“, „წაშლა“ და „არჩევა“. ვინაიდან ჰიუზს უკვე ჰქონდა mSQL, რომელიც აკეთებდა SQL თარგმანს, მას მხოლოდ მონაცემთა ბაზის სერვერის შექმნა სჭირდებოდა მისი საჭიროებებისთვის.

და სწორედ აქ მოქმედებს მაიკლ მონტი ვიდენიუსი, რომელიც ითვლება MySQL-ის გამომგონებლად. 1979 წელს მან შეიმუშავა მონაცემთა ბაზის მართვის ინსტრუმენტი სახელწოდებით UNIREG. UNIREG შემდგომში გაფართოვდა უფრო დიდი მონაცემთა ბაზების მხარდასაჭერად და გადაწერილი იქნა რამდენიმე ენაზე. 1994 წელს TcX-მა დაიწყო www აპლიკაციების შემუშავება UNIREG-ის გამოყენებით. თუმცა, მაღალი ხარჯების გამო, UNIREG ვერ გამოიყენებოდა წარმატებით ვებ გვერდების დინამიურად გენერირებისთვის. ამიტომ, Widenius-მა გადაწყვიტა დაუკავშირდა mSQL-ის ავტორს, ჰიუზს, რათა შესთავაზოს, რომ mSQL დააკავშიროს B+ ISAM დამმუშავებელთან UNIREG-ში. თუმცა, Hughes-მა კარგი პროგრესი მიაღწია mSQL 2-ის გზაზე და კომპანიამ გადაწყვიტა შექმნას მონაცემთა ბაზის სერვერი მისი საჭიროებებისთვის.

TcX-მა საფუძვლად აიღო UNIREG და გამოიყენა მესამე მხარის უტილიტები mSQL-სთვის, დაწერა API მათი სისტემისთვის, რომელიც თავდაპირველად ძალიან ჰგავდა mSQL-ის API-ს. თუმცა, ეს საშუალებას აძლევდა mSQL-ის ნებისმიერ მომხმარებელს, რომელსაც სურდა მიგრაცია TcX მონაცემთა ბაზის სერვერზე, მცირე ცვლილებები შეეტანა მათ კოდში. ახალი მონაცემთა ბაზის წყაროს კოდი სრულიად ორიგინალური იყო. ამრიგად, 1995 წლის მაისში კომპანიას ჰქონდა MySQL 1.0 მონაცემთა ბაზა, რომელიც სრულად აკმაყოფილებდა კომპანიის საჭიროებებს.

1995 წელს, დევიდ ოქსმარკმა, რომელიც მუშაობს Detron HB-ში და არის კომპანიის ბიზნეს პარტნიორი, აქტიურად დაიწყო TcX-ის მოწვევა MySQL DBMS ინტერნეტის საშუალებით გასავრცელებლად. დავითმა დოკუმენტაციაზე მუშაობაშიც მიიღო მონაწილეობა. შედეგად, 1996 წელს გამოვიდა MySQL DBMS-ის 3.11.1 ვერსია, როგორც ბინარული დისტრიბუცია Linux-ისა და Solaris-ის გასაშვებად. დღეს MySQL მუშაობს ბევრ პლატფორმაზე და ხელმისაწვდომია როგორც ორობით, ასევე წყაროს ვერსიებში.

დღეს MySQL გახდა ყველაზე პოპულარული ინსტრუმენტი PHP-ში მონაცემთა ბაზებთან მუშაობისთვის. ეს პირველ რიგში განპირობებულია იმით, რომ ამ სერვერის მხარდაჭერა შედის PHP დისტრიბუციაში. გარდა ამისა, MySQL-ის პოპულარობას ხელს უწყობს საკმაოდ კარგი მახასიათებლები და სტანდარტული ინტერფეისის ფუნქციების ფართო სპექტრი, რომლებიც ძალიან მარტივი გამოსაყენებელია.

MySQL-ის სალიცენზიო პოლიტიკა უფრო მოქნილია, ვიდრე მონაცემთა ბაზის სხვა სერვერები. არსებითად, MySQL უფასოა, თუ არ აპირებთ მის გაყიდვას ან მასთან აშენებული სერვისების გაყიდვას.

MySQL არის უაღრესად პორტატული და შეიძლება გამოყენებულ იქნას ერთნაირად კარგად კომერციულ ოპერაციულ სისტემებზე, როგორიცაა Solaris, Irix ან Windows, და ნებისმიერ აპარატურაზე ძლიერ სერვერებამდე. უფრო მეტიც, მისი უფრო ძვირი კონკურენტების მსგავსად, მას შეუძლია გაუმკლავდეს დიდ მონაცემთა ბაზებს, რომლებიც შეიცავს მილიონობით ჩანაწერს.

სახელი და ლოგო

რაც შეეხება სახელს, მისი წარმოშობის რამდენიმე ვერსია არსებობს. პირველ ვერსიაში ნათქვამია, რომ პრეფიქსი "ჩემი" გამოყენება აიხსნება იმით, რომ TcX-ში საბაზო კატალოგში, ისევე როგორც ბიბლიოთეკების და კომუნალური საშუალებების მნიშვნელოვანი რაოდენობა, ამ პრეფიქსით იყო დანიშნული ათი წლის განმავლობაში. ამიტომ ლოგიკური იყო მისი გამოყენება ამ შემთხვევაში.

მეორე ვერსია, უფრო სენტიმენტალური, ეფუძნება იმ ფაქტს, რომ მაიკლ მონტი ვიდენიუსმა ახალ პროდუქტს MySQL დაარქვა თავისი ქალიშვილის სახელი - My. ვიდენიუსის ქალიშვილის სახელი ნამდვილად ჩემია და ის თავად არ უარყოფს არც პირველ და არც მეორე ვერსიას.

MySQL-ის დელფინის ლოგოს ჰქვია „საკილა“. ის აირჩიეს მომხმარებლის მიერ შემოთავაზებული „დელფინების სახელების“ დიდი სიიდან. სახელწოდება „საკილა“ წარადგინა ღია კოდის დეველოპერმა ამბროსი ტვიბაზემ.

MySQL მახასიათებლები

MySQL-ის მთავარი მახასიათებელია ის, რომ იგი მხარს უჭერს SQL შეკითხვის ენას ANSI 92 სტანდარტში და გარდა ამისა, მას აქვს ამ სტანდარტის მრავალი გაფართოება, რომელიც არ არის ნაპოვნი მონაცემთა ბაზის მართვის სხვა სისტემაში.
MySQL მახასიათებლების მოკლე სია:

1. მონაცემთა ბაზასთან ერთდროულად მომუშავე მომხმარებლების შეუზღუდავი რაოდენობის ეფექტური ფუნქციონირება მხარდაჭერილია.

2. ცხრილებში რიგების რაოდენობა შეიძლება 50 მილიონს მიაღწიოს.

3. ბრძანებების რაც შეიძლება სწრაფად შესრულება. არსებობს მოსაზრება, რომ MySQL არის ყველაზე სწრაფი სერვერი.

4. მარტივი და ეფექტური უსაფრთხოების სისტემა.

მაგალითი დიაგრამა MySQL-ში


MySQL-ის ნაკლოვანებები

თუმცა, MySQL-ს ასევე აქვს გარკვეული უარყოფითი მხარეები. ეს ძირითადად გამოწვეულია იმით, რომ ასეთი მაღალი სიჩქარის მისაღწევად, დეველოპერებს უნდა შეეწირათ ზოგიერთი მოთხოვნა მონაცემთა ბაზის მართვის სისტემებისთვის.

ასე რომ, MySQL-ს აკლია:

1 . ჩადგმული მოთხოვნების მხარდაჭერა, როგორიცაა SELECT * FROM table1 WHERE id IN (SELECT id FROM table2) (ადრე ვერსიებში).

2. ტრანზაქციის მხარდაჭერა არ არის განხორციელებული. ამის ნაცვლად, შემოთავაზებულია LOCK/UNLOCK TABLE-ის გამოყენება.

3. უცხოური გასაღებების მხარდაჭერა არ არის.

4 . არ არსებობს ტრიგერებისა და შენახული პროცედურების მხარდაჭერა.

5 . ნახვების მხარდაჭერა არ არის (VIEW). 3.23 ვერსიაში დაგეგმილია ხედების შექმნა.

შემქმნელების აზრით, ეს იყო 2-4 ქულები, რამაც შესაძლებელი გახადა მაღალი შესრულების მიღწევა. მათი განხორციელება მნიშვნელოვნად ამცირებს სერვერის სიჩქარეს. ეს ფუნქციები არ არის კრიტიკული ვებ აპლიკაციების შექმნისას, რამაც, მაღალ შესრულებასთან და დაბალ ფასთან ერთად, სერვერს საშუალება მისცა გამხდარიყო ძალიან პოპულარული.

ლიცენზირება

MySQL არის ორმაგი ლიცენზირებული. MySQL შეიძლება გავრცელდეს GPL-ის პირობებით. თუმცა, GPL-ის პირობებით, თუ რომელიმე პროგრამა შეიცავს MySQL წყაროს კოდს, მაშინ ის ასევე უნდა გავრცელდეს GPL ლიცენზიით. ეს შეიძლება ეწინააღმდეგებოდეს დეველოპერების გეგმებს, რომლებსაც არ სურთ თავიანთი პროგრამების გახსნა. ასეთი შემთხვევებისთვის გათვალისწინებულია კომერციული ლიცენზია, რომელიც ასევე უზრუნველყოფს მაღალი ხარისხის სერვისის მხარდაჭერას.

პლატფორმები

MySQL პორტირებულია უამრავ პლატფორმაზე: 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 და Windows 7. ასევე არის MySQL პორტი OpenVMS-ზე. მნიშვნელოვანია აღინიშნოს, რომ ოფიციალურ DBMS ვებსაიტზე არა მხოლოდ წყაროს კოდები არის გათვალისწინებული უფასო ჩამოტვირთვისთვის, არამედ მზა MySQL DBMS შესრულებადი მოდულები, რომლებიც შედგენილია და ოპტიმიზებულია კონკრეტული ოპერაციული სისტემებისთვის.

Პროგრამირების ენები

MySQL-ს აქვს API-ები Delphi, C, C++, Eiffel, Java, Lisp, Perl, PHP, Python, Ruby, Smalltalk, Component Pascal და Tcl, ბიბლიოთეკები .NET პლატფორმის ენებისთვის და ასევე უზრუნველყოფს ODBC-ს მხარდაჭერას MyODBC ODBC დრაივერის მეშვეობით.

ვერსიის ისტორია

MySQL-ის პირველი შიდა გამოშვება მოხდა 1995 წლის 23 მაისს [წყარო არ არის მითითებული 1224 დღე].
ვერსია Windows სისტემებისთვის (Windows 95 და NT) გამოვიდა 1998 წლის 8 იანვარს.
ვერსია 3.23: ბეტა ვერსია 2000 წლის ივნისში, გამოშვება 2001 წლის იანვარში.
ვერსია 4.0: ბეტა 2002 წლის აგვისტოში, გამოშვება 2003 წლის მარტში.
ვერსია 4.1: ბეტა 2004 წლის ივნისში, გამოშვება 2004 წლის ოქტომბერში.
ვერსია 5.0: ბეტა 2005 წლის მარტში, გამოშვება 2005 წლის ოქტომბერში.
ვერსია 5.1: განვითარება დაიწყო 2005 წლის ნოემბერში, გამოშვება 2008 წლის ნოემბერში.
ვერსია 5.4: ბეტა 2009 წლის აპრილში, არ გამოვიდა.
ვერსია 5.5: გამოშვება 2010 წლის დეკემბერში.
ვერსია 5.6: დამუშავების პროცესშია (5.6.6 m9 2012 წლის 7 აგვისტო).

ვერსიის ისტორია



MySQL 4.0

მიუხედავად იმისა, რომ ვერსია 4.0 მოძველებულია, მას მაინც აქვს მნიშვნელოვანი მიღება. ამ ვერსიის ძირითადი მახასიათებლები:

ANSI SQL-99-ის თითქმის სრული განხორციელება, პლუს გაფართოებები;
ჯვარედინი პლატფორმის თავსებადობა;
დამოუკიდებელი ცხრილების ტიპები (MyISAM სწრაფი წაკითხვისთვის, InnoDB ტრანზაქციებისთვის და რეფერენციული მთლიანობა);
გარიგებები;
SSL მხარდაჭერა;
მოთხოვნის ქეშირება;
რეპლიკაცია: ერთი ხელმძღვანელი სერვერი ერთ მონაზე, ბევრი მონა თითო თავზე;
სრული ტექსტის ინდექსირება და ძიება MyISAM ცხრილის ტიპის გამოყენებით;
დანერგილი მონაცემთა ბაზის ბიბლიოთეკა;
Unicode მხარდაჭერა (UTF-8);
ACID თავსებადი InnoDB ცხრილები;
ჩაშენებული სერვერი, რომელიც საშუალებას აძლევს MySQL ჩართოს დამოუკიდებელ აპლიკაციებში.

ჩადგმული მოთხოვნები და მიღებული ცხრილები.
კოდირებისა და დახარისხების ახალი სისტემა;
უფრო სწრაფი და მოქნილი კლიენტ-სერვერის პროტოკოლი მომზადებული მოთხოვნების მხარდაჭერით, რაც უზრუნველყოფს მათ ოპტიმალურ შესრულებას;
ახალი ინსტალაციისა და კონფიგურაციის პროგრამა Microsoft Windows-ისა და Linux-ისთვის;
კლიენტ-სერვერის კავშირები დაცული OpenSSL-ის საშუალებით;
უაღრესად ოპტიმიზებული ბიბლიოთეკა, რომელიც შეიძლება გამოყენებულ იქნას მესამე მხარის პროგრამებში;
სრული Unicode მხარდაჭერა (UTF-8 და UCS2);
სტანდარტული GIS სივრცითი მონაცემების ტიპები გეოგრაფიული ინფორმაციის შესანახად;
გაუმჯობესებული სრული ტექსტის ძებნა და დახმარების სისტემა.

MySQL 5.0

ვერსია MySQL 5.0 გამოვიდა 2005 წლის 24 ოქტომბერს, ამ ვერსიამ მნიშვნელოვნად გააფართოვა ფუნქციონირება, რაც MySQL-ს აყენებს კომერციულ DBMS-ებთან. თუ ადრე MySQL DBMS დაადანაშაულეს SQL სტანდარტის არასაკმარის მხარდაჭერაში, მაშინ ამ პოპულარული მონაცემთა ბაზის მეხუთე ვერსიის მოსვლასთან ერთად გამოჩნდა SQL სტანდარტის თითქმის სრული მხარდაჭერა. MySQL 5.0 შეიცავს შემდეგ ინოვაციებს:
შენახული პროცედურები და ფუნქციები;
შეცდომების დამმუშავებლები;
კურსორები;
ტრიგერები;
წარმომადგენლობა;
საინფორმაციო სქემა (ე.წ. სისტემური ლექსიკონი, რომელიც შეიცავს მეტამონაცემებს).

MySQL 5.1

MySQL 5.1 აგრძელებს გზას SQL:2003 სტანდარტისკენ. MySQL 5.1 შეიცავს შემდეგ ინოვაციებს:

დაყოფა არის ერთი დიდი ცხრილის რამდენიმე ნაწილად დაყოფის შესაძლებლობა, რომლებიც განლაგებულია სხვადასხვა ფაილურ სისტემაზე, მომხმარებლის მიერ განსაზღვრული ფუნქციის საფუძველზე. გარკვეულ პირობებში, ამან შეიძლება უზრუნველყოს შესრულების მნიშვნელოვანი ზრდა და, გარდა ამისა, აადვილებს ცხრილების მასშტაბირებას.
რიგი ოპერატორების ქცევა შეიცვალა SQL2003 სტანდარტთან უფრო მეტი თავსებადობის უზრუნველსაყოფად.
მწკრივზე დაფუძნებული რეპლიკაცია, რომელშიც მხოლოდ ინფორმაცია ცხრილის რეალურად შეცვლილი რიგების შესახებ დაიწერება ორობით ჟურნალში ორიგინალური (და შესაძლოა ნელი) მოთხოვნის ტექსტის ნაცვლად. მწკრივის რეპლიკაცია შეიძლება გამოყენებულ იქნას მხოლოდ გარკვეული ტიპის SQL მოთხოვნებისთვის, MySQL თვალსაზრისით - შერეული რეპლიკაცია.
პერიოდულად დაწყებული სამუშაოების ჩაშენებული გრაფიკი. სინტაქსის თვალსაზრისით, დავალების დამატება ცხრილზე ტრიგერის დამატებას ჰგავს, იდეოლოგიაში კი კრონტაბის მსგავსია.
ფუნქციების დამატებითი ნაკრები XML დამუშავებისთვის, XPath-ის მხარდაჭერის განხორციელება.
ახალი პრობლემების დიაგნოსტიკისა და შესრულების ანალიზის საშუალებები. გაფართოვდა ჟურნალის ფაილების შიგთავსის მართვის შესაძლებლობები; ჟურნალების შენახვა ახლა შესაძლებელია general_log და slow_log ცხრილებში. Mysqlslap პროგრამა საშუალებას გაძლევთ ჩატვირთოთ მონაცემთა ბაზა და ჩაწეროთ პასუხის დრო თითოეული მოთხოვნისთვის.
განახლების ოპერაციის გასამარტივებლად მომზადდა mysql_upgrade უტილიტა, რომელიც შეამოწმებს ყველა არსებულ ცხრილს ახალ ვერსიასთან თავსებადობაზე და საჭიროების შემთხვევაში გააკეთებს შესაბამის კორექტირებას.
MySQL Cluster ახლა გამოვიდა, როგორც ცალკე პროდუქტი, რომელიც დაფუძნებულია MySQL 5.1 და NDBCLUSTER საცავზე.
მნიშვნელოვანი ცვლილებები MySQL Cluster-ის მუშაობაში, როგორიცაა, მაგალითად, დისკზე ტაბულური მონაცემების შენახვის შესაძლებლობა.
დაუბრუნდით ჩაშენებული libmysqld ბიბლიოთეკის გამოყენებას, რომელიც არ იყო MySQL 5.0-ში.
API დანამატებისთვის, რომელიც საშუალებას გაძლევთ ჩატვირთოთ მესამე მხარის მოდულები, რომლებიც აფართოებენ ფუნქციებს (როგორიცაა სრული ტექსტის ძებნა) სერვერის გადატვირთვის გარეშე.
სრული ტექსტის საძიებო პარსერის დანერგვა დანამატის სახით.
ახალი მარია მაგიდის ტიპი (MyISAM-ის ავარიისადმი მდგრადი კლონი).

მარია მაგიდის ტიპი

მარია (დაწყებული ვერსიიდან 5.2.x - Aria) - MyISAM შენახვის გაფართოებული ვერსია, ავარიის შემდეგ მონაცემთა მთლიანობის შესანარჩუნებლად ხელსაწყოების დამატებით.
მარიას მთავარი უპირატესობები:

ავარიის შემთხვევაში, მიმდინარე ოპერაციის შედეგები უკან იბრუნებს ან უბრუნდება მდგომარეობას LOCK TABLES ბრძანებამდე. განხორციელება ხე-ტყის ოპერაციების მეშვეობით.
ოპერაციების ჟურნალის ნებისმიერი წერტილიდან მდგომარეობის აღდგენის შესაძლებლობა, მათ შორის CREATE/DROP/RENAME/TRUNCATE მხარდაჭერა. შეიძლება გამოყენებულ იქნას დამატებითი სარეზერვო ასლების შესაქმნელად საოპერაციო ჟურნალის პერიოდული კოპირებით.
MyISAM სვეტის ყველა ფორმატის მხარდაჭერა გაფართოვდა ახალი "rows-in-block" ფორმატით, რომელიც იყენებს გვერდებზე დაფუძნებულ მონაცემთა შენახვის მეთოდს, რომლის დროსაც შესაძლებელია სვეტების მონაცემების ქეშირება.
სამომავლოდ განხორციელდება ორი რეჟიმი: ტრანზაქციის და ტრანზაქციის ჟურნალში ასახვის გარეშე, არაკრიტიკული მონაცემებისთვის.
მონაცემთა გვერდის ზომაა 8 კბ (MyISAM-ში 1 კბ), რაც იძლევა ფიქსირებული ზომის ველებზე ინდექსების უკეთ შესრულების საშუალებას, მაგრამ უფრო ნელი ცვლადი სიგრძის კლავიშების ინდექსირების შემთხვევაში.

MySQL 5.5

MySQL 5.5 ფილიალი ეფუძნება გამოუქვეყნებელ MySQL 5.4 სერიას და შეიცავს უამრავ მნიშვნელოვან გაუმჯობესებას, რომლებიც დაკავშირებულია გაზრდილ მასშტაბურობასა და შესრულებასთან, მათ შორის:
InnoDB ძრავის ნაგულისხმევად გამოყენება.
ნახევრად სინქრონული რეპლიკაციის მექანიზმის მხარდაჭერა, რომელიც დაფუძნებულია Google-ის InnoDB-ის პატჩებზე.
გაუმჯობესებული მონაცემთა დაყოფის ფუნქციონირება. გაფართოებული სინტაქსი დიდი ცხრილების მრავალ ნაწილად დაყოფისთვის, რომლებიც მდებარეობს ფაილურ სისტემებზე (დაყოფა). დამატებულია RANGE, LIST ოპერაციები და "partition pruning" ოპტიმიზაციის მეთოდი.
ახალი მექანიზმი ჩადგმული მოთხოვნებისა და JOIN ოპერაციების ოპტიმიზაციისთვის.
შეიცვალა შიდა საკეტის სისტემა.
Google-ის პატჩები ინტეგრირებულია InnoDB მუშაობის ოპტიმიზაციისთვის პროცესორებზე დიდი რაოდენობით ბირთვით.

MySQL 6.0

ვერსია MySQL 6.0 გაიყინა ალფა ტესტირების ეტაპზე. თავდაპირველად, გადაწყდა 5.2 ვერსიის შექმნა; ამ ვერსიას მალე დაერქვა 6.0. თუმცა, მოგვიანებით ინფორმაცია MySQL 6.0-ის შესახებ გაქრა საიტიდან და დეველოპერებმა ყურადღება გაამახვილეს 5.5 ვერსიაზე და შემდგომ 5.6 ვერსიაზე.
6.0 ვერსიის ერთ-ერთი მთავარი ინოვაცია იყო დაგეგმილი, რომ ყოფილიყო ახალი Falcon მაგიდის ტიპი, რომელიც შემუშავებული იყო, როგორც InnoDB-ის პოტენციური შემცვლელი Innobase-სგან, რომელიც შეიძინა Oracle-მა. 2010 წელს იგივე Oracle-ის მიერ Sun Microsystems-ის შეძენასთან დაკავშირებით, Falcon-ის ბედი კვლავ ეჭვქვეშ რჩება.

სპეციფიკაციები

ცხრილის მაქსიმალური ზომა MySQL 3.22-ში არის 4 გბ-მდე, შემდგომ ვერსიებში მაქსიმალური ზომაა 8 მილიონ ტბ-მდე (263 ბაიტი).
მაგიდის ზომა შეზღუდულია მისი ტიპის მიხედვით. ზოგადად, MyISAM ტიპი შემოიფარგლება ოპერაციული სისტემის ფაილური სისტემის ფაილის ზომის ლიმიტით. მაგალითად, NTFS-ში ეს ზომა თეორიულად შეიძლება იყოს 32 ექსბაიტამდე. InnoDB-ის შემთხვევაში, ერთი ცხრილი შეიძლება ინახებოდეს რამდენიმე ფაილში, რომელიც წარმოადგენს ერთ მაგიდას. ამ უკანასკნელის ზომამ შეიძლება მიაღწიოს 64 ტერაბაიტს.

MyISAM-ისგან განსხვავებით, InnoDB-ს აქვს მნიშვნელოვანი ლიმიტი სვეტების რაოდენობაზე, რომლებიც შეიძლება დაემატოს ერთ ცხრილს. ნაგულისხმევი მეხსიერების გვერდის ზომაა 16 კილობაიტი, აქედან 8123 ბაიტი გამოყოფილია მონაცემებისთვის. დინამიური ველების მაჩვენებლის ზომაა 20 ბაიტი. ამრიგად, მწკრივის დინამიური ფორმატის გამოყენებისას (ROW_FORMAT=DYNAMIC), ერთ ცხრილს შეუძლია მაქსიმუმ 409 blob ან ტექსტის სვეტი.

4.1 ვერსიიდან დაწყებული, ახალი კოდირებისა და დახარისხების სისტემა დაინერგა MySQL DBMS-ში. Windows-1251 კოდირების გამოყენებისას, SQL განცხადებების შესრულებამდე, თქვენ უნდა დააკონფიგურიროთ კავშირის კოდირება ოპერატორების გამოყენებით:

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

ეს სამი განცხადება უდრის ერთი განცხადების გამოძახებას:

სახელების დაყენება "cp1251"

ცვლადი character_set_client ადგენს კლიენტისგან გაგზავნილი მონაცემების დაშიფვრას, character_set_results ცვლადი ადგენს კლიენტისთვის გაგზავნილი მონაცემების დაშიფვრას, character_set_connection ცვლადი ადგენს კოდირებას, რომელშიც გარდაიქმნება კლიენტისგან მიღებული ინფორმაცია სერვერზე მოთხოვნის შესრულებამდე.

UTF-8 Unicode-ის გამოყენებისას, ეს განცხადება ასე გამოიყურება:
სახელების დაყენება "utf8"

ISO 8859-5 კოდირება არ არის მხარდაჭერილი.


MySQL-ში აირჩიეთ ვერსია ()— მოთხოვნა, რომელიც აბრუნებს გამოყენებული პაკეტის სახელს და მის ვერსიას. სახელი შეიძლება იყოს თავად MySQL ან მისი ჩანგალი, რომელიც დამოუკიდებლად ვითარდება - MaraiDB. პაკეტებს შორის განსხვავება არ არის შესამჩნევი პრობლემების უმეტესობის გადაჭრისას. MySQL 5.6 ემთხვევა MaraiDB 10-ს.

MySQL აირჩიეთ ვერსია და როგორ გავარკვიოთ MySQL ვერსია

თქვენ შეგიძლიათ გაიგოთ ვერსია რამდენიმე გზით. უმარტივესი არ საჭიროებს მონაცემთა ბაზის სერვერის მომხმარებლის პაროლის ცოდნას. უბრალოდ შედით SSH-ის საშუალებით და გაუშვით mysql --version

mysql ვერსია 14.14 Distrib 5.5.55, debian-linux-gnu-სთვის (x86_64) readline 6.3-ის გამოყენებით

სათაურში მოცემული მეთოდის გამოსაყენებლად, თქვენ უნდა გაგზავნოთ SQL მოთხოვნა; ამისათვის შედით კონსოლში (ასევე შეგიძლიათ ამის გაკეთება სკრიპტით).

შეიყვანეთ პაროლი:
კეთილი იყოს თქვენი მობრძანება MySQL მონიტორზე. ბრძანებები მთავრდება ; ან\გ.
თქვენი MySQL კავშირის ID არის 41
სერვერის ვერსია: 5.5.55-0ubuntu0.14.04.1 (Ubuntu)

საავტორო უფლება (c) 2000, 2017, Oracle და/ან მისი შვილობილი კომპანიები. Ყველა უფლება დაცულია.

Oracle არის Oracle Corporation-ის და/ან მისი რეგისტრირებული სავაჭრო ნიშანი
ფილიალები. სხვა სახელები შეიძლება იყოს მათი შესაბამისი სავაჭრო ნიშნები
მფლობელები.

ჩაწერეთ "დახმარება;" ან "\h" დახმარებისთვის. ჩაწერეთ "\c" მიმდინარე შეყვანის განცხადების გასასუფთავებლად.

საჭირო ინფორმაცია ხელმისაწვდომია გამოსავალში, რომელიც გამოჩნდება წარმატებული ავტორიზაციის შემდეგ. ამ შემთხვევაში გამოიყენება MySQL Server ვერსია 5.5.55-0.

ასევე, მონაცემთა ბაზის სერვერის კონსოლში ერთხელ, შეგიძლიათ მოითხოვოთ ვერსია შემდეგნაირად:

+————————-+
| ვერსია() |
+————————-+
| 5.5.55-0ubuntu0.14.04.1 |
+————————-+
1 მწკრივი კომპლექტში (0.00 წმ)

ყველა განხილულ შემთხვევაში მოპოვებული იქნა თანაბრად სრული ინფორმაცია.

წაიკითხეთ სტატიების სერია, რომელიც აღწერს MySQL-თან მუშაობის საფუძვლებს ().

თუ საიტის სკრიპტები, რომლებიც მუშაობს მონაცემთა ბაზასთან, დაწერილია სერვერზე პროგრამული უზრუნველყოფის კონკრეტული ვერსიისთვის და ეს არ არის გამოყენებული, ვერსია, ისევე როგორც თავად პაკეტი, შეიძლება შეიცვალოს. ეს კეთდება საკმაოდ მარტივად Debian-ში; ალგორითმი მოცემულია ქვემოთ.

მონაცემთა ბაზის სერვერის ვერსიის შეცვლა Debian-ზე

1) mysqldump უტილიტას გამოყენებით, იქმნება ყველა ცხრილის ნაგავსაყრელი (სერვისის ცხრილების ჩათვლით)

2) პაკეტი ამოღებულია apt-get ამოიღეთ mysql-server* && apt-get გაწმინდეთ mysql-server*, თქვენ ასევე უნდა წაშალოთ /var/lib/mysql და /etc/mysql ასლის შექმნის შემდეგ

3) ოფიციალურ ვებსაიტზე ჩამოთვლილი საცავი ემატება /etc/apt/source.list (მაგალითად, MariaDB 10-ისთვის Debian 8-ზე), ინფორმაცია განახლებულია apt-get განახლება

3) ასევე მეშვეობით აპტ-მიღებადაინსტალირებულია ახალი პაკეტი და შემდეგ იტვირთება მონაცემთა ბაზის ნაგავსაყრელები

ყოველთვის უნდა გქონდეთ ასლები გაუთვალისწინებელი სიტუაციების შემთხვევაში. სხვადასხვა ვერსია იყენებს სხვადასხვა დირექტივას კონფიგურაციის ფაილებში და შეიძლება მოითხოვოს ხელით რედაქტირება.

წაიკითხეთ, მისი დახმარებით იქნა მიღებული პაკეტის ვერსია; ნიმუშის აღება ყველაზე გავრცელებული ოპერაციაა.

  • Უსაფრთხოება
  • ხარისხიანი
  • ფასი
  • საიმედოობა
  • Სიმარტივე
  • სტაბილურობა
  • მხარდაჭერა
  • სიჩქარე
  • Მართვის პანელი

FAQ დახმარების განყოფილება

ვიდეო ჰოსტინგის მიმოხილვა

როგორ ატვირთოთ სერვერი FTP-ზე

ყურადღება:საჭიროა მხოლოდ 3 საქაღალდის ატვირთვა ( ფილტრის სკრიპტები, თამაშის რეჟიმები, სკრიპტების ფაილები) და 1 ფაილი server.cfg, შემდეგ ჩაწერეთ ხაზი server.cfg-ში (თუ ის იქ არ არის) დანამატები streamer.so sscanf.so CRP.so mysql.so თქვენ ასევე უნდა დარწმუნდეთ, რომ mod .amx ფორმატში არსებობს gamemodes საქაღალდეში და მოდიფიკაციის სახელი სწორად არის დაწერილი server.cfg-ში (კონფიგურაცია).

FileZilla კლიენტი
შედი მასპინძელი მაგალითი: 194.58.88.74 - შესვლა *****- პაროლი******** არ შეიყვანოთ არაფერი პორტის მინდორში!!!

ყურადღება:თუ არ არის კავშირი FTP-თან FileZilla-ს საშუალებით, ჩამოტვირთეთ Total Commander და დაუკავშირდით მას!

სულ მეთაური- თქვენი samp ფაილების FTP-ზე ატვირთვისთვის
შედი მასპინძელი მაგალითი: 194.58.88.74 - შესვლა 173104911- პაროლი g1KdN7D3q

სად შევიდეს? პასუხი: გაუშვით Total Commander > Network > FTP სერვერთან დაკავშირება > დამატება და შემდეგ შეიყვანეთ თქვენი მონაცემები, როგორც ნაჩვენებია სკრინშოტის მაგალითზე:

Mod უცნობია

თუ თქვენი თამაშის რეჟიმის ველში ნათქვამია "უცნობი", მაშინ მიჰყევით ამ ნაბიჯებს:
1. პირველ რიგში, გამორთეთ სერვერი
2. გადადით საკონტროლო პანელზე სერვერის პარამეტრების ჩანართზე > პარამეტრები
3. დაამატეთ ხაზი ქვემოთ დანამატები streamer.so sscanf.so CRP.so mysql.so
შეცვალეთ დანამატების სახელი, თუ მოდიფიკაცია უცნობია, მაგალითად: plugins streamer.so sscanf.so CRP.so mysql.so onდანამატები streamer2.7.2.so sscanf.so CRP.so mysqlR34.so
*პლაგინების საქაღალდე თავდაპირველად დაინსტალირებულია ნაგულისხმევად და შეიცავს ყველა საჭირო დანამატს.
*შეგიძლიათ დააინსტალიროთ ნებისმიერი თქვენი დანამატი FTP-ზე, შემდეგ დაარეგისტრიროთ სერვერისთვის საჭირო დანამატი მართვის პანელში პარამეტრების განყოფილებაში.
*სტრიმერის შედგენისა და განახლებისთვის გამოიყენეთ PAWNO პროგრამა
4.საქაღალდეში დანამატებიუნდა იყოს დანამატები გაფართოებით .so Linux-ისთვის: აირჩიეთ სასურველი დანამატი თქვენი სერვერისთვის და ჩაწერეთ მისი სახელი პანელის პარამეტრებში ხაზის დანამატებში მაგალითი: plugins streamer.so
5. არ დაგავიწყდეთ, რომ ჩვენ ვიყენებთ OS Linux-ს, რაც ნიშნავს პანელის პარამეტრებში
ჩაწერეთ ხაზი დანამატებისთვის: streamer.so sscanf.so CRP.so გაფართოებით .ისეწინააღმდეგ შემთხვევაში თქვენი სერვერი არ იმუშავებს სწორად.

ამისთვის OS Linuxდარეგისტრირდით server.cfg-ში როგორც: plugins streamer.so sscanf.so CRP.so mysql.so antiattack.so
ერთ-ერთი დანამატი libmysqlclient.so.15 libmysqlclient.so.16 libmysqlclient_r.so.16 უნდა იყოს განთავსებული სერვერის საქაღალდეში.

ყურადღება: თუ სერვერი სწორად მუშაობს Windows OS-ზე, ეს არ ნიშნავს რომ ის სწორად იმუშავებს Linux-ზე.

რა უნდა გავაკეთო, თუ შევსების შემდეგ არ არის ხატები, სახლები, ბიზნესი და ა.შ.

ჩაწერეთ streamer2.5.so კონფიგურაციაში, შეინახეთ და გადატვირთეთ სერვერი.
მაგალითი:

დანამატები streamer2.5.so sscanf.so CRP.so mysql.so regex.so

როგორ გავარკვიოთ მოდულის ვერსია?
თქვენს ლოკალურ კომპიუტერზე გაუშვით სერვერი, შემდეგ გადახედეთ ჟურნალს, იქ მითითებული იქნება მოდულის ვერსია, დაარეგისტრირეთ ეს ვერსია ჰოსტინგზე სერვერის კონფიგურაციაში.
მაგალითი:


სერვერის დანამატები
--------------
იტვირთება დანამატი: streamer.so
*** Streamer Plugin v2.6.1 მიერ ინკოგნიტო ჩატვირთული ***

ეს ნიშნავს, რომ სერვერის კონფიგურაციაში უნდა მიუთითოთ ვერსია streamer2.6.1.so

დახმარება - მოდის დაკავშირება mysql სერვერთან

გახსენით mod (file.PWN) PAWNO პროგრამით, მიუთითეთ თქვენი მონაცემები MYSQL განყოფილებიდან


მაგალითი:

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

მოდი .AMX-ში შედგენის და მონაცემთა ბაზაში sql მოთხოვნის იმპორტის შემდეგ

ყურადღება! თუ უცნობი გამოჩნდება შედგენის პროცესში, მოდი არ იქნება გამოვლენილი.
გამოსავალი არის სკრიპტერის ძებნა შეცდომის გამოსასწორებლად.

მოდიფიკაციის სახელის, უფრო სწორად ჰოსტის სახელის პარამეტრის შესაცვლელად, თქვენ უნდა შეიყვანოთ სერვერის მართვის პანელი -Settings განყოფილებაში (ეს არის sever.cfg სერვერის კონფიგურაცია) და მარჯვენა მხარეს ჰოსტის სახელის ხაზში ჩაწერეთ თქვენი სერვერის სახელი. , მაგალითად: *** ჩვენი სერვერი საუკეთესოა * **
შეინახეთ მონაცემები პანელში და დარწმუნდით, რომ გადატვირთეთ სერვერი ახალი პარამეტრების ამოქმედებისთვის.
თუ თქვენი სახელი არ შეცვლილა ყოველივე ზემოთქმულის შემდეგ, მაშინ თქვენ უნდა შეცვალოთ სახელი თავად მოდში PAWNO პროგრამით და ეს არის სრულიად განსხვავებული ამბავი, რომელიც ხელმისაწვდომია ინტერნეტში.

სერვერი.cfg









შეკითხვა 1 - ჩვენ არ ვცვლით.

maxnpc 10 - ჩვენ არ ვცვლით.
onfoot_rate 40 – არ შეცვალოთ.
incar_rate 40 – ჩვენ არ ვცვლით მას.
weapon_rate 40 – არ შეცვალოთ.




- დანამატების სტანდარტული ხაზი samp კონფიგურაციისთვის

როგორ მივცეთ საკუთარ თავს ადმინისტრატორის ანგარიში

გადადით სერვერზე საქაღალდეში სკრიპტის ფაილები, იპოვე შენი ნიკი
მაგალითად: Aldo_Mangano, გახსენით ფაილი Notepad-ის გამოყენებით,
იპოვნეთ ხაზი ადმინისტრაციული დონემიუთითეთ 1999, შემდეგ შეინახეთ ფაილი და გადატვირთეთ სერვერი.

სერვერი.cfg

echo მიმდინარეობს სერვერის კონფიგურაცია…
lanmode 0 – 0 – თამაში ინტერნეტით, 1 – თამაში ლოკალურ ქსელში.
rcon_password 123 – “123” – პაროლი სერვერზე ადმინისტრატორის პანელიდან.
maxplayers 50 – როგორც უკვე მიხვდით, მაქსიმალური რაოდენობა არის მოთამაშეები. ვერსიაში 0.3a, მაქსიმუმ 500.
პორტი 7777 – პორტი ნაჩვენებია თქვენი სერვერის მისამართის ბოლოს. (ჰოსტინგზე ის თავს იჩენს)
ჰოსტის სახელი NameServer – თქვენი მომავალი სერვერის სახელი.
gamemode0 რეჟიმი – თამაშის რეჟიმი თქვენი მომავალი სერვერისთვის. მეტი ამის შესახებ ქვემოთ...
გამოაცხადეთ 0 – 1 სერვერი ჩანს ინტერნეტ ჩანართში / 0 არ ჩანს.
შეკითხვა 1 - ჩვენ არ ვცვლით.
weburl საიტი – სერვერის საიტი, თუ ეს შესაძლებელია.
maxnpc 10 - ჩვენ არ ვცვლით.
onfoot_rate 40 – არ შეცვალოთ.
incar_rate 40 – ჩვენ არ ვცვლით მას.
weapon_rate 40 – არ შეცვალოთ.
ნაკადის_დისტანცია 300.0 – არ შეცვალოთ.
ნაკადის_რატე 1000 – არ შეცვალოთ.
პაროლი - your_password (სერვერი პაროლით)
ენა რუსეთი - რუკა 0.3.7-ისთვის რუკის ადგილზე
დანამატები streamer.so sscanf.so CRP.so mysql.so regex.so dc_cmd.so CVector.so nativechecker.so- დანამატების სტანდარტული ხაზი samp კონფიგურაციისთვის

MySQL 5.6 ვერსიის სტაბილური გამოშვების გამოშვება. ახალ ვერსიაში ბევრი სამუშაო გაკეთდა. ძირითადი ძალისხმევა მიმართული იყო შესრულების, მასშტაბურობისა და მოქნილობის გაუმჯობესებაზე. InnoDB ძრავმა განიცადა მნიშვნელოვანი ცვლილებები.

ძირითადი გაუმჯობესებები მოიცავს: სრული ტექსტის საძიებო ინსტრუმენტების მხარდაჭერას, მონაცემებზე წვდომის შესაძლებლობას მემქეშირებული API-ით, გაზრდილი ეფექტურობა მონაცემთა ინტენსიური ჩაწერის დროს და გაზრდილი მასშტაბურობა დიდი რაოდენობის ერთდროული მოთხოვნების დამუშავებისას.

5.6 ვერსიის კიდევ ერთი ინოვაცია არის DDL (მონაცემთა განსაზღვრის ენა) ოპერაციების შესრულების შესაძლებლობა DBMS-ის ხაზგარეშე მიღებისა და ცხრილებზე წვდომის შეწყვეტის გარეშე. ადმინისტრატორებს შეუძლიათ შეასრულონ ოპერაციები, რომლებიც დაკავშირებულია სქემის გადატვირთვასთან, მონაცემთა სვეტების დამატებასთან ან წაშლასთან, ან სვეტების გადარქმევასთან DBMS-ის გამორთვის გარეშე. ადრე, ასეთი ფუნქციები ხელმისაწვდომი იყო მხოლოდ NoSQL პროდუქტებში.

5.5 ვერსიასთან შედარებით, ახალი პროდუქტი ახლა შეიძლება იმუშაოს 48 ბირთვიან სერვერებზე, MySQL 5.5-ის 32 ბირთვის წინააღმდეგ.

ცოტა მეტი დეტალი ძირითადი მახასიათებლების შესახებ:

  • დანერგილია ინტერფეისი InnoDB ცხრილებზე პირდაპირი წვდომისთვის NoSQL სისტემების სტილში API-ის გამოყენებით, რომელიც მანიპულირებს გასაღების/მნიშვნელობის წყვილებს და თავსებადია memcached-თან.
  • ახლა შესაძლებელია InnoDB-ში სრული ტექსტის ინდექსების შექმნა, რათა მოაწყოთ სწრაფი ძიება სიტყვების ფორმებით InnoDB ცხრილებში შენახულ ტექსტურ შინაარსს შორის. ადრე სრული ტექსტის ძებნა ხელმისაწვდომი იყო მხოლოდ MyISAM ცხრილებისთვის.
  • შეკითხვის ოპტიმიზატორის ეფექტურობის გაუმჯობესება, მნიშვნელობების შედეგების ნაკრების შერჩევის პროცესის ოპტიმიზაცია, მოთხოვნის დახარისხება და შესრულება. ახალი Index Condition Pushdown (ICP) და Batch Key Access (BKA) ოპტიმიზაცია უზრუნველყოფს 280-ჯერ მეტ გამტარუნარიანობას ზოგიერთი შეკითხვისთვის. გაზრდილია ისეთი მოთხოვნების შესრულების ეფექტურობა, როგორიცაა „SELECT... FROM single_table... ORDER BY non_index_column LIMIT N;“. გაუმჯობესებულია მოთხოვნების „SELECT... LIMIT N“ შესრულება, რომლებიც აჩვენებს მწკრივების მხოლოდ ნაწილს დიდი ნიმუშიდან.
  • გაფართოვდა ოპტიმიზატორის დიაგნოსტიკური ხელსაწყოები, დაემატა EXPLAIN მხარდაჭერა INSERT, UPDATE და DELETE ოპერაციებისთვის. EXPLAIN შედეგები ახლა შეიძლება გამოვიდეს JSON ფორმატში. ახალი ოპტიმიზატორის კვალის რეჟიმი საშუალებას გაძლევთ თვალყური ადევნოთ შეკითხვის ოპტიმიზაციის დროს მიღებულ ყველა გადაწყვეტილებას.
  • დამატებითი ოპტიმიზაცია ქვემოკითხვების შესასრულებლად, რომლებშიც ჩადგმული მოთხოვნები ფორმის „SELECT... FROM table1 WHERE... IN (SELECT... FROM table2 ...))“ ითარგმნება უფრო ოპტიმალურ წარმომადგენლობად ეტაპზე. სანამ მოთხოვნა პირდაპირ შესრულდება, მაგალითად, ჩანაცვლდება უფრო ეფექტური JOIN-ით.
  • PERFORMANCE_SCHEMA დიაგნოსტიკური სისტემის დანერგვის გაფართოება, რომელიც უზრუნველყოფს დაბალი დონის ინსტრუმენტებს DBMS-ის ფუნქციონირებისას მოთხოვნების შესრულების და სხვადასხვა მოვლენების მონიტორინგისთვის. PERFORMANCE_SCHEMA უზრუნველყოფს დეტალურ ინფორმაციას გრძელვადიანი მოთხოვნების შეფერხებების შესახებ, ასევე შემაჯამებელ სტატისტიკას, რომელიც დაჯგუფებულია მოთხოვნის, ნაკადის, მომხმარებლის, ჰოსტის და ობიექტის მიხედვით.
  • გაუმჯობესდა InnoDB ძრავის დანერგვა, გაუმჯობესებულია შესრულება ტრანზაქციების შესრულებისას და აქტივობის დროს მონაცემთა წაკითხვის ოპერაციების უპირატესობით - ზოგიერთ სიტუაციაში აჩქარება აღწევს 230%.
  • გადადებული რეპლიკაციის რეჟიმი, რომელიც საშუალებას გაძლევთ გაიმეოროთ მონაცემები არა დაუყოვნებლივ, არამედ გარკვეული დაგვიანებით, რაც საშუალებას გაძლევთ უზრუნველყოთ დაცვა ოპერატორის შეცდომებისგან (მაგალითად, ცხრილის შინაარსის შემთხვევითი წაშლა).
  • ფაილების მაქსიმალური ზომის გაზრდა ცვლილებების ჟურნალებით (InnoDB Redo Log) 4 გბ-დან 2 ტბ-მდე.
  • უსაფრთხოების გაუმჯობესება: დაშიფრული ფორმით .mylogin.cnf ფაილში ავტორიზაციის პარამეტრების დაზუსტების მხარდაჭერა; sha256_password მოდულის დამატება პაროლის ჰეშების შესანახად SHA-256 ალგორითმის გამოყენებით; mysql.user ცხრილში პაროლის ვადის გასვლის დროის ველის დამატება; ახალი SQL ფუნქცია VALIDATE_PASSWORD_STRENGTH() პაროლის სიძლიერის შესაფასებლად.
  • სერვერის მხოლოდ წაკითხვის რეჟიმში მუშაობის მხარდაჭერა (ვარიანტი --innodb-მხოლოდ წაკითხვა, მხოლოდ InnoDB).
  • მხარდაჭერა წილადი წამის მითითებისთვის TIME, DATETIME და TIMESTAMP ფუნქციებში მიკროწამების მითითებისთვის.
  • პარამეტრების მხარდაჭერა "--log", "--log-slow-queries", "--one-thread", "--safe-mode", "--skip-thread-priority", "--table- "შეწყდა ქეში".
შეგიძლიათ მეტი გაიგოთ ინოვაციების შესახებ აქ

პირველ რიგში, თქვენ უნდა გადაწყვიტოთ, გსურთ უახლესი ექსპერიმენტული გამოშვება თუ უახლესი სტაბილური ვერსია:

  • თუ პირველად აპირებთ MySQL-ის გამოყენებას, ან ცდილობთ MySQL-ის პორტირებას სისტემაში, რომელსაც არ აქვს ბინარული განაწილება, ჩვენ ზოგადად გირჩევთ დაიწყოთ სტაბილური ვერსიით (ამჟამად ვერსია 3.23). გთხოვთ, გაითვალისწინოთ, რომ ყველა MySQL გამოშვება ტესტირება ხდება MySQL საორიენტაციო ნიშნებისა და ყოვლისმომცველი ტესტის კომპლექტის გამოყენებით ყოველი გამოშვების წინ (თუნდაც ექსპერიმენტული გამოშვებისთვის).
  • თუ თქვენ მუშაობთ ძველ სისტემაზე და გსურთ მისი განახლება, მაგრამ გსურთ თავიდან აიცილოთ შესაძლო შეუსაბამობები განახლების დროს, მაშინ უნდა შეცვალოთ ის უახლესი ვერსიით იმავე ფილიალში, რომელსაც იყენებთ (სადაც მხოლოდ უახლესი ვერსიის ნომერია. შენზე ახალი). ასეთ ვერსიებში ჩვენ ვცდილობთ გამოვასწოროთ მხოლოდ კრიტიკული შეცდომები და შევიტანოთ მხოლოდ მცირე, შედარებით უსაფრთხო ცვლილებები.

მეორე, თქვენ უნდა გადაწყვიტოთ, გსურთ გამოიყენოთ წყაროს განაწილება თუ ორობითი განაწილება. უმეტეს შემთხვევაში, უმჯობესია აირჩიოთ ორობითი განაწილება, თუ ასეთი არსებობს თქვენი პლატფორმისთვის, რადგან, როგორც წესი, მისი ინსტალაცია უფრო ადვილია, ვიდრე წყაროს განაწილება.

წყაროდან ინსტალაცია შეიძლება სასურველი იყოს შემდეგ შემთხვევებში:

  • თუ გჭირდებათ MySQL-ის დაყენება კონკრეტულად მითითებულ ადგილას (სტანდარტული ორობითი მიწოდებები ``მზადაა გასაშვებად'' ყველგან, მაგრამ შეიძლება დაგჭირდეთ კიდევ უფრო მეტი მოქნილობა).
  • მომხმარებლის სხვადასხვა მოთხოვნების დასაკმაყოფილებლად, ჩვენ ვაწვდით ორ განსხვავებულ ბინარულ ვერსიას: ერთი შედგენილი ცხრილების არატრანზაქციის დამმუშავებლებით (პატარა, სწრაფი ორობითი კოდი) და მეორე კონფიგურირებული ყველაზე მნიშვნელოვანი გაფართოების შესაძლებლობებით, როგორიცაა ტრანზაქციების შესახებ ინფორმაციის ცხრილები. ორივე ვერსია შედგენილია ერთი და იმავე წყაროს კოდიდან. ყველა MySQL მშობლიურ კლიენტს შეუძლია ორივე ვერსიასთან დაკავშირება. MySQL Extended version ორობითი განაწილება აღინიშნება -max სუფიქსით და კონფიგურირებულია იგივე ვარიანტებით, როგორც mysqld-max. იხილეთ განყოფილება 4.7.5 mysqld-max, გაფართოებული mysqld სერვერი. თუ გსურთ გამოიყენოთ MySQL-Max RPM პაკეტი, ჯერ უნდა დააინსტალიროთ სტანდარტული MySQL RPM პაკეტი.
  • თუ გჭირდებათ mysqld-ის კონფიგურაცია რამდენიმე დამატებითი ფუნქციით, რომლებიც მიუწვდომელია სტანდარტულ ორობით დისტრიბუციაში. ქვემოთ მოცემულია ყველაზე გავრცელებული დამატებითი ვარიანტების სია, რომელთა გამოყენება შეიძლება დაგჭირდეთ:
    • --თან-ინნოდბ
    • ---ით-ბერკლი-დბ
    • -- რეიდთან
    • ---libwrap-ით
    • --with-named-z-lib (ეს კეთდება ზოგიერთი ბინარული განაწილებისთვის)
    • --გამართვით[=სრული]
  • ნაგულისხმევად, ორობითი განაწილება ჩვეულებრივ შედგენილია ყველა კოდირების მხარდაჭერით და უნდა იმუშაოს იმავე პროცესორების ოჯახის სხვადასხვა პროცესორზე. თუ გსურთ უფრო სწრაფი MySQL სერვერი, შეგიძლიათ ხელახლა შეადგინოთ ის მხოლოდ ერთი კოდირების მხარდასაჭერად, რომელიც გჭირდებათ, გამოიყენოთ უკეთესი შემდგენელი (როგორც pgcc), ან გამოიყენოთ კომპილერის პარამეტრები, რომლებიც უკეთესად ოპტიმიზირებულია თქვენი პროცესორისთვის.
  • თუ თქვენ იპოვით შეცდომას და შეატყობინეთ მას MySQL-ის განვითარების გუნდს, თქვენ უნდა გამოგიგზავნოთ პატჩი, რომელიც უნდა იქნას გამოყენებული წყაროს კოდის განაწილებაზე, ხარვეზის გამოსასწორებლად.
  • თუ გსურთ წაიკითხოთ (და/ან შეცვალოთ) MySQL წყაროს კოდი (C და C++), თქვენ უნდა გქონდეთ წყარო კოდის განაწილება. წყაროს კოდი ყოველთვის საუკეთესო დოკუმენტაციაა. წყაროს დისტრიბუცია ასევე შეიცავს უფრო მეტ ტესტს და მაგალითს, ვიდრე ორობითი განაწილება.

MySQL-ის დასახელების სისტემა იყენებს გამოშვების ნომრებს, რომლებიც შედგება სამი ნომრისა და სუფიქსისგან. მაგალითად, mysql-3.21.17-beta გამოშვება ინტერპრეტირებულია შემდეგნაირად:

  • პირველი ნომერი (3) აღწერს ფაილის ფორმატს. ყველა ვერსიის 3 გამოშვებას აქვს ფაილის იგივე ფორმატი.
  • მეორე რიცხვი (21) წარმოადგენს გამომავალი დონეს. როგორც წესი, არსებობს ორი ვარიანტის არჩევანი. ერთი წარმოადგენს სტაბილური ტოტის გათავისუფლებას (ამჟამად 23) და მეორე წარმოადგენს ექსპერიმენტულ განშტოებას (ამჟამად 4.0). როგორც წესი, ორივე ფილიალი სტაბილურია, მაგრამ ექსპერიმენტულ ვერსიას შეიძლება ჰქონდეს გარკვეული უკუჩვენებები, შეიძლება არ ჰქონდეს დოკუმენტაცია ახალი ფუნქციებისთვის, ან შეიძლება არ შედგეს ზოგიერთ სისტემაზე.
  • მესამე ნომერი (17) არის ვერსიის ნომერი გამოშვების დონეზე. ეს რიცხვი იზრდება ყოველი ახალი განაწილებისთვის. როგორც წესი, აზრი აქვს უახლესი ვერსიის უპირატესობას არჩეული გამოშვების დონისთვის.
  • სუფიქსი (ბეტა) მიუთითებს მოცემული გამოშვების სტაბილურობის დონეს. შესაძლებელია შემდეგი სუფიქსები:
    • ალფა მიუთითებს, რომ გამოშვება შეიცავს ახალი კოდის დიდ ნაწილებს, რომლებიც არ არის 100% შემოწმებული. აღმოჩენილი შეცდომები (როგორც წესი, არ არსებობს) უნდა იყოს დოკუმენტირებული "ახალი ამბები" განყოფილებაში. იხილეთ ნაწილი D MySQL ცვლილებებისა და განახლებების ისტორია. ალფა გამოშვებების უმეტესობა ასევე შეიცავს ახალ ბრძანებებს და გაფართოებებს. ალფა გამოშვებაზე მუშაობისას შეიძლება იყოს აქტიური განვითარება, რომელიც მოიცავს კოდის მნიშვნელოვან ცვლილებებს, მაგრამ ყველაფერი ტესტირებამდე ხდება. MySQL-ის ნებისმიერი გამოშვება უნდა იყოს თავისუფალი ცნობილი შეცდომებისგან.
    • ბეტა ნიშნავს, რომ ყველა ახალი კოდი გამოცდილია. არ არის დამატებული ახალი თვისებები, რომლებმაც შეიძლება დაარღვიონ ძველი კოდი. არ უნდა იყოს ცნობილი შეცდომები. ვერსია იცვლება ალფადან ბეტაზე, როდესაც ალფა ვერსიაში კრიტიკული შეცდომების შესახებ ინფორმაცია არ ყოფილა სულ მცირე ერთი თვის განმავლობაში და ჩვენ არ ვაპირებთ რაიმე ახალი ფუნქციების დამატებას, რამაც შეიძლება შეამციროს წინა ბრძანებების სანდოობა.
    • გამა არის ბეტა ვერსია, რომელიც თითქმის დასრულებულია და როგორც ჩანს კარგად მუშაობს. დამატებულია მხოლოდ მცირე შესწორებები. ეს არის ზუსტად ის, რასაც მრავალი სხვა კომპანია უწოდებს გამოშვებას.
    • თუ არ არის სუფიქსი, ეს ნიშნავს, რომ ვერსია გაშვებულია მრავალ სხვადასხვა კომპიუტერულ სისტემაზე, შეცდომის გარეშე, გარდა პლატფორმის სპეციფიკური შეცდომებისა; ამისთვის დასაშვებია მხოლოდ კრიტიკული შეცდომების კორექტირება. ამიტომ ჩვენ ამ გამოშვებას სტაბილურს ვუწოდებთ.

MySQL-ის ყველა ვერსია გადის ჩვენი სტანდარტული ტესტებისა და საორიენტაციო ნიშნების უზრუნველსაყოფად მათი გამოყენების საიმედოობის უზრუნველსაყოფად. იმის გამო, რომ სტანდარტული ტესტები პერიოდულად გაფართოვდება, რათა შეიცავდეს გამოვლენილ ახალ შეცდომებს და სიტუაციებს, რამაც შეიძლება გამოიწვიოს ისინი, ტესტის ნაკრები დროთა განმავლობაში უკეთესი და უკეთესი ხდება.

გთხოვთ გაითვალისწინოთ, რომ ყველა გამოშვება შემოწმებულია მინიმუმ შემდეგი ტესტებით:

შიდა სატესტო კომპლექტი კომპლექტი არის მომხმარებლის წარმოების სისტემის ნაწილი. ეს ნაკრები მოიცავს ბევრ ცხრილს ასობით მეგაბაიტი მონაცემებით. MySQL Performance Test Suite ეს ტესტები მუშაობს ხშირად გამოყენებული მოთხოვნების კომპლექტზე. ისინი ასევე საშუალებას გაძლევთ ნახოთ, აჩქარებს თუ არა თქვენს კოდს უახლესი ოპტიმიზაციის პაკეტი. იხილეთ განყოფილება. crash-me test ტესტი ცდილობს დაადგინოს, რა ფუნქციონირებას უჭერს მხარს მონაცემთა ბაზა და რა არის მისი შესაძლებლობები და შეზღუდვები. იხილეთ ნაწილი 5.1.4 MySQL Benchmark Suite.

არის კიდევ ერთი ტესტი. ის შედგება იმისგან, რომ ჩვენ ვატარებთ MySQL-ის უახლეს ვერსიას ჩვენს შიდა წარმოების გარემოში მინიმუმ ერთ მანქანაზე. ჩვენ გვაქვს 100 გიგაბაიტზე მეტი მონაცემი ამ ვერსიასთან მუშაობისთვის.