MySQL ադմինիստրացիա. ինչպես ստեղծել օգտվող և սահմանել նրա իրավունքները

Բովանդակություն:

MySQL ադմինիստրացիա. ինչպես ստեղծել օգտվող և սահմանել նրա իրավունքները
MySQL ադմինիստրացիա. ինչպես ստեղծել օգտվող և սահմանել նրա իրավունքները
Anonim

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

mysql ստեղծել օգտվող
mysql ստեղծել օգտվող

Եթե չգիտեք ճիշտ օգտվողի անունը և գաղտնաբառը, MySQL-ի միջոցով տվյալների բազա մուտք գործելը շատ դժվար է:

Նորմալ հոսթինգի ռեժիմում սա բավական է: Չնախատեսված իրավիճակները, հաքերային հարձակումները և այլ անախորժությունները արտաքին համակարգի կառավարման և անվտանգության ծառայությունների խնդիրն է: Այս հայեցակարգը դարձել է ավանդական և գործնականում չի քննարկվում։

Տեղադրեք MySQL սերվերը և օգտվողի արմատը

Որ գործառնական միջավայրում էլ տեղադրված լինի տվյալների բազայի կառավարման համակարգը, այն միշտ ունի առնվազն մեկ օգտվող՝ root: Տեղադրեք MySQL-ը, ստեղծեք օգտատեր բոլոր արմատական իրավունքներով, առանց դրա՝ աշխատեքսերվերը հնարավոր չէ: Այս օգտվողի արտոնությունները բավարար են՝

  • ստեղծել և կառավարել նոր օգտվողներ;
  • ստեղծել և կառավարել տվյալների շտեմարաններ:
mysql-ը ստեղծում է օգտվող և տալիս է տվյալների բազայի իրավունքները
mysql-ը ստեղծում է օգտվող և տալիս է տվյալների բազայի իրավունքները

Սկզբունքորեն հնարավոր է «առանց գաղտնաբառ» օգտատերերի գոյությունը MySQL-ում, սակայն դա անընդունելի է:

Ընդհանուր պրակտիկա.

  • սերվեր տեղադրված է սեփական համակարգչում, որտեղ կարելի է տեղադրել հոսթինգ (տեղական տարբերակ);
  • սերվերը հանրային հոսթինգում է ինտերնետում:

Առաջին դեպքում հնարավոր է աշխատել սերվերի հետ հրամանի տողից և օգտագործել phpMyAdmin, երկրորդ դեպքում՝ միայն phpMyAdmin կամ նմանատիպ գործիք, սակայն հրամանի տող կարելի է մուտք գործել SSH հեռավոր մուտքի միջոցով։

Սեփական կառավարման գործիքներ

Unixoid ընտանիքի և Apache սերվերների անցյալի հետ հարազատության զգացումը MySQL-ի բնորոշ հատկանիշն է. user user-ը տարօրինակ շարահյուսությամբ հրամանի տող է: Linux-ի և նմանատիպ համակարգերի հետ աշխատող մասնագետների համար սա նույնքան ծանոթ է, որքան վայրի տեսք Windows-ի օգտատերերի աչքերում, ովքեր երբեք «իրական կյանք չեն մտել»:

Օգտատիրոջ ստեղծումը սկսվում է սերվերի հրամանի տողից: Windows միջավայրում դա արվում է հետևյալ կերպ.

mysql ստեղծել օգտվող բոլոր իրավունքներով
mysql ստեղծել օգտվող բոլոր իրավունքներով

Նախ (1) դուք պետք է գործարկեք հրամանի տողը որպես ադմինիստրատոր, այնուհետև գնացեք այն թղթապանակը, որտեղ գտնվում է MySQL (2), ապասկսել սերվերն ինքնին (3):

mysql -u… -p

այստեղ «-u…» և «-p» բանալիներ են, որոնք մատնանշում են «…» անունը (կամ այլ անուն) և դրա գաղտնաբառը: Սկզբունքորեն, օգտվողը կարող է լինել ոչ թե արմատ, այլ «արմատային» (ադմինիստրատիվ) իրավունքներ։

Կարևոր է. սերվերն իրականում միշտ աշխատում է, այստեղ mysql -u… -p-ը սերվեր մուտք գործելու, այլ ոչ թե այն սկսելու հրամանն է:

