Поиск по сайту:
Истина есть дочь времени, а не авторитета (Ф. Бэкон).

Создание нового пользователя в MySQL и предоставление разрешения базы данных MySQL

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
07.06.2017
Создание нового пользователя в MySQL и предоставление разрешения базы данных MySQL

В этой статье мы расскажем, как создать новые права доступа пользователей и привилегии для этого пользователя в MySQL. MySQL является реляционной базой данных с открытым исходным кодом, управляемая системой (СУБД), которая позволяет пользователям и приложениям сохранять, организовывать, и получить свои данные. Она имеет систему контроля доступа, которая состоит из разрешений, которые пользователи могут иметь в таблицах и базах данных, мы посмотрим на некоторые из вариантов этой системы контроля доступа описанные позже в этом руководстве.

Давайте начнем с входа в систему

Чтобы войти в нашу систему MySQL, мы используем следующую команду:

# mysql -u root -p

 

При выполнении этой команды мы говорим клиенту MySQL, что мы входим в с суперпользователем и указываем пароль пользователя.

Если вы не установили MySQL на сервере, вы можете проверить статью о том, как установить MySQL на Ubuntu 16.04.

Создание нового пользователя

Теперь, когда мы находимся внутри нашего сервера MySQL мы можем поручить MySQL, чтобы создать нового пользователя с помощью следующего запроса:

CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';

 

Совет: всегда используйте надежный пароль для всех учетных записей. Который Вы можете сгенерировать из командной строки.

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

CREATE USER 'new_user'@'10.20.30.111' IDENTIFIED BY 'password';

 

Допустим, мы хотим предоставить нашему новому пользователю права доступа, так что они могут считывать данные из всех баз данных на нашем сервере MySQL. Мы делаем это, введя следующую команду:

GRANT SELECT ON *.* TO 'new_user'@'localhost';

 

При выполнении запроса выше мы поручаем MySQL, дать нашему новому пользователю разрешения использовать команду SELECT, для чтения из базы данных на нашем сервере MySQL, мы использовали ключевое слово SELECT, для того, чтобы сделать это. GRANT SELECT, сообщает MySQL, что пользователь не будет иметь ничего, кроме разрешений на чтение данных из данной базы данных или баз данных. Предоставление разрешений, как правило, осуществляется в следующем формате:

GRANT <permission type> ON <database>.<table> TO '<username>'@'<host>';

 

Мы также можем поручить MySQL, забрать определенное разрешение от пользователя в том же формате, что и выше, только заменив ключевое слово GRANT на REVOKE и ключевое слово TO на FROM:

REVOKE <permission type> ON <database>.<table> FROM '<username>'@'<host>';

 

Примечание:
Звездочки, которые мы используем для позиций баз данных и таблиц в запросе выше, маска и соответствует любой базе данных или таблицы в зависимости от позиции.

Для того, чтобы наши новые установленные разрешения вступили в силу, нам нужно перезагрузить все привилегии:

FLUSH PRIVILEGES;
Вы можете оптимизировать свои базы данных MySQL с mysqlcheck. Узнайте, как сделать это здесь

Предоставление пользователям других видов разрешений

В предыдущем разделе мы видели, как предоставить разрешения на чтение для пользователя с помощью ключевого слова SELECT. В этом разделе мы рассмотрим другие ключевые слова, которые позволят устанавливать различные типы разрешений на пользователе.

  • USAGE – дает пользователю право доступа для входа на сервер MySQL (задается по умолчанию при создании нового пользователя)
  • SELECT – дает пользователю разрешение на использование команды выбора для извлечения данных из таблиц
  • INSERT – дает разрешение на добавление новых строк в таблицах
  • UPDATE – дает пользователю право изменять существующие строки в таблицах
  • DELETE – дает пользователю право удалять существующие строки из таблиц
  • CREATE – дает пользователю разрешение для создания новых таблиц или баз данных
  • DROP – дает пользователю право удалить существующие таблицы или базы данных
  • ALL PRIVILEGES – дает пользователю право иметь неограниченный доступ на базы данных или всей системы (с помощью звездочки в позиции базы данных)
  • GRANT OPTION – дает пользователю право разрешать или удалять разрешения других пользователей

Удаление пользователей осуществляется таким же образом, как и с базами данных или таблицами с помощью команды DROP:

DROP USER 'new_user'@'localhost';

 

Наконец, мы можем протестировать нашего нового пользователя, введите следующую команду для завершения текущего активного сеанса:

exit;

 

А потом мы снова войдем в систему, введя следующую команду в командной строке:

mysql -u new_user -p

 

Примечание:
Не забудьте заменить new_user на собственное необходимое имя пользователя.

Вот, теперь вы создали своего собственного пользователя в MySQL и дали ему соответствующие разрешения.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Спасибо!

Теперь редакторы в курсе.