Понедельник11 декабря
Интернет

Администрирование MySQL: как создать пользователя и определить его права

7 декабря 2017

Характерная особенность MySQL - собственная безопасность, рассчитывающая на внешнюю защиту. Как современная, полнофункциональная и эффективная система управления базами данных, MySQL имеет собственные инструменты для управления пользователями и их доступом к ресурсам, которые контролирует.

mysql создать пользователя

Если не знать правильные имя и пароль пользователя, доступ к базе данных через MySQL получить очень сложно.

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

Инсталляция сервера MySQL и пользователь root

В какой бы операционной среде ни была установлена система управления базами данных, в ней всегда есть хотя бы один пользователь: root. Установить MySQL, создать пользователя со всеми правами root - без этого работа с сервером невозможна. Привилегий этого пользователя достаточно, чтобы:

  • создавать и администрировать новых пользователей;
  • создавать базы данных и управлять ими.

mysql создать пользователя и дать права на базу

Принципиально возможно существование в MySQL "беспарольных" пользователей, но делать это недопустимо.

Обычная практика:

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

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

Собственные инструменты администрирования

Ощущение родственных отношений с семейством юниксоидов и с прошлым от серверов Apache - характерная черта MySQL: создать пользователя - это командная строка со странным синтаксисом. Для специалистов, работающих с Linux и ему подобными системами, это настолько же привычно, насколько дико выглядит в глазах пользователей Windows, которые никогда «не выходили в реальную жизнь».

Создание пользователя начинается с запуска командной строки сервера. В среде Windows это делается следующим образом.

mysql создать пользователя со всеми правами

Сначала (1) нужно запустить командную строку от имени администратора, затем перейти в папку, где находится MySQL (2), затем запустить сам сервер (3):

  • mysql -u... -p

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

Существенно: сервер на самом деле работает всегда, здесь mysql -u... -p - это команда для доступа к серверу, а не его запуск.

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

В любом случае, как только mysql запустился, он сообщит об этом приглашением (4):

  • mysql>

и можно будет работать как с пользователями, так и с базами данных.

Примечание. При установке в среде Windows всё: Apache, MySQL, PHP, phpMyAdmin можно ставить по default-путям, но рекомендуется использовать более компактные и близкие места размещения этих важных инструментов:

  • 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 создать пользователя для любого хоста

В данном примере командой create user был создан пользователь Petrov с паролем 123DFG. Если при вводе команды допускается ошибка, сервер предлагает её исправить, но лучше при работе в командной строке никогда ошибок не допускать!

Следующая команда grant all privileges дает все права на всё. Команду flush можно не давать, но она 'выталкивает' буфер команд, то есть закрепляет их исполнение.

MySQL: создать пользователя и дать права на базу

Команда, использованная в примере:

  • GRANT ALL PRIVILEGES ON *.* TO 'Petrov'@'localhost';

на самом деле открывает доступ для пользователя Petrov для всех баз данных (первая звёздочка) ко всем таблицам (вторая звёздочка).

mysql создать пользователя со всеми правами

По общему правилу MySQL, создать пользователя -это:

  • GRANT [тип привилегии] ON [название БД].[название таблицы] TO '[пользователь]'@'localhost';

Допускаются следующие привилегии:

  • ALL PRIVILEGES - все права.
  • CREATE - право создавать новые таблицы/базы данных.
  • DROP - право удалять таблицы/базы данных.
  • DELETE - право удалять информацию в таблицах.
  • INSERT - право записывать информацию в таблицы.
  • SELECT - право читать информацию из таблиц.
  • UPDATE - право обновлять информацию в таблицах.
  • GRANT OPTION - право работать с привилегиями других пользователей.

С практической точки зрения, в MySQL "создать пользователя" подразумевает три варианта прав:

  • все права на все базы и всех пользователей;
  • чтение и запись;
  • только чтение.

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

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

  • drop user 'Petrov'@'localhost';

После исполнения этой команды пользователя Petrov не станет и его привилегии пропадут. Для изменения привилегий используется команда:

  • REVOKE [привилегия] ON [БД].[Таблица] TO '[пользователь]'@'localhost';

Обычное действие в MySQL - создать пользователя или удалить и только, но изменение привилегий тоже допустимая операция (редко востребованная).

Использование phpMyAdmin

Существует множество реализаций этого замечательного инструмента. В зависимости от используемой версии Apache, PHP и MySQL часто приходится долго искать нужную версию этого продукта, но как только phpMyAdmin успешно установлен, у пользователя появляется много удобных возможностей и комфортный интерфейс.

mysql создать пользователя для любого хоста

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

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

О командной строке и безопасности

Безусловно, использование командной строки MySQL - малопривлекательное занятие, но следует иметь в виду, что в некоторых случаях только командная строка сервера может спасти базу данных или пользователя, обеспечить импорт или экспорт информации.

mysql создать пользователя для любого хоста

Версии программных продуктов так быстро развиваются, что разработчики просто не успевают совмещать возможности, например, PHP и MySQL, MySQL и phpMyAdmin. Если вдруг происходит какая-либо оказия, командная строка всегда спасет ситуацию.

Следует также никогда не забывать: администрирование MySQL касается только доступа к её базам данных и через её функционал. Файлы баз данных открыты для доступа вне MySQL. Внешняя защита MySQL и контролируемых ею ресурсов - реальная и важная необходимость.

Источник: fb.ru
Похожие материалы
О том, как создать нового пользователя в Windows 7 Компьютеры
О том, как создать нового пользователя в Windows 7

Персональный компьютер очень редко в действительности оказывается персональным. Обычно одним компьютером пользуются сразу несколько человек. Самая распространенная ситуация – один компьютер на семью. Конечно, многие, помимо ПК, имеют еще ноутбуки и планшеты, но все-таки некоторые вещи удобнее делать на компьютере. Как же в таком случае разделить уст...

Как создать канал на Компьютеры
Как создать канал на "Ютубе" и привлечь к нему внимание пользователей?

"Ютуб" – крупнейший видеохостинг в мире. На этом сервисе любой пользователь может загружать и просматривать видео, а также обмениваться им с другими людьми и даже создавать собственные каналы. Ежедневная аудитория сервиса составляет больше 800 миллионов человек. Ежеминутно на хостинг загружается примерно 72 часа видео, а количество ежедневных просмо...

Как создать базу данных mysql Компьютеры
Как создать базу данных mysql

Не столь важно, из-за чего вас заинтересовал вопрос о том, как создать базу данных mysql, гораздо важнее, есть ли у вас базовый набор знаний, без которого говорить об успешной реализации задуманного не приходится. В этом материале расскажу о том, какие действия необходимо предпринять любому владельцу ПК, если ему для каких-то целей понадобилось уст...

Признаки неисправности подушек двигателя, как определить неисправность Автомобили
Признаки неисправности подушек двигателя, как определить неисправность

Чтобы автомобиль пришел в движение, ему нужен двигатель. Данный агрегат устанавливается в передней части кузова (в большинстве случаев). Крепится он на подрамник либо на лонжероны. Однако вибрации, что отдает двигатель при работе, сильно отдаются на кузов. Чтобы их сгладить, его устанавливают посредством резиновых подушек. Они являются неким буфером. Со в...

Минимальная толщина тормозных колодок. Как определить износ тормозных колодок Автомобили
Минимальная толщина тормозных колодок. Как определить износ тормозных колодок

За безопасное торможение автомобиля отвечает тормозная система. От её исправности зависит эффективность и скорость остановки. Количество механизмов в тормозах достаточно большое, и все они должны работать как часы, ведь выход из строя одного повлечет за собой как минимум неприятные последствия. Давайте поговорим о том, какой должна быть минимальная толщин...

Раннее и позднее зажигание: признаки. Как определить раннее или позднее зажигание, какое лучше? Автомобили
Раннее и позднее зажигание: признаки. Как определить раннее или позднее зажигание, какое лучше?

От того, правильно ли выставлен момент зажигания, зависит эффективность и экономичность работы двигателя внутреннего сгорания. Выставление угла зажигания – это, по мнению многих автомехаников, наиболее важная операция в процессе настройки силового агрегата. Если неправильно выставить его, а он может быть как в сторону уменьшения, так и опережения, т...

Как определить реальный пробег: описание процедуры, рекомендации и отзывы Автомобили
Как определить реальный пробег: описание процедуры, рекомендации и отзывы

В связи с кризисом количество покупателей новых автомобилей заметно снизилась. С каждым днем спрос на поддержанные машины растет. Но не всегда такое транспортное средство соответствует заявленным характеристикам. Одна из таких – пробег. Часто недобросовестные продавцы его скручивают. Реальный пробег автомобиля или скрученный? Как определить его? Обо...

Как определить, что забит катализатор: признаки Автомобили
Как определить, что забит катализатор: признаки

Выхлопная система – неотъемлемая часть каждого автомобиля. С годами она усовершенствуется, и сейчас почти все авто снабжаются катализатором. Что это за элемент и как определить, что забит катализатор? Признаки неисправности и устройство элемента – далее в нашей статье.НазначениеПолное название элемента - каталитический нейтрали...

Как определить, какой подшипник ступицы гудит? Диагностика ходовой части автомобиля Автомобили
Как определить, какой подшипник ступицы гудит? Диагностика ходовой части автомобиля

Ступичный подшипник – один из важных элементов в автомобиле. При его отсутствии колеса попросту не будут вращаться. Данный элемент постоянно испытывает высокие нагрузки, поэтому его изготавливают только из качественных материалов. Но из-за больших пробегов автомобиля, а также по причине неправильной эксплуатации данная деталь может выйти из строя ра...

Как определить позднее или раннее зажигание? Регулировка момента зажигания Автомобили
Как определить позднее или раннее зажигание? Регулировка момента зажигания

Система зажигания состоит из источника электрической энергии, катушки, прерывателя либо блока управления, свечей и силовых кабелей. Назначение этого комплекса устройств – в нужное время с помощью искры производить воспламенение смеси воздуха и топлива, подаваемой в цилиндры двигателя внутреннего сгорания.Типы пусковых системКомплекс ...