Ինչպես պարզել mysql տարբերակը ssh-ի միջոցով: MySQL ընտրված տարբերակը և ինչպես պարզել MySQL տարբերակը: Տեսահոսթինգի ակնարկ

MySQL-ը (հանդես է գալիս որպես Անվճար Հարաբերական տվյալների բազայի կառավարման համակարգ) կոմպակտ, բազմաթելային տվյալների բազայի սերվեր է, որն արագ է, կայուն և հեշտ օգտագործման համար:

Սկզբում մշակվել է TcX-ի կողմից՝ ներքին խնդիրների լուծման համար՝ մեծ տվյալների բազաների հնարավոր ամենաարագ մշակումը: Ներքին կերպով օգտագործվում է 1996 թվականից ի վեր ավելի քան 40 տվյալների բազա ունեցող սերվերի վրա, որոնք պարունակում են 10000 աղյուսակներ, որոնցից ավելի քան 500-ն ունեն ավելի քան 7 միլիոն տող:

Այսօր MySQL-ը մշակվում և աջակցվում է Oracle Corporation-ի կողմից, որը ձեռք է բերել Sun Microsystems-ը 2010 թվականի հունվարի 27-ին, որից հետո MySQL-ն ներառել է իր արտադրանքի շարքում։ Նախկինում (2008թ. փետրվարի 26) Sun Microsystems-ը վճարել էր 1 միլիարդ դոլար MySQL AB-ը գնելու համար: Ապրանքը տարածվում է ինչպես GNU Ընդհանուր հանրային լիցենզիայի, այնպես էլ իր սեփական առևտրային լիցենզիայի ներքո: Բացի այդ, մշակողները ստեղծում են ֆունկցիոնալություն լիցենզավորված օգտվողների խնդրանքով, հենց այս պատվերի շնորհիվ է, որ կրկնօրինակման մեխանիզմը հայտնվեց գրեթե ամենավաղ տարբերակներում:

MySQL-ն ամենաօպտիմալ լուծումն է փոքր և միջին ծրագրերի համար: Սերվերի աղբյուրները կազմված են բազմաթիվ հարթակներում: Սերվերի հնարավորություններն առավել ամբողջական կերպով դրսևորվում են Unix սերվերների վրա, որտեղ կա բազմաթելային աջակցություն, ինչը թույլ է տալիս զգալի բարձրացում կատարել: Ներառված է WAMP, AppServ, LAMP սերվերներում և դյուրակիր սերվերների կառուցումներում՝ Denver, XAMPP: MySQL-ը սովորաբար օգտագործվում է որպես տեղական կամ հեռավոր հաճախորդների կողմից հասանելի սերվեր, սակայն բաշխումը ներառում է հետին պլանային գրադարան, որը թույլ է տալիս 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 Network Management System նախագիծը՝ մոնիտորինգ և կառավարման համակարգ մեկ կամ մի քանի կետերից համակարգերի խմբի վրա: Ծրագրի հիմնական տարրը ցանցի բոլոր համակարգիչների մասին տեղեկատվությունը պահելու համար տվյալների բազա լինելն էր: Հյուզը նախ որոշեց օգտագործել Postgres-ը: Այնուամենայնիվ, գործընկերներն առաջարկեցին օգտագործել SQL որպես հարցման լեզու Minerva-ի համար, քանի որ SQL-ն ամենատարածված հարցման լեզուն է, և օգտագործելով այն, Minerva-ն կարող է հասանելի դառնալ մոլորակի ցանկացած կետում, որտեղ կա RDBMS, որն աջակցում է SQL-ին: Սա խթան հանդիսացավ MySQL-ի ստեղծման համար:

Հյուզը որոշեց ստեղծել ծրագիր, որն իրական ժամանակում կթարգմաներ SQL-ը PostQUEL: Նա իր ծրագիրն անվանեց miniSQL կամ mSQL: Այն գաղտնալսել է Minerva-ի կողմից ուղարկված SQL հայտարարությունները, դրանք վերածել PostQUEL-ի և արդյունքն ուղարկել Postgres-ին: Որոշ ժամանակ այս իրավիճակը սազում էր Հյուզին։ Այնուամենայնիվ, Minerva-ի հետագա աճի արդյունքում ակնհայտ դարձավ, որ սահմանափակ ռեսուրսների առկայության դեպքում ոչ Postgres-ը, ոչ էլ որևէ այլ խոշոր RDBMS չի կարողանա աջակցել իրեն անհրաժեշտ բնութագրերի փոքր շարքին: Օրինակ, Minerva-ին միաժամանակ մի քանի տվյալների բազաներին միացնելու հնարավորությունը կիրառելու համար Postgres-ը պահանջում էր տվյալների բազայի սերվերի մի քանի օրինակների միաժամանակյա գործարկում:

Այս խնդիրները լուծելու համար Հյուզը վերլուծեց Minerva-ի աշխատանքը, և պարզվեց, որ Minerva-ի կողմից առաջացած հիմնական հարցումներն են՝ «insert», «delete» և «select»: Քանի որ Հյուզն արդեն ուներ mSQL, որը կատարում էր SQL թարգմանությունը, նրան միայն անհրաժեշտ էր ստեղծել տվյալների բազայի սերվեր՝ իր կարիքներին համապատասխան:

Եվ հենց այստեղ է հայտնվում Մայքլ Մոնտի Վիդենիուսը, ով համարվում է MySQL-ի գյուտարարը։ 1979 թվականին նա մշակել է տվյալների բազայի կառավարման գործիք, որը կոչվում է UNIREG: Այնուհետև UNIREG-ը ընդլայնվեց՝ աջակցելու ավելի մեծ տվյալների բազաներին և վերաշարադրվեց մի քանի լեզուներով: 1994 թվականին TcX-ը սկսեց մշակել www հավելվածներ՝ օգտագործելով UNIREG: Այնուամենայնիվ, բարձր ծախսերի պատճառով UNIREG-ը չի կարող հաջողությամբ օգտագործվել վեբ էջերի դինամիկ ձևավորման համար: Ուստի, Widenius-ը որոշեց կապվել mSQL-ի հեղինակ Հյուզի հետ՝ առաջարկելու, որ նա միացնի mSQL-ը UNIREG-ի B+ ISAM կարգավորիչին: Այնուամենայնիվ, Հյուզը լավ առաջընթաց գրանցեց 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-ը, և ցանկացած սարքաշարի վրա մինչև հզոր սերվերներ: Ավելին, ինչպես իր ավելի թանկ մրցակիցները, այն կարող է մշակել մեծ տվյալների բազաներ, որոնք պարունակում են միլիոնավոր գրառումներ:

Անունը և լոգոն

Ինչ վերաբերում է անվանմանը, ապա դրա ծագման մի քանի վարկած կա. Առաջին տարբերակում ասվում է, որ «my» նախածանցի օգտագործումը բացատրվում է նրանով, որ TcX-ում բազային կատալոգը, ինչպես նաև գրադարանների և կոմունալ ծառայությունների զգալի քանակությունը տասը տարի նշանակվել են այս նախածանցով: Ուստի տրամաբանական էր այն օգտագործել այս դեպքում։

Երկրորդ տարբերակը՝ ավելի սենտիմենտալ, հիմնված է այն բանի վրա, որ Մայքլ Մոնտի Վիդենիուսը նոր արտադրանքն անվանել է MySQL՝ իր դստեր՝ My անունով։ Վիդենիուսի դստեր անունը իսկապես Իմ է, և նա ինքը չի հերքում ոչ առաջին, ոչ երկրորդ վարկածը:

MySQL-ի դելֆինի լոգոն կոչվում է «Sakila»: Այն ընտրվել է օգտատերերի կողմից առաջարկվող «դելֆինների անունների» մեծ ցուցակից։ «Սակիլա» անունը ներկայացրել է բաց կոդով ծրագրավորող Ամբրոզ Թվեբազեն։

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 օգոստոսի 7, 2012 թ.):

Տարբերակի պատմություն



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 տերմիններով՝ խառը կրկնօրինակում։
Պարբերաբար մեկնարկվող աշխատանքների ներկառուցված ժամանակացույց: Շարահյուսության առումով առաջադրանք ավելացնելը նման է աղյուսակին ձգան ավելացնելուն, գաղափարախոսության մեջ՝ crontab-ին:
XML մշակման գործառույթների լրացուցիչ փաթեթ, XPath-ի աջակցության իրականացում:
Խնդիրների ախտորոշման և կատարողականի վերլուծության նոր կոմունալ ծառայություններ: Ընդլայնվել են գրանցամատյանների բովանդակությունը կառավարելու հնարավորությունները, տեղեկամատյաններն այժմ կարող են պահպանվել general_log և slow_log աղյուսակներում: Mysqlslap կոմունալը թույլ է տալիս բեռնել տվյալների բազայի թեստը և գրանցել յուրաքանչյուր հարցման պատասխանի ժամանակը:
Թարմացման գործողությունը պարզեցնելու համար պատրաստվել է mysql_upgrade կոմունալ ծրագիրը, որը կստուգի առկա բոլոր աղյուսակները նոր տարբերակի հետ համատեղելիության համար և, անհրաժեշտության դեպքում, կկատարի համապատասխան ճշգրտումներ։
MySQL Cluster-ն այժմ թողարկվում է որպես առանձին արտադրանք՝ հիմնված MySQL 5.1-ի և NDBCLUSTER պահեստի վրա:
Էական փոփոխություններ MySQL Cluster-ի աշխատանքի մեջ, ինչպես, օրինակ, աղյուսակային տվյալները սկավառակի վրա պահելու հնարավորությունը:
Վերադարձեք ներկառուցված libmysqld գրադարանի օգտագործմանը, որը բացակայում էր MySQL 5.0-ում:
API հավելումների համար, որը թույլ է տալիս բեռնել երրորդ կողմի մոդուլներ, որոնք ընդլայնում են ֆունկցիոնալությունը (օրինակ՝ ամբողջական տեքստի որոնումը)՝ առանց սերվերը վերագործարկելու:
Ամբողջ տեքստի որոնման վերլուծիչի իրականացում որպես plug-in:
Մարիա սեղանի նոր տեսակը (MyISAM-ի վթարի դիմացկուն կլոն):

Մարիա սեղանի տեսակը

Մարիա (սկսած 5.2.x տարբերակից - Aria) - MyISAM պահեստի ընդլայնված տարբերակ՝ վթարից հետո տվյալների ամբողջականությունը պահպանելու գործիքների ավելացմամբ:
Մարիայի հիմնական առավելությունները.

Վթարի դեպքում ընթացիկ գործողության արդյունքները հետ են գլորվում կամ վերադարձվում են վիճակին՝ LOCK TABLES հրամանից առաջ: Իրականացում անտառահատումների միջոցով:
Գործողությունների գրանցամատյանի ցանկացած կետից վիճակը վերականգնելու ունակություն, ներառյալ CREATE/DROP/RENAME/TRUNCATE աջակցությունը: Կարող է օգտագործվել լրացուցիչ կրկնօրինակներ ստեղծելու համար՝ գործառնական մատյանի պարբերական պատճենման միջոցով:
MyISAM սյունակների բոլոր ձևաչափերի աջակցությունն ընդլայնվել է նոր «տողեր-բլոկում» ձևաչափով, որն օգտագործում է էջի վրա հիմնված տվյալների պահպանման մեթոդ, որով սյունակներում գտնվող տվյալները կարող են պահվել քեշում:
Հետագայում երկու ռեժիմ կիրականացվի՝ գործարքային և առանց արտացոլման գործարքների մատյանում՝ ոչ կարևոր տվյալների համար։
Տվյալների էջի չափը 8 ԿԲ է (MyISAM-ում 1 ԿԲ), ինչը թույլ է տալիս ավելի լավ կատարողականություն ունենալ ֆիքսված չափի դաշտերի ինդեքսների համար, բայց ավելի դանդաղ՝ փոփոխական երկարության ստեղների ինդեքսավորման դեպքում:

MySQL 5.5

MySQL 5.5 մասնաճյուղը հիմնված է չհրապարակված MySQL 5.4 շարքի վրա և պարունակում է մի շարք էական բարելավումներ՝ կապված լայնածավալության և կատարողականի բարձրացման հետ, այդ թվում՝
Լռելյայն օգտագործելով InnoDB շարժիչը:
Աջակցություն կիսասինխրոն կրկնօրինակման մեխանիզմին, որը հիմնված է Google-ի InnoDB-ի patches-ի վրա:
Բարելավված տվյալների բաժանման գործառույթը: Ընդլայնված շարահյուսություն՝ մեծ աղյուսակները մի քանի մասերի բաժանելու համար, որոնք տեղակայված են ֆայլային համակարգերում (բաժանում): Ավելացվեց RANGE, LIST գործողություններ և «բաժանման էտում» օպտիմալացման մեթոդ:
Ներդրված հարցումների և JOIN գործողությունների օպտիմալացման նոր մեխանիզմ:
Ներքին կողպման համակարգը վերանախագծվել է։
Google-ի patches-ը ինտեգրվել է InnoDB-ի աշխատանքը մեծ քանակությամբ միջուկներով պրոցեսորների վրա օպտիմալացնելու համար:

MySQL 6.0

MySQL 6.0 տարբերակը սառեցվել է ալֆա թեստավորման փուլում: Սկզբում որոշվեց ստեղծել 5.2 տարբերակը, շուտով այս տարբերակը վերանվանվեց 6.0։ Այնուամենայնիվ, ավելի ուշ MySQL 6.0-ի մասին տեղեկատվությունը անհետացավ կայքից, և մշակողները կենտրոնացան 5.5 և հետագա 5.6 տարբերակի վրա:
Նախատեսվում էր, որ 6.0 տարբերակի հիմնական նորամուծություններից մեկը լինի նոր Falcon սեղանի տեսակը, որը մշակվել է որպես Innobase-ի պոտենցիալ փոխարինող InnoDB-ի համար, որը ձեռք է բերել 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 բլոկ կամ տեքստային սյունակ:

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 Ver 14.14 Distrib 5.5.55, debian-linux-gnu (x86_64) համար, օգտագործելով readline 6.3

Վերնագրում տրված մեթոդն օգտագործելու համար անհրաժեշտ է ուղարկել SQL հարցում, դրա համար մուտք գործեք վահանակ (կարող եք դա անել նաև սկրիպտով):

Մուտքագրեք գաղտնաբառը.
Բարի գալուստ MySQL մոնիտոր: Հրամաններն ավարտվում են ; կամ\g.
Ձեր 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) նաև միջոցով apt-getտեղադրվում է նոր փաթեթ, այնուհետև բեռնվում են տվյալների բազայի աղբարկղերը

Անկանխատեսելի իրավիճակների դեպքում դուք միշտ պետք է ունենաք պատճեններ: Տարբեր տարբերակները օգտագործում են տարբեր հրահանգներ կազմաձևման ֆայլերում և կարող են պահանջել ձեռքով խմբագրում:

Կարդացեք, դրա օգնությամբ ստացվել է փաթեթի տարբերակը, նմուշառումը ամենատարածված գործողությունն է:

  • Անվտանգություն
  • Որակ
  • Գին
  • Հուսալիություն
  • Պարզություն
  • Կայունություն
  • Աջակցություն
  • Արագություն
  • Կառավարման վահանակ

ՀՏՀ օգնության բաժին

Տեսահոսթինգի ակնարկ

Ինչպես վերբեռնել սերվերը FTP-ում

ՈՒՇԱԴՐՈՒԹՅՈՒՆ.Ձեզ անհրաժեշտ է ընդամենը 3 թղթապանակ վերբեռնել ( զտիչներ, խաղային ռեժիմներ, սցենարային ֆայլեր) և 1 ֆայլ server.cfg, ապա գրեք տողը server.cfg-ում (եթե այն չկա) plugins streamer.so sscanf.so CRP.so mysql.so Դուք նաև պետք է համոզվեք, որ .amx ձևաչափով mod-ը գոյություն ունի gamemodes պանակում, և mod-ի անունը ճիշտ է գրված server.cfg-ում (config):

FileZilla հաճախորդ
Մուտքագրեք հյուրընկալող Օրինակ: 194.58.88.74 - մուտք *****- գաղտնաբառը******** ՊԱՇՏՊԱՆԻ ԴԱՇՏՈՒՄ ՈՉԻՆՉ ՄԻ ՄՏՆԵԼ!!!

ՈՒՇԱԴՐՈՒԹՅՈՒՆ.Եթե ​​FileZilla-ի միջոցով FTP-ի հետ կապ չկա, ներբեռնեք Total Commander-ը և միացեք դրա միջոցով:

Ընդհանուր հրամանատար- ձեր samp ֆայլերը FTP վերբեռնելու համար
Մուտքագրեք հյուրընկալող Օրինակ: 194.58.88.74 - մուտք 173104911- գաղտնաբառը g1KdN7D3q

Որտեղ մտնել. Պատասխան. գործարկեք Total Commander > Ցանց > Միացեք FTP սերվերին > Ավելացնել և այնուհետև մուտքագրեք ձեր տվյալները, ինչպես ցույց է տրված օրինակի սքրինշոթում.

Mod Unknown

Եթե ​​ձեր խաղային ռեժիմի դաշտում գրված է «անհայտ», ապա հետևեք հետևյալ քայլերին.
1. Նախ, անջատեք ձեր սերվերը
2. Գնացեք կառավարման վահանակ Սերվերի ընտրանքների ներդիրում > Կարգավորումներ
3. Ստորև ավելացրեք տող plugins streamer.so sscanf.so CRP.so mysql.so
Փոխեք հավելումների անվանումը, եթե ռեժիմն անհայտ է, օրինակ՝ plugins streamer.so sscanf.so CRP.so mysql.so վրա plugins 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-ում։

Ի՞նչ պետք է անեմ, եթե լրացնելուց հետո չկան սրբապատկերներ, տներ, բիզնեսներ և այլն:

Config-ում գրեք streamer2.5.so, պահպանեք և վերագործարկեք սերվերը:
Օրինակ:

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

Ինչպե՞ս պարզել plugin-ի տարբերակը:
Ձեր տեղական համակարգչում գործարկեք սերվերը, այնուհետև նայեք գրանցամատյանում, այնտեղ կնշվի plugin-ի տարբերակը, գրանցեք այս տարբերակը հոսթինգում սերվերի կոնֆիգուրայում:
Օրինակ:


Սերվերի պլագիններ
--------------
Բեռնվում է հավելված՝ streamer.so
*** Streamer Plugin v2.6.1 by Incognito բեռնված ***

Սա նշանակում է, որ սերվերի կազմաձևում դուք պետք է նշեք streamer2.6.1.so տարբերակը

Օգնություն - Մոդիմի միացում mysql սերվերին

Բացեք ռեժիմը (file.PWN) PAWNO ծրագրով, նշեք ձեր տվյալները MYSQL բաժնից


Օրինակ:

#define mysql_host «host.site»
#սահմանել mysql_db «s20000»
#define mysql_user «s20000»
#define mysql_pass «lazyrich»

Mod-ը .AMX-ում կազմելուց և sql հարցումը տվյալների բազա ներմուծելուց հետո

Ուշադրություն. Եթե ​​կազմման գործընթացում հայտնվում է անհայտը, ռեժիմը չի հայտնաբերվի:
Լուծումը սխալը շտկելու համար սկրիպտեր փնտրելն է:

Մոդի անունը փոխելու համար, ավելի ճիշտ՝ hostname պարամետրը, դուք պետք է մուտքագրեք սերվերի կառավարման վահանակը -Settings բաժնում (սա sever.cfg սերվերի կոնֆիգուրացիա է) և աջ կողմում գտնվող hostname տողում գրեք ձեր սերվերի անունը: , օրինակ՝ *** Մեր սերվերը լավագույնն է * **
Պահպանեք տվյալները վահանակում և համոզվեք, որ վերագործարկեք սերվերը, որպեսզի նոր պարամետրերն ուժի մեջ մտնեն:
Եթե ​​վերը նշված բոլորից հետո ձեր անունը չի փոխվել, ապա դուք պետք է անունը փոխեք հենց ռեժիմում PAWNO ծրագրով, և սա բոլորովին այլ պատմություն է, որը հասանելի է ինտերնետում:

Server.cfg









հարցում 1 – Մենք չենք փոխվում:

maxnpc 10 – Մենք չենք փոխվում:
onfoot_rate 40 – Մի փոխեք:
incar_rate 40 – Մենք չենք փոխում այն:
weapon_rate 40 – Մի փոխիր:




- պլագինների ստանդարտ գիծ samp կազմաձևման համար

Ինչպես ինքներդ ձեզ ադմինիստրատորի հաշիվ տալ

Գնացեք թղթապանակում գտնվող սերվեր scriptfiles, գտեք ձերը ՆԻԿ
Օրինակ՝ Aldo_Mangano, բացեք ֆայլը Notepad-ի միջոցով,
գտնել գիծը Admin Levelնշեք 1999, ապա պահեք ֆայլը և վերագործարկեք սերվերը:

Server.cfg

echo Գործարկվող սերվերի կազմաձևում…
lanmode 0 – 0 – խաղ ինտերնետով, 1 – խաղ լոկալ ցանցով:
rcon_password 123 – «123» – գաղտնաբառ սերվերի ադմինիստրատորի վահանակից:
maxplayers 50 – Ինչպես արդեն հասկացաք, առավելագույն թիվը խաղացողներն են: 0.3a տարբերակում, առավելագույնը 500:
նավահանգիստ 7777 – Ձեր սերվերի հասցեի վերջում ցուցադրվող նավահանգիստը: (Հոսթինգի վրա այն բացահայտվում է իրեն)
hostname NameServer – Ձեր ապագա սերվերի անունը:
gamemode0 ռեժիմ – Խաղի ռեժիմ ձեր ապագա սերվերի համար: Այս մասին ավելին ստորև...
հայտարարել 0 – 1 սերվերը տեսանելի է ինտերնետ ներդիրում / 0 տեսանելի չէ:
հարցում 1 – Մենք չենք փոխվում:
weburl կայք – Սերվերի կայք, եթե առկա է:
maxnpc 10 – Մենք չենք փոխվում:
onfoot_rate 40 – Մի փոխեք:
incar_rate 40 – Մենք չենք փոխում այն:
weapon_rate 40 – Մի փոխիր:
stream_distance 300.0 – Մի փոխիր:
stream_rate 1000 – Մի փոխիր:
գաղտնաբառը - your_password (գաղտնաբառով սերվեր)
լեզուն Ռուսաստան - քարտեզ 0.3.7-ի համար քարտեզի տեղում
plugins streamer.so sscanf.so CRP.so mysql.so regex.so dc_cmd.so CVector.so nativechecker.so- պլագինների ստանդարտ գիծ samp կազմաձևման համար

MySQL 5.6 տարբերակի կայուն թողարկման թողարկում: Նոր տարբերակում մեծ աշխատանք է կատարվել։ Հիմնական ջանքերն ուղղված էին կատարողականի, մասշտաբայնության և ճկունության բարելավմանը: InnoDB շարժիչը զգալի փոփոխություններ է կրել:

Հիմնական բարելավումները ներառում են. ամբողջական տեքստի որոնման գործիքների աջակցություն, memcached 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 ֆայլում նույնականացման պարամետրերը գաղտնագրված ձևով նշելու համար; SHA-256 ալգորիթմի միջոցով գաղտնաբառի հեշերը պահելու համար sha256_password հավելվածի ավելացում; 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 տարբերակի երկուական բաշխումը նշվում է -max վերջածանցով և կազմաձևված է նույն ընտրանքներով, ինչ mysqld-max-ը: Տես բաժին 4.7.5 mysqld-max, ընդլայնված mysqld սերվեր: Եթե ​​ցանկանում եք օգտագործել MySQL-Max RPM փաթեթը, նախ պետք է տեղադրեք ստանդարտ MySQL RPM փաթեթը:
  • Եթե ​​Ձեզ անհրաժեշտ է կարգավորել mysqld-ը որոշ լրացուցիչ հնարավորություններով, որոնք հասանելի չեն ստանդարտ երկուական բաշխումներում: Ստորև բերված է ամենատարածված լրացուցիչ ընտրանքների ցանկը, որոնք դուք կարող եք օգտագործել.
    • ---ի հետ-իննոդբ
    • ---ի հետ-berkeley-db
    • -- արշավանքով
    • --with-libwrap
    • --with-named-z-lib (Սա արվում է որոշ երկուական բաշխումների համար)
    • --with-debug[=full]
  • Լռելյայնորեն, երկուական բաշխումը սովորաբար կազմվում է բոլոր կոդավորումների աջակցությամբ և պետք է աշխատի նույն պրոցեսորների ընտանիքի տարբեր պրոցեսորների վրա: Եթե ​​ցանկանում եք ավելի արագ MySQL սերվեր ունենալ, կարող եք այն վերակազմավորել՝ աջակցելու միայն ձեզ անհրաժեշտ կոդավորմանը, օգտագործել ավելի լավ կոմպիլյատոր (ինչպես pgcc) կամ օգտագործել կոմպիլյատորի տարբերակներ, որոնք ավելի լավ օպտիմիզացված են ձեր պրոցեսորի համար:
  • Եթե ​​գտնեք սխալ և զեկուցեք դրա մասին MySQL-ի մշակման թիմին, ձեզ պետք է ուղարկվի մի կարկատ, որը պետք է կիրառվի սկզբնական կոդի բաշխման վրա՝ սխալը շտկելու համար:
  • Եթե ​​ցանկանում եք կարդալ (և/կամ փոփոխել) MySQL-ի սկզբնական կոդը (C և C++), դուք պետք է ունենաք աղբյուրի կոդերի բաշխում: Աղբյուրի կոդը միշտ լավագույն փաստաթուղթն է: Աղբյուրի բաշխումները նույնպես պարունակում են ավելի շատ թեստեր և օրինակներ, քան երկուական բաշխումները:

MySQL-ի անվանման համակարգը օգտագործում է թողարկման համարներ, որոնք բաղկացած են երեք թվերից և վերջածանցից։ Օրինակ, mysql-3.21.17-բետա թողարկումը մեկնաբանվում է հետևյալ կերպ.

  • Առաջին համարը (3) նկարագրում է ֆայլի ձևաչափը: Բոլոր 3 տարբերակի թողարկումներն ունեն նույն ֆայլի ձևաչափը:
  • Երկրորդ թիվը (21) ներկայացնում է ելքային մակարդակը: Սովորաբար կա երկու հնարավորությունների ընտրություն. Մեկը ներկայացնում է կայուն ճյուղի թողարկումը (ներկայումս 23), իսկ երկրորդը ներկայացնում է փորձնական ճյուղը (ներկայումս 4.0): Սովորաբար երկու ճյուղերն էլ կայուն են, բայց փորձնական տարբերակը կարող է ունենալ որոշ տարօրինակություններ, կարող է բացակայել նոր հնարավորությունների համար փաստաթղթերը կամ որոշ համակարգերում չկազմվել:
  • Երրորդ համարը (17) տարբերակի համարն է թողարկման մակարդակում: Այս թիվը աճում է յուրաքանչյուր նոր բաշխման համար: Սովորաբար իմաստ ունի նախընտրել վերջին տարբերակը ընտրված թողարկման մակարդակի համար:
  • Վերջածանցը (բետա) ցույց է տալիս տվյալ թողարկման կայունության մակարդակը: Հնարավոր են հետևյալ վերջածանցները.
    • ալֆան ցույց է տալիս, որ թողարկումը պարունակում է նոր կոդի մեծ բաժիններ, որոնք 100% փորձարկված չեն: Հայտնաբերված սխալները (սովորաբար չկան) պետք է փաստաթղթավորվեն «Նորություններ» բաժնում: Տե՛ս բաժին D MySQL փոփոխությունների և թարմացումների պատմություն: Ալֆա թողարկումների մեծ մասը ներառում է նաև նոր հրամաններ և ընդարձակումներ: Ալֆա թողարկման վրա աշխատելիս կարող է լինել ակտիվ զարգացում, որը ներառում է կոդի զգալի փոփոխություններ, բայց ամեն ինչ փորձարկվում է մինչև թողարկումը: MySQL-ի ցանկացած թողարկում պետք է զերծ լինի հայտնի սխալներից:
    • բետա նշանակում է, որ բոլոր նոր ծածկագիրը փորձարկվել է: Նոր հատկություններ չեն ավելացվել, որոնք կարող են կոտրել հին կոդը: Հայտնի սխալներ չպետք է լինեն: Տարբերակը փոխվում է ալֆայից բետա, երբ ալֆա տարբերակի կրիտիկական սխալների մասին հաղորդումներ չեն եղել առնվազն մեկ ամիս, և մենք չենք նախատեսում ավելացնել որևէ նոր հնարավորություն, որը կարող է նվազեցնել նախորդ հրամանների հուսալիությունը:
    • gamma-ն բետա տարբերակ է, որը գրեթե ավարտված է և կարծես թե լավ է աշխատում: Ավելացվում են միայն աննշան ուղղումներ: Սա հենց այն է, ինչ շատ այլ ընկերություններ անվանում են թողարկում:
    • Եթե ​​չկա վերջածանց, դա նշանակում է, որ տարբերակը գործարկվել է բազմաթիվ տարբեր համակարգչային համակարգերի վրա, առանց պլատֆորմի հատուկ սխալների, բացառությամբ այլ սխալի հաղորդագրությունների. դրա համար թույլատրվում է միայն կրիտիկական սխալների ուղղումը: Ահա թե ինչու մենք այս թողարկումն անվանում ենք կայուն։

MySQL-ի բոլոր տարբերակները ենթարկվում են մեր ստանդարտ թեստերի և հենանիշերի՝ համոզվելու, որ դրանք հուսալի են օգտագործման համար: Քանի որ ստանդարտ թեստերը պարբերաբար ընդլայնվում են՝ ներառելով հայտնաբերված նոր վրիպակների և այն իրավիճակների թեստավորումը, որոնք կարող են առաջացնել դրանք, թեստային փաթեթը ժամանակի ընթացքում ավելի ու ավելի լավանում է:

Խնդրում ենք նկատի ունենալ, որ բոլոր թողարկումները փորձարկվում են առնվազն հետևյալ թեստերով.

Ներքին փորձարկման փաթեթ Սյուիտը հաճախորդի արտադրական համակարգի մի մասն է: Այս հավաքածուն ներառում է հարյուրավոր մեգաբայթ տվյալների բազմաթիվ աղյուսակներ: MySQL Performance Test Suite Այս թեստերն աշխատում են մի շարք սովորաբար օգտագործվող հարցումների վրա: Նրանք նաև թույլ են տալիս տեսնել, թե արդյոք վերջին օպտիմալացման փաթեթը իրականում ձեր կոդը ավելի արագ է դարձնում: Տես բաժինը: crash-me test Թեստը փորձում է որոշել, թե ինչ գործառույթներ է աջակցում տվյալների բազան և որոնք են դրա հնարավորություններն ու սահմանափակումները: Տես բաժին 5.1.4 MySQL Benchmark Suite-ը:

Կա ևս մեկ փորձություն. Այն բաղկացած է նրանից, որ մենք գործարկում ենք MySQL-ի վերջին տարբերակը մեր ներքին արտադրական միջավայրում առնվազն մեկ մեքենայի վրա: Մենք ունենք ավելի քան 100 գիգաբայթ տվյալներ այս տարբերակի հետ աշխատելու համար: