muzruno.com

MySQL Administration: как да създадете потребител и да определите неговите права

Характерна черта на MySQL е нейната собствена сигурност, която се основава на външна защита. Като модерна, пълнофункционална и ефективна система за управление на бази данни, MySQL има свои собствени инструменти за управление на потребителите и техния достъп до ресурсите, които контролират.

mysql създавам потребител

Ако не знаете правилното потребителско име и парола, достъп до базата данни чрез MySQL стават много трудни.

В обичайния начин на хостинг това е достатъчно. Непредвидени ситуации, хакерски атаки и други проблеми са въпрос на външна система за управление и услуги за сигурност. Тази концепция стана традиционна и практически не се обсъжда.

Инсталиране на MySQL сървър и потребител на root

При всяка оперативна среда, в която е инсталирана системата за управление на бази данни, в нея винаги има поне един потребител: root. Инсталирайте MySQL, създайте потребител с всички права на root - без това не е възможно работа със сървъра. Правата на този потребител са достатъчни, за да:

  • създаване и администриране на нови потребители;
  • създаване и управление на бази данни.

mysql създава потребител и дава правата на базата данни

По принцип е възможно да има "без парола" потребители в MySQL, но това е недопустимо.

Обща практика:

  • сървърът е инсталиран на собствения си компютър, на който може да бъде доставен хостинг (локална версия);
  • сървърът е на публичен интернет хост.

В първия случай е възможно да работите със сървъра от командния ред и да използвате phpMyAdmin, във втория случай само phpMyAdmin или подобни, но имате достъп до командния ред чрез отдалечен SSH достъп.

Собствени средства за администриране

Усещането за семейните отношения с семейството на Unioxids и миналото от сървърите на Apache е характерна черта на MySQL: създаването на потребител е командния ред със странен синтаксис. За професионалисти, работещи с Linux и подобни системи, това е толкова често, колкото изглежда диво в очите на потребителите на Windows, които никога не са "влезнали в реалния живот".

Създаването на потребител започва от стартирането на сървъра за команден ред. В средата на Windows това се прави по следния начин.

mysql създава потребител с всички права

Първо (1) трябва да стартирате командния ред като администратор, след това отидете в папката, където се намира MySQL (2), след което стартирайте самия сървър (3):

  • mysql -u ... -p

тук "-u ..." и "-p" са ключове, които сочат към името "..." = root (или друго име) и неговата парола. По принцип потребителят може да не е корен, а който има "корен" (административни) права.

значително: сървърът всъщност работи винаги, тук mysql -u ... -p е командата за достъп до сървъра, а не за стартиране.

В Linux среда и подобни системи такава команда е "родно" действие и като правило се определя просто като се изпълнява mysqld на правилното място (по необходимия път), това трябва да бъде изяснено от администратора. Това обикновено е различно име: не mysql, а mysqld. Също така, това не винаги е достъпно за всички потребители (операционната система, а не MySQL сървъра). За разлика от Windows, в линусоидите редът и сигурността са естествено и не обсъдено изискване, към което винаги има цивилизовано отношение.

Във всеки случай, веднага щом стартира 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 създава потребител за всеки хост

В този пример, създаване на потребител е създаден потребител Petrov с парола 123DFG. Ако направите грешка при въвеждане на команда, сървърът предлага да го поправите, но е по-добре да работите по командния ред никога не правете грешки!

Следната команда, даване на всички привилегии, дава всички права на всичко. Не можете да дадете флаш командата, но тя "бута" буфера за команди, т.е. коригира тяхното изпълнение.

MySQL: създайте потребител и дайте права на базата данни

Командата, използвана в примера:

  • Даване на всички привилегии на *. * На "Petrov" @ "localhost";

всъщност дава достъп на потребителя Petrov за всички бази данни (първата звездичка) до всички таблици (втора звездичка).

mysql създава потребител с всички права

Като общо правило, MySQL, създаване на потребител е:

  • GRANT [тип привилегия] ON [име на базата данни]. [Име на таблицата] ДО "[user]" @ "localhost";

Разрешени са следните привилегии:

  • ВСИЧКИ ПРИВИЛЕГИИ - Всички права.
  • CREATE - правото да създавате нови таблици / бази данни.
  • DROP - правото да изтривате таблици / бази данни.
  • DELETE - правото да изтриете информация в таблици.
  • INSERT - правото да пишете информация в таблици.
  • SELECT - правото да чете информация от таблици.
  • UPDATE - правото да актуализира информацията в таблиците.
  • ОПЦИИ НА GRANT - правото да работи с привилегиите на други потребители.

От практическа гледна точка в MySQL "създаване на потребител" означава три варианта на права:

  • всички права върху всички бази данни и всички потребители;
  • четене и писане;
  • само за четене.

Останалите варианти за предоставяне на права са малко, когато се изискват. В средата на Linux-базирани системи има много повече основания за "правна" свобода (и необходимост), но има много повече възможности, отколкото в Windows.

Операцията, обратното на MySQL "създава потребител", е спад.

  • капка потребител "Petrov" @ "localhost";

След изпълнението на тази команда потребителят няма да стане Петров и неговите привилегии ще бъдат загубени. За да промените привилегиите, използвайте командата:

  • REVOKE [привилегия] ON [DB]. [Table] В "[user]" @ "localhost";

Обичайното действие в MySQL е да създадете потребител или да изтриете и само, но променящите се привилегии също е приемлива операция (рядко се изисква).

Използване на phpMyAdmin

Има много реализации на това чудесно средство. В зависимост от версията на Apache, PHP и MySQL, която използвате, често отнема много време, за да намерите правилната версия на този продукт, но след успешното инсталиране на phpMyAdmin потребителят има много удобни функции и удобен интерфейс.

mysql създава потребител за всеки хост

С phpMyAdmin можете да кажете на MySQL да създаде потребител за всеки хост и да управлява съществуващите потребители по почти хирургически методи.

phpMyAdmin не е единственият инструмент с удобен, интуитивен и многофункционален интерфейс, но е най-популярният инструмент за администриране на MySQL сървъри.

За командния ред и сигурността

Разбира се, използването на MySQL командния ред не е привлекателно упражнение, но трябва да имате предвид, че в някои случаи само командният ред на сървъра може да съхрани базата данни или потребителя, да осигури импортирането или експортирането на информация.

mysql създава потребител за всеки хост

Версиите на софтуерните продукти се развиват толкова бързо, че разработчиците просто нямат време да комбинират функции, например PHP и MySQL, MySQL и phpMyAdmin. Ако внезапно има възможност, командният ред винаги ще спаси ситуацията.

Не бива да забравяме и: администрацията на MySQL се отнася единствено до достъпа до бази данни и функционалността. Файловете на базата данни са отворени за достъп извън MySQL. Външната защита на MySQL и ресурсите, които контролира, е реална и важна необходимост.

Споделяне в социалните мрежи:

сроден