MySQL ადმინისტრაცია: როგორ შევქმნათ მომხმარებელი და განვსაზღვროთ მისი უფლებები

Სარჩევი:

MySQL ადმინისტრაცია: როგორ შევქმნათ მომხმარებელი და განვსაზღვროთ მისი უფლებები
MySQL ადმინისტრაცია: როგორ შევქმნათ მომხმარებელი და განვსაზღვროთ მისი უფლებები
Anonim

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

mysql მომხმარებლის შექმნა
mysql მომხმარებლის შექმნა

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

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

დააინსტალირეთ MySQL სერვერი და მომხმარებლის root

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

  • ახალი მომხმარებლების შექმნა და ადმინისტრირება;
  • შექმენით და მართეთ მონაცემთა ბაზები.
mysql შექმენით მომხმარებელი და მისცეს უფლებები მონაცემთა ბაზას
mysql შექმენით მომხმარებელი და მისცეს უფლებები მონაცემთა ბაზას

ძირითადად შესაძლებელია "პაროლი" მომხმარებლების არსებობა MySQL-ში, მაგრამ ეს მიუღებელია.

საერთო პრაქტიკა:

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

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

საკუთარი ადმინისტრირების ხელსაწყოები

Unixoid-ის ოჯახთან და წარსულთან Apache სერვერების ნათესაობის გრძნობა MySQL-ის დამახასიათებელი ნიშანია: მომხმარებლის შექმნა არის ბრძანების ხაზი უცნაური სინტაქსით. Linux-სა და მსგავს სისტემებთან მომუშავე პროფესიონალებისთვის ეს ისეთივე ნაცნობია, როგორც ველური Windows-ის მომხმარებლების თვალში, რომლებიც არასოდეს შესულან რეალურ ცხოვრებაში.

მომხმარებლის შექმნა იწყება სერვერის ბრძანების ხაზის გაშვებით. Windows-ის გარემოში ეს კეთდება შემდეგნაირად.

mysql შექმენით მომხმარებელი ყველა უფლებით
mysql შექმენით მომხმარებელი ყველა უფლებით

ჯერ (1) თქვენ უნდა გაუშვათ ბრძანების ხაზი, როგორც ადმინისტრატორი, შემდეგ გადადით საქაღალდეში, სადაც მდებარეობს MySQL (2), შემდეგთავად გაუშვით სერვერი (3):

mysql -u… -p

აქ "-u…" და "-p" არის კლავიშები, რომლებიც მიუთითებენ სახელზე "…"=root (ან სხვა სახელი) და მისი პაროლი. პრინციპში, მომხმარებელი შეიძლება იყოს არა root, არამედ ის, რომელსაც აქვს "root" (ადმინისტრაციული) უფლებები.

მნიშვნელოვანია: სერვერი ფაქტობრივად ყოველთვის მუშაობს, აქ mysql -u… -p არის სერვერზე წვდომის ბრძანება და არა მისი გაშვებისთვის.

Linux-ის გარემოში და მსგავს სისტემებში, ასეთი ბრძანება არის "მშობლიური" მოქმედება და, როგორც წესი, განისაზღვრება მხოლოდ სწორ ადგილას (სწორ გზაზე) mysqld-ის გაშვებით, ეს უნდა შემოწმდეს ადმინისტრატორი. აქ ჩვეულებრივ სხვა სახელია: არა mysql, არამედ mysqld. ასევე აქ, ეს მოქმედება ყოველთვის არ არის ხელმისაწვდომი ყველა მომხმარებლისთვის (ოპერაციული სისტემის და არა MySQL სერვერის). Windows-ისგან განსხვავებით, Linuxoids-ში წესრიგი და უსაფრთხოება ბუნებრივი და შეუთანხმებელი მოთხოვნაა, რომელიც ყოველთვის ცივილიზებულად განიხილება.

ნებისმიერ შემთხვევაში, როგორც კი 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 შექმენით მომხმარებელი ნებისმიერი ჰოსტისთვის

ამ მაგალითში შექმნის მომხმარებლის ბრძანებამ შექმნა მომხმარებელი Petrov 123DFG პაროლით. თუ ბრძანების შეყვანისას დაშვებულია შეცდომა, სერვერი გვთავაზობს მის გამოსწორებას, მაგრამ უმჯობესია არასოდეს დაუშვათ შეცდომები ბრძანების ხაზზე მუშაობისას!

შემდეგი ბრძანება ანიჭებს ყველა პრივილეგიას, აძლევს ყველა უფლებას ყველაფერზე. flush ბრძანება შეიძლება გამოტოვდეს, მაგრამ ის 'აპარებს' ბრძანებების ბუფერს, ანუ ასწორებს მათ შესრულებას.

MySQL: შექმენით მომხმარებელი და მიანიჭეთ უფლებები მონაცემთა ბაზაზე

მაგალითში გამოყენებული ბრძანება:

მიენიჭეთ ყველა პრივილეგია. 'Petrov'@'localhost'-ს;

ფაქტობრივად ანიჭებს მომხმარებელს Petrov-ს წვდომას ყველა მონაცემთა ბაზაზე (პირველი ვარსკვლავი) ყველა ცხრილზე (მეორე ვარსკვლავი).

mysql შექმენით მომხმარებელი ყველა უფლებით
mysql შექმენით მომხმარებელი ყველა უფლებით

როგორც ზოგადი MySQL წესი, მომხმარებლის შექმნა არის:

GRANT [პრივილეგიის ტიპი] ON [მონაცემთა ბაზის სახელი]. [მაგიდის სახელი] '[მომხმარებლის]'@'localhost';

დაშვებულია შემდეგი პრივილეგიები:

  • ყველა პრივილეგია - ყველა უფლება.
  • CREATE - ახალი ცხრილების/მონაცემთა ბაზების შექმნის უფლება.
  • DROP - ცხრილების/მონაცემთა ბაზების ჩამოგდების უფლება.
  • წაშლა - ცხრილებიდან ინფორმაციის წაშლის უფლება.
  • INSERT - ინფორმაციის ჩაწერის უფლება ცხრილებზე.
  • SELECT - ცხრილებიდან ინფორმაციის წაკითხვის უფლება.
  • UPDATE - ინფორმაციის განახლების უფლება ცხრილებში.
  • GRANT OPTION - სხვა მომხმარებლების პრივილეგიებით მუშაობის უფლება.

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

  • ყველა უფლება ყველა მონაცემთა ბაზაზე და ყველა მომხმარებელს;
  • წკითხვა და დაწერა;
  • მხოლოდ წაკითხვა.

უფლებების მინიჭების სხვა ვარიანტები იშვიათად არის საჭირო. Linux-ის გარემოში გაცილებით მეტი საფუძველია "ლეგალური" თავისუფლებისთვის (და აუცილებლობისთვის), მაგრამ იქ ბევრად მეტი შესაძლებლობაა, ვიდრე Windows-ში.

MySQL "შექმენით მომხმარებლის" საპირისპირო ოპერაცია არის ვარდნა.

გააგდო მომხმარებელი 'Petrov'@'localhost';

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

გაუქმება [პრივილეგია] [DB]-ზე. [ცხრილი] '[მომხმარებლის]'@'localhost';

ჩვეული მოქმედება MySQL-ში არის მომხმარებლის შექმნა ან მისი წაშლა, მაგრამ პრივილეგიების შეცვლა ასევე სწორი ოპერაციაა (იშვიათად მოთხოვნადია).

phpMyAdmin-ის გამოყენება

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

mysql შექმენით მომხმარებელი ნებისმიერი ჰოსტისთვის
mysql შექმენით მომხმარებელი ნებისმიერი ჰოსტისთვის

phpMyAdmin-ის გამოყენებით, შეგიძლიათ უთხრათ MySQL-ს, შექმნას მომხმარებელი ნებისმიერი ჰოსტისთვის და მართოს არსებული მომხმარებლები თითქმის ქირურგიული გზით.

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

ბრძანების ხაზისა და უსაფრთხოების შესახებ

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

mysql შექმენით მომხმარებელი ნებისმიერი ჰოსტისთვის
mysql შექმენით მომხმარებელი ნებისმიერი ჰოსტისთვის

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

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

გირჩევთ: