MySQL administration: kung paano lumikha ng isang user at tukuyin ang kanyang mga karapatan

Talaan ng mga Nilalaman:

MySQL administration: kung paano lumikha ng isang user at tukuyin ang kanyang mga karapatan
MySQL administration: kung paano lumikha ng isang user at tukuyin ang kanyang mga karapatan
Anonim

Ang isang katangian ng MySQL ay ang sarili nitong seguridad, na umaasa sa panlabas na proteksyon. Bilang isang moderno, ganap na tampok at mahusay na database management system, ang MySQL ay may sariling mga tool para sa pamamahala ng mga user at ang kanilang access sa mga mapagkukunang kinokontrol nito.

mysql lumikha ng user
mysql lumikha ng user

Kung hindi mo alam ang tamang username at password, napakahirap i-access ang database sa pamamagitan ng MySQL.

Sa normal na hosting mode, ito ay sapat na. Ang mga hindi inaasahang sitwasyon, pag-atake ng hacker at iba pang mga problema ay isang bagay ng pangangasiwa ng panlabas na sistema at mga serbisyo sa seguridad. Ang konseptong ito ay naging tradisyonal at halos hindi tinatalakay.

I-install ang MySQL server at user root

Sa anumang operating environment na naka-install ang database management system, palagi itong mayroong kahit isang user: root. I-install ang MySQL, lumikha ng isang user na may lahat ng mga karapatan sa ugat - kung wala ito, magtrabaho kasamahindi pwede ang server. Ang mga pribilehiyo ng user na ito ay sapat upang:

  • lumikha at mangasiwa ng mga bagong user;
  • lumikha at mamahala ng mga database.
mysql lumikha ng isang gumagamit at magbigay ng mga karapatan sa database
mysql lumikha ng isang gumagamit at magbigay ng mga karapatan sa database

Sa pangkalahatan, posible para sa mga user na "walang password" na umiral sa MySQL, ngunit hindi ito katanggap-tanggap.

Karaniwang kasanayan:

  • server na naka-install sa sariling computer, kung saan maaaring i-install ang hosting (lokal na opsyon);
  • server ay nasa pampublikong pagho-host sa Internet.

Sa unang kaso, posible na magtrabaho kasama ang server mula sa command line at gumamit ng phpMyAdmin, sa pangalawang kaso, phpMyAdmin lamang o isang katulad na tool, ngunit ang command line ay maaaring ma-access sa pamamagitan ng remote SSH access.

Sariling mga tool sa pangangasiwa

Ang pakiramdam ng pagkakamag-anak sa pamilyang Unixoid at sa nakaraan mula sa mga server ng Apache ay isang tanda ng MySQL: ang create user ay isang command line na may kakaibang syntax. Para sa mga propesyonal na nagtatrabaho sa Linux at katulad na mga system, pamilyar ito dahil mukhang ligaw ito sa paningin ng mga user ng Windows na hindi pa "pumasok sa totoong buhay."

Nagsisimula ang paglikha ng user sa pagsisimula ng command line ng server. Sa isang kapaligiran sa Windows, ginagawa ito bilang mga sumusunod.

mysql lumikha ng user na may lahat ng karapatan
mysql lumikha ng user na may lahat ng karapatan

Una (1) kailangan mong patakbuhin ang command line bilang administrator, pagkatapos ay pumunta sa folder kung saan matatagpuan ang MySQL (2), pagkatapossimulan ang server mismo (3):

mysql -u… -p

dito ang "-u…" at "-p" ay mga susi na tumuturo sa pangalang "…"=ugat (o ibang pangalan) at password nito. Sa prinsipyo, maaaring hindi root ang isang user, ngunit isa na may mga karapatan sa "root" (administratibo).

Mahalaga: ang server ay talagang palaging tumatakbo, narito ang mysql -u… -p ay ang utos upang ma-access ang server, hindi simulan ito.

Sa isang Linux environment at mga katulad na system, ang naturang command ay isang "native" na aksyon at, bilang panuntunan, ay natutukoy sa pamamagitan lamang ng pagsisimula ng mysqld sa tamang lugar (sa tamang landas), dapat itong suriin gamit ang ang tagapangasiwa. Kadalasan mayroong ibang pangalan dito: hindi mysql, ngunit mysqld. Dito rin, ang pagkilos na ito ay hindi palaging magagamit sa lahat ng mga gumagamit (ng operating system, hindi ng MySQL server). Hindi tulad ng Windows, sa Linuxoids, ang kaayusan at seguridad ay isang natural at hindi mapag-usapan na pangangailangan, na palaging tinatrato sa isang sibilisadong paraan.

Sa anumang kaso, kapag nagsimula na ang mysql, iaanunsyo ito ng isang prompt (4):

mysql>

at magiging posible na magtrabaho kasama ang mga user at database.

Tandaan. Kapag nag-i-install sa isang kapaligiran sa Windows, lahat: Apache, MySQL, PHP, phpMyAdmin ay maaaring itakda sa mga default na landas, ngunit inirerekomendang gumamit ng mas compact at mas malapit na mga lokasyon para sa mahahalagang tool na ito:

  • 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\.

Ang logic na ito ay hindi lamang magpapasimple sa pangangasiwa, ngunit magpapalawak din ng kakayahan ng developer na lumipat sa pagitan ng mga bersyon ng produkto at pamahalaan ang kanilang functionality.

Gumagawa sa MySQL command line

Kapag ang server ay tumugon at nagbigay ng command line nito, ang mga user ay maaaring gumawa at magtalaga ng mga pahintulot.

mysql lumikha ng user para sa anumang host
mysql lumikha ng user para sa anumang host

Sa halimbawang ito, nilikha ng command na create user ang user na si Petrov gamit ang password na 123DFG. Kung nagkaroon ng error kapag naglalagay ng command, nag-aalok ang server na itama ito, ngunit mas mabuting huwag na lang magkamali kapag gumagawa sa command line!

Ang sumusunod na utos na ibigay ang lahat ng mga pribilehiyo ay nagbibigay ng lahat ng karapatan sa lahat. Maaaring tanggalin ang flush command, ngunit 'i-pop' nito ang buffer ng mga command, ibig sabihin, inaayos nito ang kanilang pagpapatupad.

MySQL: lumikha ng user at magbigay ng mga karapatan sa database

Utos na ginamit sa halimbawa:

BIGYAN ANG LAHAT NG MGA PRIBILIHE SA. SA 'Petrov'@'localhost';

aktwal na nagbibigay sa user ng Petrov ng access sa lahat ng database (unang asterisk) sa lahat ng table (pangalawang asterisk).

mysql lumikha ng user na may lahat ng karapatan
mysql lumikha ng user na may lahat ng karapatan

Bilang pangkalahatang tuntunin ng MySQL, ang paggawa ng user ay:

GRANT [uri ng pribilehiyo] SA [pangalan ng database].[pangalan ng talahanayan] SA '[user]'@'localhost';

Pinapayagan ang mga sumusunod na pribilehiyo:

  • LAHAT NG PRIBILEHIYO - lahat ng karapatan.
  • CREATE - ang karapatang gumawa ng mga bagong talahanayan/database.
  • DROP - ang karapatang mag-drop ng mga talahanayan/database.
  • DELETE - ang karapatang magtanggal ng impormasyon sa mga talahanayan.
  • INSERT - ang karapatang magsulat ng impormasyon sa mga talahanayan.
  • SELECT - ang karapatang magbasa ng impormasyon mula sa mga talahanayan.
  • UPDATE - ang karapatang mag-update ng impormasyon sa mga talahanayan.
  • GRANT OPTION - ang karapatang magtrabaho kasama ang mga pribilehiyo ng iba pang user.

Mula sa praktikal na pananaw, sa MySQL ang "lumikha ng user" ay nagpapahiwatig ng tatlong opsyon para sa mga karapatan:

  • lahat ng karapatan sa lahat ng database at lahat ng user;
  • magbasa at magsulat;
  • read only.

Ang iba pang mga opsyon para sa pagbibigay ng mga karapatan ay bihirang kailanganin. Sa kapaligiran ng Linux, marami pang batayan para sa "legal" na kalayaan (at pangangailangan), ngunit mas maraming pagkakataon doon kaysa sa Windows.

Ang reverse operation ng MySQL "create user" ay drop.

i-drop ang user na 'Petrov'@'localhost';

Pagkatapos isagawa ang utos na ito, hindi na magiging user si Petrov at mawawala ang kanyang mga pribilehiyo. Para baguhin ang mga pribilehiyo, gamitin ang command:

Bawiin ang [pribilehiyo] SA [DB].[Talahanayan] SA '[user]'@'localhost';

Ang karaniwang aksyon sa MySQL ay gumawa ng user o tanggalin iyon, ngunit ang pagpapalit ng mga pribilehiyo ay isa ring valid na operasyon (bihirang hiniling).

Paggamit ng phpMyAdmin

Maraming pagpapatupad ng napakagandang tool na ito. Depende sa bersyon ng Apache, PHP at MySQL na ginamit, madalas na tumatagal ng mahabang panahon upang mahanap ang tamang bersyon ng produktong ito, ngunit kapag matagumpay na na-install ang phpMyAdmin, ang user ay may maraming maginhawang tampok at komportable.interface.

mysql lumikha ng user para sa anumang host
mysql lumikha ng user para sa anumang host

Gamit ang phpMyAdmin, maaari mong sabihin sa MySQL na gumawa ng user para sa sinumang host at pamahalaan ang mga umiiral nang user sa malapit-surgical na paraan.

Ang phpMyAdmin ay hindi lamang ang tool na may kumportable, intuitive at feature rich interface, ngunit ito ang pinakasikat na tool para sa pangangasiwa ng mga MySQL server.

Tungkol sa command line at seguridad

Siyempre, ang paggamit ng MySQL command line ay isang hindi kaakit-akit na ehersisyo, ngunit dapat itong isipin na sa ilang mga kaso lamang ang command line ng server ang makakapag-save ng database o user, tiyakin ang pag-import o pag-export ng impormasyon.

mysql lumikha ng user para sa anumang host
mysql lumikha ng user para sa anumang host

Ang mga bersyon ng software ay napakabilis na umuusbong kaya't ang mga developer ay walang oras upang pagsamahin ang mga tampok ng, halimbawa, PHP at MySQL, MySQL at phpMyAdmin. Kung may mangyari, palaging maililigtas ng command line ang araw.

Hindi rin dapat kalimutan ng isa: Ang MySQL administration ay tungkol lamang sa pag-access sa mga database nito at sa pamamagitan ng functionality nito. Ang mga file ng database ay bukas para ma-access sa labas ng MySQL. Ang panlabas na pag-secure ng MySQL at ang mga mapagkukunang kinokontrol nito ay isang tunay at mahalagang pangangailangan.

Inirerekumendang: