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

Как создать пользователя MySQL

По умолчанию в MySQL будет только один пользователь — root. Это администратор c доступом ко всем базам данных и таблицам внутри этих баз.

В этой статье покажем, как создать нового пользователя MySQL и присвоить ему права доступа при помощи командной строки.

Это удобно, если нужно дать доступ к конкретной таблице другому человеку, но с ограниченными правами. Например, чтобы он мог её редактировать, но не мог удалить.

Что внутри

Подключиться к серверу и зайти в MySQL

Сначала подключитесь к серверу по SSH. Обычно хостинг-провайдеры присылают логин и пароль для подключения в письме об активации хостинга. У нас это письмо называется по-разному в зависимости от типа хостинга: «Ваш виртуальный хостинг готов к использованию», «Это ваш VPS готов?» или «Выделенный сервер заказывали?».

После подключения к серверу авторизуйтесь как root пользователь MySQL с помощью команды:

Создать пользователя MySQL

В другой нашей статье мы показали, как создать базу данных MySQL. Ради примера создали в ней таблицу со списком товаров для книжного магазина. Предположим, что нужно передать управление таблицей другому человеку. Ему нужно создать нового пользователя MySQL. Используйте для этого команду CREATE USER с таким синтаксисом:

CREATE USER “ имя_пользователя “@” хост ” IDENTIFIED BY “ пароль “;

Параметр «хост» в команде означает устройство, с которого человек сможет подключаться к серверу MySQL. Здесь вы можете использовать несколько вариантов:

  • localhost. Означает, что доступ к MySQL появится у пользователя только после того, как он подключится к серверу;
  • IP-адрес устройства в сети, с которого человек будет подключаться к MySQL;
  • %. Означает, что у пользователя будет доступ к MySQL с любого устройства.

В последних двух вариантах дополнительно подключаться к серверу не понадобится, но придётся сначала разрешить удалённые подключения в настройках MySQL.

Если не знаете, какой хост указать, используйте localhost. Это самый безопасный вариант. Придётся дополнительно подключаться к серверу, но зато злоумышленникам будет сложнее получить доступ к базе данных.

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

Настроить права доступа

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

GRANT ПРИВИЛЕГИЯ , ПРИВИЛЕГИЯ ON база_данных . таблица TO “ имя_пользователя “@” хост “;

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

Вот список часто используемых привилегий:

  • ALL — дать все права к базе данных, кроме GRANT OPTION. Если вы не укажете название конкретной базы данных, пользователь получит полный доступ ко всему MySQL-серверу;
  • CREATE — право создавать новые базы данных и таблицы;
  • DELETE — право удалять строки из таблицы;
  • DROP — право удалять базы данных или таблицы;
  • GRANT OPTION — право назначать или отбирать права. Но получится дать или отобрать только те права, которыми владеет использующий команду пользователь;
  • INSERT — право создавать строки в таблице;
  • SELECT — право просматривать строки в таблицах;
  • UPDATE — право менять содержание строк в таблицах.

Теперь давайте предоставим нашему пользователю bookstore_administrator привилегии на создание таблиц в базе данных bookstore. А также разрешим добавлять записи в эти таблицы:

Звёздочка в нашем примере означает «все таблицы внутри базы данных bookstore». Вы также можете заменить имя базы данных на звездочку, чтобы присвоить пользователю права для всех баз данных на сервере.

Читайте также:  Форматирование диска при установке linux

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

Теперь посмотрим, какие доступы есть у bookstore_administrator:

Результат будет таким:

Если же через время вашему пользователю понадобятся дополнительные привилегии, добавьте их при помощи той же команды. Допустим, мы хотим дать пользователю bookstore_administrator все права.

Перезагружаем привилегии командой FLUSH PRIVILEGES и проверяем командой SHOW GRANTS:

Забрать права доступа

Если привилегии нужно наоборот забрать, запустите команду REVOKE:

REVOKE ПРИВИЛЕГИЯ ON база_данных . таблица FROM “ имя_пользователя “@” хост “;

Допустим, нам нужно забрать у пользователя bookstore_administrator право удалять таблицы в базе данных bookstore. Тогда команда будет такой:

Не забудьте после этого снова перезагрузить привилегии командой FLUSH PRIVILEGES.

Удалить пользователя MySQL

Чтобы удалить пользователя MySQL, используйте команду DROP USER:

DROP USER “ имя_пользователя “@” хост “;

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

Выйти из MySQL

В конце работы отключитесь от MySQL-сервера с помощью команды:

Создание нового пользователя и настройка прав доступа в MySQL

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

Давайте выясним, чем же она хороша и как с ней работать.

База данных MySQL: что это такое и в чем ее преимущества

MySQL – это реляционная система управления базами данных с открытым исходным кодом, написанная на языках программирования C и C++. Благодаря ей можно оптимизировать работу сайта или мобильного/десктопного приложения.

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

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

Если вести крупный ресурс без БД, то на это будет уходить очень много времени и средств. Базы данных группируют и упорядочивают информацию, упрощают получение доступа к ней. Чтобы администрировать такой большой поток данных, используются СУБД: MySQL, Microsoft SQL Server, PostgreSQL и другие.

MySQL хранит всю информацию в табличном виде. Извлечь данные из одной или нескольких таблиц можно с помощью запроса. Запросы в MySQL – это то, на чем все строится, с их помощью можно выполнять всевозможные операции с данным.

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

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

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

  • быстрая скорость доступа и обработки данных;
  • надежная защита информации;
  • простота использования;
  • совместимость с Windows и Linux;
  • бесплатность;
  • возможность контролировать доступ к данным и учетным записям;
  • шифрование паролей.

На этом с теоретической частью закончим.

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

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

Вариант 1: с помощью phpMyAdmin

Нам потребуется phpMyAdmin – приложение для работы с базой данных, которое обычно по умолчанию предустановлено на хостинге либо локальном сервере.

Читайте также:  Восстановление файлов реестра для windows

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

  1. На главной странице через верхнее правое меню переходим во вкладку «Учетные записи пользователей». Затем выбираем «Добавить учетную запись пользователя».
  2. Следующим шагом вводим новое имя пользователя и хоста, прописываем пароль. В завершение жмем на кнопку «Генерировать».
  3. Теперь нам потребуется задать привилегии для нового пользователя. Если вы хотите установить доступ только для определенных баз данных, то можете пропустить этот пункт – просто нажмите на кнопку «Вперед», расположенную внизу страницы.
  4. Будет добавлен новый пользователь с указанным именем.

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

Вариант 2: через консоль

Если вы подключаетесь к серверу по SSH, то этот способ для вас. Нам потребуется выполнить несколько команд:

Первым дело активируем сервер базы данных:

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

В кавычках потребуется изменить следующие данные: user – имя пользователя, pswrd – пароль.

Пока что пользователь не имеет разрешений, а значит, не может получить доступ к MySQL. Для решения такой проблемы пропишем еще одну строчку кода:

Мы выдали указанному пользователю все доступные права. Осталось сохранить внесенные изменения с помощью команды:

Готово! Теперь вы знаете, как создать нового пользователя в MySQL с правами доступа root.

Права доступа

В MySQL выделяют следующие права доступа:

  • ALL PRIVILEGES – предоставляет полный доступ к выбранной БД;
  • CREATE – разрешает пользователям создавать новые БД;
  • SELECT – разрешает делать выборку данных;
  • INSERT – позволяет вносить новые записи в таблицы;
  • UPDATE – разрешает менять ранее созданные записи в таблицах;
  • DELETE – разрешает удалять записи из таблиц;
  • DROP – дает возможность удалять записи в БД;
  • GRANT OPTION – позволяет пользователю предоставлять или отзывать права других пользователей.

Как изменить права доступа в MySQL

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

Способ 1: через phpMyAdmin

Изменяем права доступа:

  1. Открываем phpMyAdmin и переходим в раздел «Учетные записи пользователей» – там находим нужного пользователя и напротив него нажимаем на кнопку «Редактировать привилегии».
  2. Следующим шагом перемещаемся в подраздел «База данных» и выбираем базу данных, для которой нужно установить доступ. Затем нажимаем «Вперед».
  3. После этого перед нами отобразится еще одно окно со всевозможными привилегиями. Если вы хотите выдать все права доступа, то в верхней части нажмите на кнопку «Отметить все». В противном случае укажите необходимые привилегии и нажмите на кнопку «Вперед».

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

Вариант 2: в терминале

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

Значения внутри скобок необходимо заменить:

  • наименование БД – указываем базу данных;
  • наименование таблицы – указываем имена таблиц, к которым необходимо выдать доступ, прописываем .*, чтобы разрешить доступ ко всем таблицам;
  • права — указываем тип прав, рассмотренный ранее;
  • user – имя пользователя.

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

Если нужно удалить права у выбранного пользователя:

Забрать все права:

Полностью удалить пользователя можно командой:

Как посмотреть права доступа в MySQL

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

На этом моя статья подходит к концу. Надеюсь, что создать нового пользователя в MySQL для вас больше не проблема. Спасибо за внимание!

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

После того, как вы установили и настроили MySQL, вам необходимо создать базы данных, таблицы и пользователей. Конечно, вы можете сделать это от имени суперпользователя root, но это не безопасно. Да и большинство приложений не позволят вам такой вольности, например, Phpmyadmin не даст авториrзоваться от имени суперпользователя.

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

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

1. Как создать пользователя MySQL

Предположим, что база данных уже создана и называется test_database. Нам нужно открыть клиент базы данных. Для этого наберите в терминале:

Читайте также:  Windows admin center использовать только winrm по https

Теперь можно работать. Для создания пользователя используется команда CREATE USER, её синтаксис такой:

CREATE USER ‘имя_пользователя’ @ ‘хост’ IDENTIFIED BY ‘пароль’ ;

Кроме имени пользователя, здесь нужно задать хост, с которого может авторизоваться этот пользователь. Здесь может быть доменное имя, IP-адрес, адрес подсети или знак «%», который означает все возможные хосты. Это очень удобно, потому что вы можете создать пользователя, к которому можно будет подключится только локально или настроить отдельно права для локального или удалённого пользователя.

Например, давайте создадим локального пользователя test_user с паролем password:

CREATE USER ‘test_user’@’localhost’ IDENTIFIED BY ‘password’;

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

CREATE USER ‘test_user’@’%’ IDENTIFIED BY ‘password’;

Смотрим наших пользователей:

SELECT User,Host FROM mysql.user;

Все пользователи созданы.

2. Права пользователя MySQL

Создать пользователя — это ещё далеко не всё, теперь нужно назначить ему права. Для этого используется команда GRAT. У неё такой синтаксис:

GRANT привилегии ON база_данных . таблица TO ‘ имя_пользователя ‘ @ ‘ хост ‘ ;

Здесь можем дать определённые привилегии для опредёленного пользователя к базе данных или таблице. Если нужно дать права для всех баз данных или таблиц, используйте вместо названия звездочку — «*». Вот основные права пользователя MySQL, которые вы можете использовать:

  • ALL PRIVILEGES — все, кроме GRANT;
  • USAGE PRIVILEGES — никаких привилегий;
  • SELECT — делать выборки из таблиц;
  • INSERT — вставлять данные в таблицу;
  • UPDATE — обновлять данные в таблице;
  • DELETE — удалять данные из таблицы;
  • FILE — разрешает читать файлы на сервере;
  • CREATE — создавать таблицы или базы данных;
  • ALTER — изменять структуру таблиц;
  • INDEX — создавать индексы для таблиц;
  • DROP — удалять таблицы;
  • EVENT — обработка событий;
  • TRIGGER — создание триггеров.

Также доступны такие привилегии администрирования баз данных:

  • GRANT — изменять права пользователей;
  • SUPER — суперпользователь;
  • PROCESS — получение информации о состоянии MySQL;
  • RELOAD — позволяет перезагружать таблицы привилегий;
  • SHUTDOWN — позволяет отключать или перезапускать базу данных;
  • SHOW DATABASES — просмотр списка баз данных;
  • LOCK TABLES — блокирование таблиц при использовании SELECT;
  • REFERENCES — создание внешних ключей для связывания таблиц;
  • CREATE USER — создание пользователей;

Чтобы дать права пользователю MySQL на обновление и добавление записей для базы данных test_database, выполните:

GRANT SELECT,UPDATE,INSERT ON test_database . * TO ‘test_user’@’localhost’;

Дальше дадим этому же пользователю все права над этой базой данных:

GRANT ALL PRIVILEGES ON test_database . * TO ‘test_user’@’localhost’;

Теперь посмотрим привилегии нашего пользователя:

SHOW GRANTS FOR ‘test_user’@’localhost’;

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

3. Удаление прав пользователя MySQL

Чтобы отозвать права у пользователя MySQL, используйте команду REVOKE вместо GRANT. Её синтаксис похож на GRANT:

REVOKE привилегии ON база_данных . таблица FROM ‘ имя_пользователя ‘ @ ‘ хост ‘ ;

Например, заберём все права на базу данных test_database у нашего пользователя:

REVOKE ALL PRIVILEGES ON test_database . * FROM ‘test_user’@’localhost’;

4. Создание суперпользователя MySQL

Если вам необходимо создать пользователя со всеми правами MySQL на замену для root, то можно использовать такую конструкцию:

GRANT ALL PRIVILEGES ON * . * TO ‘test_user’@’localhost’;

Даём все привилегии для пользователя test_user над всеми базами данными и всеми таблицами. Но наш пользователь не сможет давать права другим пользователям. Чтобы это исправить, нужно дать ему привилегию GRANT, а для этого используется такая команда:

GRANT ALL PRIVILEGES ON * . * TO ‘test_user’@’localhost’ WITH GRANT OPTION;

Теперь этот пользователь является суперпользователем для MySQL и, авторизовавшись от его имени в PhpMyAdmin, вы можете делать всё то же самое, что и с помощью root.

Выводы

В этой статье мы рассмотрели, как создать пользователя MySQL в Ubuntu или в любом другом дистрибутиве. Работа в командной строке с MySQL может показаться довольно сложной. Но сделать это надо всего один раз -после установки базы данных. А дальше можно выполнять все действия в Phpmyadmin.

Оцените статью