Լինուքսի միջավայրում և նմանատիպ համակարգերում նման հրամանը «հայրենի» գործողություն է և, որպես կանոն, որոշվում է պարզապես ճիշտ տեղում (ճիշտ ճանապարհին) գործարկելով mysqld-ը, սա պետք է ստուգվի ադմինիստրատորը։ Այստեղ սովորաբար այլ անուն կա՝ ոչ թե mysql, այլ mysqld: Նաև այստեղ, այս գործողությունը միշտ չէ, որ հասանելի է բոլոր օգտատերերին (օպերացիոն համակարգի, ոչ MySQL սերվերի): Ի տարբերություն Windows-ի, Linuxoid-ներում կարգը և անվտանգությունը բնական և անսակարկելի պահանջ են, որոնք միշտ քաղաքակիրթ կերպով են վերաբերվում:

Ամեն դեպքում, երբ mysql-ը գործարկվի, այն կհայտարարի այդ մասին հուշումով (4):

mysql>

և հնարավոր կլինի աշխատել և՛ օգտատերերի, և՛ տվյալների բազաների հետ:

Նշում. Windows միջավայրում տեղադրելիս ամեն ինչ՝ Apache, MySQL, PHP, phpMyAdmin, կարող է սահմանվել լռելյայն ուղիների, սակայն խորհուրդ է տրվում օգտագործել ավելի կոմպակտ և մոտ տեղակայումներ այս կարևոր գործիքների համար՝:

  • c:\SCiA\Apache;
  • c:\SCiA\PHP;
  • c:\SCiA\MySQL;
  • c:\SCiB\localhost\www\phpMyAdmin;
  • c:\SCiB\site1\www;
  • c:\SCiB\site2\www;
  • c:\SCiB\siteN\www\.

Այս տրամաբանությունը ոչ միայն կհեշտացնի կառավարումը, այլև կընդլայնի ծրագրավորողի կարողությունը՝ շարժվել արտադրանքի տարբերակների միջև և կառավարել դրանց ֆունկցիոնալությունը:

Աշխատում է MySQL հրամանի տողում

Հենց որ սերվերը պատասխանի և տրամադրի իր հրամանի տողը, օգտատերերին կարող են ստեղծվել և թույլտվություններ տալ:

mysql ստեղծել օգտվող ցանկացած հոսթի համար
mysql ստեղծել օգտվող ցանկացած հոսթի համար

Այս օրինակում create user հրամանը ստեղծեց Petrov օգտվողին 123DFG գաղտնաբառով: Եթե հրաման մուտքագրելիս սխալ է տեղի ունենում, սերվերն առաջարկում է ուղղել այն, բայց ավելի լավ է երբեք չսխալվել հրամանի տողում աշխատելիս:

Հետևյալ հրամանը տալիս է բոլոր արտոնությունները, տալիս է բոլոր իրավունքները ամեն ինչի համար: flush հրամանը կարող է բաց թողնել, բայց այն «թափում» է հրամանների բուֆերը, այսինքն՝ ուղղում է դրանց կատարումը:

MySQL. ստեղծեք օգտվող և տրամադրեք իրավունքներ տվյալների բազայի համար

Օրինակում օգտագործված հրաման՝

ՏՐԱՄԱԴՐԵԼ ԲՈԼՈՐ ԱՐՏՈՆՈՒԹՅՈՒՆՆԵՐԸ.-ին 'Petrov'@'localhost';

իրականում Petrov օգտատիրոջը տալիս է մուտք դեպի բոլոր տվյալների բազաները (առաջին աստղանիշ) դեպի բոլոր աղյուսակները (երկրորդ աստղանիշ):

mysql ստեղծել օգտվող բոլոր իրավունքներով
mysql ստեղծել օգտվող բոլոր իրավունքներով

Որպես ընդհանուր MySQL կանոն, օգտվող ստեղծելը հետևյալն է.

GRANT [արտոնությունների տեսակ] ON [տվյալների բազայի անունը]։[աղյուսակի անունը] «[user]'@'localhost';

Թույլատրվում են հետևյալ արտոնությունները՝

  • ԲՈԼՈՐ ԱՐՏՈՆՈՒԹՅՈՒՆՆԵՐԸ - բոլոր իրավունքները:
  • CREATE - նոր աղյուսակներ/տվյալների բազաներ ստեղծելու իրավունք:
  • DROP - աղյուսակներ/տվյալների բազաներ թողնելու իրավունք:
  • DELETE - աղյուսակներում տեղեկատվությունը ջնջելու իրավունք:
  • INSERT - աղյուսակներում տեղեկատվություն գրելու իրավունք:
  • SELECT - աղյուսակներից տեղեկատվություն կարդալու իրավունք:
  • UPDATE - աղյուսակներում տեղեկատվությունը թարմացնելու իրավունք:
  • GRANT OPTION - այլ օգտվողների արտոնություններով աշխատելու իրավունք:

Գործնական տեսանկյունից MySQL-ում «ստեղծել օգտվող» ենթադրում է իրավունքների երեք տարբերակ.

  • բոլոր իրավունքները բոլոր տվյալների բազաների և բոլոր օգտագործողների նկատմամբ;
  • կարդալ և գրել;
  • միայն կարդալու.

Իրավունքների տրամադրման այլ տարբերակներ հազվադեպ են պահանջվում: Linux միջավայրում շատ ավելի շատ հիմքեր կան «օրինական» ազատության (և անհրաժեշտության) համար, բայց այնտեղ շատ ավելի շատ հնարավորություններ կան, քան Windows-ում։

MySQL «ստեղծել օգտվողի» հակառակ գործողությունը անկում է:

թողնել օգտվողին 'Petrov'@'localhost';

Այս հրամանը կատարելուց հետո Պետրովն այլևս օգտատեր չի լինի, և նրա արտոնությունները կկորցնեն։ Արտոնությունները փոխելու համար օգտագործեք հրամանը՝

REVOKE [արտոնություն] ON [DB]-ում։[Աղյուսակ] «[user]'@'localhost';

Սովորական գործողությունը MySQL-ում օգտատեր ստեղծելն է կամ ջնջելը, սակայն արտոնությունները փոխելը նույնպես վավեր գործողություն է (հազվադեպ է պահանջվում):

Օգտագործելով phpMyAdmin

Այս հրաշալի գործիքի բազմաթիվ ներդրումներ կան: Կախված օգտագործվող Apache-ի, PHP-ի և MySQL-ի տարբերակից, հաճախ երկար ժամանակ է պահանջվում գտնել այս արտադրանքի ճիշտ տարբերակը, բայց երբ phpMyAdmin-ը հաջողությամբ տեղադրվի, օգտվողն ունի շատ հարմար հնարավորություններ և հարմարավետություն:ինտերֆեյս։

mysql ստեղծել օգտվող ցանկացած հոսթի համար
mysql ստեղծել օգտվող ցանկացած հոսթի համար

Օգտագործելով phpMyAdmin, դուք կարող եք ասել MySQL-ին, որ օգտատեր ստեղծի ցանկացած հոսթի համար և կառավարի առկա օգտվողներին գրեթե վիրահատական եղանակներով:

phpMyAdmin-ը հարմարավետ, ինտուիտիվ և հարուստ ինտերֆեյսով միակ գործիքը չէ, սակայն այն MySQL սերվերների կառավարման ամենատարածված գործիքն է:

Հրամանատարի և անվտանգության մասին

Իհարկե, MySQL հրամանի տող օգտագործելը ոչ գրավիչ վարժություն է, սակայն պետք է նկատի ունենալ, որ որոշ դեպքերում միայն սերվերի հրամանի տողը կարող է պահպանել տվյալների բազան կամ օգտագործողին, ապահովել տեղեկատվության ներմուծումը կամ արտահանումը:

mysql ստեղծել օգտվող ցանկացած հոսթի համար
mysql ստեղծել օգտվող ցանկացած հոսթի համար

Ծրագրային տարբերակներն այնքան արագ են զարգանում, որ մշակողները պարզապես ժամանակ չունեն համատեղելու, օրինակ, PHP-ի և MySQL-ի, MySQL-ի և phpMyAdmin-ի հնարավորությունները: Եթե ինչ-որ բան պատահի, հրամանի տողը միշտ կփրկի օրը:

Պետք չէ նաև մոռանալ. MySQL-ի կառավարումը միայն իր տվյալների բազաներ մուտք գործելու և դրա ֆունկցիոնալության միջոցով է: Տվյալների բազայի ֆայլերը բաց են MySQL-ից դուրս մուտք գործելու համար: MySQL-ի և նրա կողմից վերահսկվող ռեսուրսների արտաքին անվտանգությունն իրական և կարևոր կարիք է:

Խորհուրդ ենք տալիս: