Mysql

Mysql создание пользователя: Как создать нового пользователя и настроить права доступа в MySQL

Содержание

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

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

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

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

Как получить доступ к MySQL серверу

Содержание статьи:

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

Перед тем, как создать пользователя MySQL, не забудьте настроить сервер при помощи конфигурационного файла my.ini. Чтобы получить доступ к MySQL серверу нужно установить соединение, для этого требуется ввести логин и пароль. Если сервер баз данных удаленный, то потребуется ввести еще и имя хоста, на котором он установлен, если вы не указываете имя хоста, то соединение будет установлено с локальным сервером.

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

mysql –h localhost –p –u root



mysql –h localhost –p –u root

Подтверждаем команду нажатием клавиши Enter, после чего MySQL предложит ввести вам пароль этого пользователя, вводим и нажимаем Enter. Обратите внимание: если вы работает в операционной системе Windows 7, то командную строку нужно запускать от имени администратора. Иногда MySQL сервер может быть не найден, о решении данной проблемы мы поговорим в другой статье.

Разберемся с этой командой. Данная команда запускает консоль MySQL сервера, оболочку, которая позволяет работать с базами данных, операции, которые можно производить с данными, могут быть самыми различными, все зависит от прав доступа пользователя MySQL, в данном случае вы можете производить любые операции со всеми базами данных, поскольку вход осуществлен от имени root пользователя MySQL. На заметку начинающим пользователям UNIX-подобных операционных систем: root пользователь MySQL сервера и root пользователь операционной системы – это два разных пользователя. Имя пользователя MySQL сервера пишется после конструкции «-u».

Пароль пользователя MySQL сервера пишется после конструкции «-p». Его можно сразу не вводить, тогда его придется ввести после того, как нажмете Enter. После конструкции «-h» пишется имя хоста, на котором находится MySQL сервер, в данном случае мы явно указываем, что соединение нужно устанавливать с локальным сервером баз данных, этого можно и не делать.

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

Как посмотреть информацию о существующих базах данных MySQL сервера

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

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

Чтобы изменять базу данных, нужно начать ее использовать, для этого существует команда use.

Обратите внимание: команда use – это не SQL запрос, поэтому точку с запятой в конце этой команды можно не ставить, а можно и поставить, результат будет один: вы начнете работать с указанной базой данных MySQL сервера. Database_name – это имя базы данных, с которой будет работать пользователь MySQL, оно может быть любым из полученного списка, который выдала команда show databases. Думаю, это все, что нужно знать, чтобы в дальнейшем разобраться с тем, как создать пользователя MySQL.

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

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

  1. Root пользователь MySQL. Способен делать все, это главный администратор MySQL сервера, зачастую права root излишни, с этими правами вы можете навредить сами себе.
  2. Пользователи MySQL, которых создал root. Эти пользователи MySQL сервера обладают различными правами, права назначаются пользователем root при помощи SQL запроса GRANT.

Итак, давайте разберемся с тем, как создать пользователя MySQL, если вы еще не забыли: MySQL пользователи создаются запросом GRANT:

GRANT priv_type [(column_list)] [, priv_type [(column_list)] …]

ON {tbl_name | * | *.* | db_name.*}

TO user_name [IDENTIFIED BY ‘password’]

[, user_name [IDENTIFIED BY ‘password’] …]

[WITH GRANT OPTION]



GRANT priv_type [(column_list)] [, priv_type [(column_list)] …]

 

ON {tbl_name | * | *.* | db_name.*}

 

TO user_name [IDENTIFIED BY ‘password’]

 

[, user_name [IDENTIFIED BY ‘password’] …]

 

[WITH GRANT OPTION]

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

Мы создадим нового пользователя MySQL. На моем сервере есть база данных с именем mydb, вы можете создать базу данных свою собственную с нужным вам именем. Стоит обратить внимание: даже если пользователь MySQL уже существует, ему все равно придется дать определенные привилегии командой GRANT. Итак, создадим нового пользователя, который может совершать любые действия с базой данных mydb сервера MySQL. Приведу вводные данные. Имя пользователя MySQL: «newusermysql», пароль пользователя MySQL: «userpassword». Хост, на котором установлен сервер: localhost. Действия, котороые сможет выполнять новый пользователь: любые действия с базой данных mydb. Запрос GRANT на создание пользователя MySQL с указанными правами:

GRANT ALL ON mydb.* TO ‘newusermysql’@’localhost’IDENTIFIED BY ‘userpassword’;



GRANT ALL ON mydb.* TO ‘newusermysql’@’localhost’IDENTIFIED BY ‘userpassword’;

Точка с запятой в конце команды обязательна, так как GRANT – это SQL запрос. Разберем команду для создания пользователя MySQL по частям. IDENTIFIED BY ‘userpassword’: установить пароль для пользователя MySQL, как «userpassword». ‘newusermysql’@’localhost’: указываем хост, с которым будет соединен пользователь с именем «newusermysql».  Инструкция GRANT может использоваться только root пользователем MySQL. Инструкция ALL ON предоставляет все полномочия пользователю newusermysql на базу данных mydb.

На заметку: база данных WordPress находится под управлением MySQL сервера, поэтому пользователей WordPress можно создавать вручную, заполняя соответствующие поля и давая им привилегии, с другой стороны: WordPress – это CMS, которая облегчает жизнь вебмастера и предоставляет графический интерфейс для создания пользователей.

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

Создание нового пользователя в 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;

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

В предыдущем разделе мы видели, как предоставить разрешения на чтение для пользователя с помощью ключевого слова 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.

Создание пользователя MySQL — Ваши финансы

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

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

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

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

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

mysql -u root -p

Теперь можно работать. Для создания пользователя используется команда 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  в памяти. Для этого выполните:

FLUSH PRIVILEGES;

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 может показаться довольно сложной. Но сделать это надо всего один раз -после установки базы данных. А дальше можно выполнять все действия в Phpmyadmin.

losst.ru

Создать пользователя базы данных MySQL

Создать пользователя базы данных MySQL можно из консоли, подключиться требуется с правами root. То же самое можно проделать через веб-интерфейс PHPMYADMIN, но описанный ниже способ универсален.

 

Прежде всего нужно подключиться к консоли

mysql -h localhost -u root -p

 

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

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

 

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

 

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

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

 

* . * здесь означает все таблицы всех баз данных.

ALL PRIVILEGES предполагает права на чтение, редактирование, изменение и удаление и т.п. таблиц и баз.

 

 

Полный список возможных опций:

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

 

Чтобы изменения вступили в силу необходимо выполнить:

FLUSH PRIVILEGES;

 

Команду нужно выполнять каждый раз при редактировании реквизитов пользователей и прав доступа

 

 

Права можно также забрать используя REVOKE

 

Например:

REVOKE UPDATE ON *.* FROM ‘user’@‘localhost’;

 

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

quit

 

и подключившись к ней и реквизитами добавленного пользователя, в примере это user

 

mysql -u user -p

 

Пользователя можно удалить тем же образом, что и базу данных

DROP USER ‘user’@’localhost’;

 

 

Обновить пароль пользователя сервера баз данных

UPDATE mysql.user SET Password=PASSWORD(‘password123′) WHERE USER=’user’ AND Host=’localhost’;

 

Вывести в консоль всех существующих пользователей и их пароли с привязкой к хосту

SELECT host, user, password FROM mysql.user;

Добавление новых пользователей в MySQL

Добавление новых пользователей в MySQL

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

CREATE USER ‘cibergod’@’localhost’ IDENTIFIED BY ‘11111’;

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

Пользователей можно добавлять двумя различными способами — при помощи команды GRANT или напрямую в таблицы назначения привилегий MySQL. Предпочтительнее использовать команду GRANT — этот способ проще и дает меньше ошибок. See section 4.3.1 Синтаксис команд GRANTи REVOKE.

Существует также большое количество программ (таких как phpmyadmin), которые служат для создания и администрирования пользователей. @xref{Portals}.

В приведенных ниже примерах демонстрируется, как использовать клиент mysql для задания новых пользователей. В примерах предполагается, что привилегии установлены в соответствии с принятыми по умолчанию значениями, описанными в предыдущем разделе. Это означает, что для внесения изменений на том же компьютере, где запущен mysqld, необходимо подсоединиться к серверу как пользователь MySQL root, и у пользователя root должна быть привилегия INSERT для базы данных mysql, а также административная привилегия RELOAD. Кроме того, если был изменен пароль пользователя root, его необходимо указать здесь для команды mysql.

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

shell> mysql --user=root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"
        -> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql> GRANT USAGE ON *.* TO dummy@localhost;

Эти команды GRANT создают трех новых пользователей:

monty
Полноценный суперпользователь — он может подсоединяться к серверу откуда угодно, но должен использовать для этого парольsome_pass. Обратите внимание на то, что мы должны применить операторы GRANT как для monty@localhost, так и для monty@"%". Если не добавить запись с localhost, запись анонимного пользователя для localhost, которая создается при помощи mysql_install_db, будет иметь преимущество при подсоединении с локального компьютера, так как в ней указано более определенное значение для поля Host, и

Создание баз данных и пользователей — база данных Azure для MySQL



  • Чтение занимает 3 мин

В этой статье

применимо к:
База данных Azure для MySQL —
база данных Azure с одним сервером для MySQL — гибкий сервер

В этой статье описывается создание пользователей на сервере базы данных Azure для MySQL.This article describes how you can create users in an Azure Database for MySQL server.

Примечание

Обмен данными без смещенияBias-free communication

Корпорация Майкрософт поддерживает различные и включенные среды.Microsoft supports a diverse and inclusionary environment. Эта статья содержит ссылки на слово Slave.This article contains references to the word slave. В соответствии с руководством по стилю Майкрософт для обмена данными без пересчета этот термин распознается как исключение.The Microsoft style guide for bias-free communication recognizes this as an exclusionary word. Это слово используется в этой статье для обеспечения согласованности, так как в настоящее время это слово, которое отображается в программном обеспечении.The word is used in this article for consistency because it’s currently the word that appears in the software. При обновлении программного обеспечения для удаления слова эта статья будет обновлена для выравнивания.When the software is updated to remove the word, this article will be updated to be in alignment.

При создании первой базы данных Azure для MySQL вы указали имя пользователя и пароль администратора сервера, используемые для входа.When you first created your Azure Database for MySQL, you provided a server admin login user name and password. Дополнительные сведения см. в этом кратком руководстве.For more information, you can follow the Quickstart. Имя пользователя администратора сервера можно найти на портале Azure.You can locate your server admin login user name from the Azure portal.

Администратор сервера получает определенные привилегии для выполнения следующих операций на сервере:The server admin user gets certain privileges for your server as listed:

ВЫБОР, ВСТАВКА, ОБНОВЛЕНИЕ, УДАЛЕНИЕ, СОЗДАНИЕ, УДАЛЕНИЕ, ПЕРЕЗАГРУЗКА, ОБРАБОТКА, ССЫЛКИ, ИНДЕКСИРОВАНИЕ, ИЗМЕНЕНИЕ, ОТОБРАЖЕНИЕ БАЗ ДАННЫХ, СОЗДАНИЕ ВРЕМЕННЫХ ТАБЛИЦ, БЛОКИРОВКА ТАБЛИЦ, ВЫПОЛНЕНИЕ, ВЕДОМАЯ РЕПЛИКАЦИЯ, КЛИЕНТ РЕПЛИКАЦИИ, СОЗДАНИЕ ПРЕДСТАВЛЕНИЯ, ПОКАЗАТЬ ПРЕДСТАВЛЕНИЕ, СОЗДАТЬ ПОДПРОГРАММЫ, ALTER ПОДПРОГРАММА, СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ, СОБЫТИЕ, ТРИГГЕРSELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER

После создания сервера базы данных Azure для MySQL с помощью первой учетной записи администратора сервера можно создать дополнительных пользователей и предоставить им права администратора.Once the Azure Database for MySQL server is created, you can use the first server admin user account to create additional users and grant admin access to them. Кроме того, учетная запись администратора сервера может использоваться для создания менее привилегированных пользователей, имеющих доступ к отдельным схемам базы данных.Also, the server admin account can be used to create less privileged users that have access to individual database schemas.

Примечание

Роль SUPER Privilege и DBA не поддерживаются.The SUPER privilege and DBA role are not supported. Проверьте права в статье ограничения, чтобы понять, что не поддерживается в службе.Review the privileges in the limitations article to understand what’s not supported in the service.

Создание базы данных с пользователем, не являющимся администратором, в базе данных Azure для MySQLHow to create database with non admin user in Azure Database for MySQL

  1. Получите сведения о подключении и имя пользователя администратора.Get the connection information and admin user name.
    Чтобы подключиться к серверу базы данных, вам потребуются учетные данные администратора для входа и полное имя сервера.To connect to your database server, you need the full server name and admin sign-in credentials. Вы можете легко найти данные для входа на странице Обзор сервера или на странице Свойства на портале Azure.You can easily find the server name and sign-in information from the server Overview page or the Properties page in the Azure portal.

  2. Используйте учетную запись и пароль администратора для подключения к серверу базы данных.Use the admin account and password to connect to your database server. Используйте предпочитаемый клиентский инструмент, например MySQL Workbench, mysql.exe, HeidiSQL и т. д.Use your preferred client tool, such as MySQL Workbench, mysql.exe, HeidiSQL, or others.
    Если вы не знаете, как подключиться, см. статью Использование MySQL Workbench для подключения и запроса данных для одного сервера или подключения и запроса данных для гибкого сервера .If you are unsure of how to connect, see how to use MySQL Workbench to connect and query data for Single Server or connect and query data for Flexible Server

  3. Измените и выполните следующий код SQL.Edit and run the following SQL code. Замените значение заполнителя db_user новым именем пользователя, а значение заполнителя testdb — именем базы данных.Replace the placeholder value db_user with your intended new user name, and placeholder value testdb with your own database name.

    Этот код SQL создает базу данных testdb для примера.This sql code syntax creates a new database named testdb for example purposes. Затем он создает пользователя в службе MySQL и предоставляет ему все привилегии для новой схемы базы данных (testdb.*).Then it creates a new user in the MySQL service, and grants all privileges to the new database schema (testdb.*) for that user.

    CREATE DATABASE testdb;
    
    CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';
    
    GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';
    
    FLUSH PRIVILEGES;
    
  4. Проверьте предоставление привилегий в базе данных.Verify the grants within the database.

    USE testdb;
    
    SHOW GRANTS FOR 'db_user'@'%';
    
  5. Войдите на сервер, указав эту базу данных и введя новое имя пользователя и пароль.Log in to the server, specifying the designated database, using the new user name and password. В этом примере показана командная строка MySQL.This example shows the mysql command line. После ввода этой команды вам будет предложено ввести пароль для имени пользователя.With this command, you are prompted for the password for the user name. Укажите собственные имя сервера, имя базы данных и имя пользователя.Replace your own server name, database name, and user name.

mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user@mydemoserver -p
mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p

Как создать дополнительных администраторов в базе данных Azure для MySQLHow to create additional admin users in Azure Database for MySQL

  1. Получите сведения о подключении и имя пользователя администратора.Get the connection information and admin user name.
    Чтобы подключиться к серверу базы данных, вам потребуются учетные данные администратора для входа и полное имя сервера.To connect to your database server, you need the full server name and admin sign-in credentials. Вы можете легко найти данные для входа на странице Обзор сервера или на странице Свойства на портале Azure.You can easily find the server name and sign-in information from the server Overview page or the Properties page in the Azure portal.

  2. Используйте учетную запись и пароль администратора для подключения к серверу базы данных.Use the admin account and password to connect to your database server. Используйте предпочитаемый клиентский инструмент, например MySQL Workbench, mysql.exe, HeidiSQL и т. д.Use your preferred client tool, such as MySQL Workbench, mysql.exe, HeidiSQL, or others.
    Если вы не знаете, как подключиться, прочитайте раздел База данных Azure для MySQL: подключение и запрос данных с помощью MySQL Workbench.If you are unsure of how to connect, see Use MySQL Workbench to connect and query data

  3. Измените и выполните следующий код SQL.Edit and run the following SQL code. Замените новым именем пользователя значение заполнителя new_master_user.Replace your new user name for the placeholder value new_master_user. Эта синтаксическая конструкция предоставляет перечисленные привилегии для всех схем базы данных (.) имени пользователя (new_master_user в этом примере).This syntax grants the listed privileges on all the database schemas (.) to the user name (new_master_user in this example).

    CREATE USER 'new_master_user'@'%' IDENTIFIED BY 'StrongPassword!';
    
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_master_user'@'%' WITH GRANT OPTION;
    
    FLUSH PRIVILEGES;
    
  4. Проверка разрешенийVerify the grants

    USE sys;
    
    SHOW GRANTS FOR 'new_master_user'@'%';
    

Дальнейшие действияNext steps

Откройте брандмауэр для IP-адресов компьютеров новых пользователей, чтобы обеспечить их подключение:Open the firewall for the IP addresses of the new users’ machines to enable them to connect:

Чтобы получить дополнительные сведения об управлении учетными записями пользователей, ознакомьтесь с управлением учетными записями пользователей, синтаксисом GRANT и привилегиями в документации по продукту MySQL.For more information regarding user account management, see MySQL product documentation for User account management, GRANT Syntax, and Privileges.



Создаем пользователя в MySQL, добавляем привилегии

Документация MySQL хорошо описывает все нюансы администрирования и использования баз данных. В конце данного поста будет ссылка на руско-язычную документацию, где вы более тщательно сможете ознакомиться касательно этой темы. Здесь же представлена выжимка касательно темы добавления нового пользователя в MySQL.
Добавить пользователя можно двумя способами, с помощью команды GRANT либо напрямую в таблицы назначения привилегий MySQL. Рекомендуется пользоваться командой GRANT, т.к. данный способ предполагает меньше ошибок, да и прост по сравнению со вторым способом.
Первое что мы сделаем, это подключимся к консоли управления MySQL:


#mysql -u root -p

Будет предложено ввести пароль от учетной записи root в MySQL, после успешного ввода двигаемся дальше. Создадим новую базу, затем добавим пользователя с полными правами на данную базу.
Создаем базу:


CREATE DATABASE <DB_NAME>;

Создаем нового пользователя, выставляем права:


GRANT ALL PRIVILEGES ON <DB_NAME>.* TO 'user'@'localhost'
IDENTIFIED BY 'password' WITH GRANT OPTION;

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


GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost'
IDENTIFIED BY 'password' WITH GRANT OPTION;

Запись ‘user’@’localhost’ говорит о том, что пользователь user может получать доступ только с localhost. Можно добавить пользователя, который может подключаться к базе с любого хоста, делается это так:


GRANT ALL PRIVILEGES ON <DB_NAME>.* TO 'my_user'@'%' 
IDENTIFIED BY 'my_password' WITH GRANT OPTION;

Вместо localhost мы указали знак %. Собственно вот самое основное, здесь мы рассмотрели добавление пользователя и его привилегий с помощью команды GRANT, про второй способ добавления непосредственно в таблицу привилегий вы можете по вкуривать в документации.
Касательно темы: просмотр привилегий пользователя MySQL.

Создание баз данных и пользователей — База данных Azure для MySQL

  • 3 минуты на чтение

В этой статье

ОТНОСИТСЯ К:
База данных Azure для MySQL — один сервер
База данных Azure для MySQL — гибкий сервер

В этой статье описывается, как создавать пользователей в базе данных Azure для сервера MySQL.

Примечание

Связь без смещения

Microsoft поддерживает разнообразную и инклюзивную среду. В этой статье есть упоминания о слове slave . В руководстве по стилю Microsoft для беспристрастного общения это слово признано исключительным. Это слово используется в этой статье для единообразия, потому что в настоящее время оно используется в программном обеспечении. Когда программное обеспечение будет обновлено, чтобы удалить слово, эта статья будет обновлена, чтобы соответствовать.

При первом создании базы данных Azure для MySQL вы указали имя пользователя и пароль для входа в систему администратора сервера. Для получения дополнительной информации вы можете следовать краткому руководству. Вы можете найти имя пользователя для входа в систему администратора сервера на портале Azure.

Администратор сервера получает определенные привилегии для вашего сервера:

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATE VIEWINE, REPLICATION VIEW CLEWIENT ALTER ROUTINE, CREATE USER, EVENT, TRIGGER

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

Примечание

Привилегия SUPER и роль DBA не поддерживаются. Ознакомьтесь с правами в статье об ограничениях, чтобы понять, что не поддерживается в службе.

Как создать базу данных с пользователем без администратора в базе данных Azure для MySQL

  1. Получите информацию о подключении и имя пользователя admin.
    Чтобы подключиться к серверу базы данных, вам потребуется полное имя сервера и учетные данные администратора.Вы можете легко найти имя сервера и информацию для входа на странице обзора сервера или на странице Properties на портале Azure.

  2. Используйте учетную запись администратора и пароль для подключения к серверу базы данных. Используйте предпочитаемый вами клиентский инструмент, например MySQL Workbench, mysql.exe, HeidiSQL или другие.
    Если вы не знаете, как подключиться, узнайте, как использовать MySQL Workbench для подключения и запроса данных для одного сервера или подключения и запроса данных для Flexible Server

    .

  3. Отредактируйте и запустите следующий код SQL.Замените значение заполнителя db_user на ваше предполагаемое новое имя пользователя, а значение заполнителя testdb на свое собственное имя базы данных.

    Этот синтаксис кода sql создает новую базу данных с именем testdb для примера. Затем он создает нового пользователя в службе MySQL и предоставляет ему все привилегии для новой схемы базы данных (testdb. *).

      СОЗДАТЬ БАЗУ ДАННЫХ testdb;
    
    СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'db_user' @ '%' ИДЕНТИФИЦИРОВАННЫЙ 'StrongPassword!';
    
    ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА testdb.* TO 'db_user' @ '%';
    
    ПРИВИЛЕГИИ ПРОМЫВКИ;
      
  4. Проверьте гранты в базе данных.

      USE testdb;
    
    ПОКАЗАТЬ ГРАНТЫ ДЛЯ 'db_user' @ '%';
      
  5. Войдите на сервер, указав указанную базу данных, используя новое имя пользователя и пароль. В этом примере показана командная строка mysql. С помощью этой команды вам будет предложено ввести пароль для имени пользователя. Замените собственное имя сервера, имя базы данных и имя пользователя.

  mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user @ mydemoserver -p
  
  mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p
  

Как создать дополнительных пользователей-администраторов в базе данных Azure для MySQL

  1. Получите информацию о подключении и имя пользователя admin.
    Чтобы подключиться к серверу базы данных, вам потребуется полное имя сервера и учетные данные администратора. Вы можете легко найти имя сервера и информацию для входа на странице обзора сервера или на странице Properties на портале Azure.

  2. Используйте учетную запись администратора и пароль для подключения к серверу базы данных. Используйте предпочитаемый вами клиентский инструмент, например MySQL Workbench, mysql.exe, HeidiSQL или другие.
    Если вы не знаете, как подключиться, см. Использование MySQL Workbench для подключения и запроса данных

  3. Отредактируйте и запустите следующий код SQL. Замените свое новое имя пользователя значением заполнителя new_master_user . Этот синтаксис предоставляет перечисленные привилегии для всех схем базы данных (.) к имени пользователя (в данном примере new_master_user).

      СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'new_master_user' @ '%' ИДЕНТИФИЦИРОВАНО 'StrongPassword!';
    
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION VIEWIN, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *. * TO 'new_master_user' @ '%' С ОПЦИЕЙ GRANT;
    
    ПРИВИЛЕГИИ ПРОМЫВКИ;
      
  4. Подтвердить гранты

      USE sys;
    
    ПОКАЗАТЬ ГРАНТЫ ДЛЯ 'new_master_user' @ '%';
      

Следующие шаги

Откройте брандмауэр для IP-адресов компьютеров новых пользователей, чтобы позволить им подключиться:

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

.

admin — Невозможно создать пользователя в MySQL 5.6

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

.

Как предоставить все привилегии пользователю root в MySQL 8.0

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

Загрузка…

  1. Авторизоваться
    зарегистрироваться

  2. Текущее сообщество

.

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

Я хочу иметь другого пользователя с такими же разрешениями, что и у главного пользователя для моей службы Amazon Relational Database Service (Amazon RDS) или Amazon Aurora MySQL DB. Как мне продублировать или клонировать главного пользователя?

Разрешение

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

1. Запустите команду SHOW GRANTS , чтобы получить список разрешений, доступных в настоящее время главному пользователю, и скопируйте этот список разрешений для использования позже:

  mysql> ПОКАЗАТЬ ГРАНТЫ для master_username;  

Команда обеспечивает вывод, аналогичный следующему:

  + ----------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------- +
| Гранты для master_user @% |
+ ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----- +
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, ССЫЛКИ, ИНДЕКС, ALTER, ПОКАЗАТЬ БАЗЫ ДАННЫХ, СОЗДАТЬ ВРЕМЕННЫЕ ТАБЛИЦЫ, БЛОКИРОВАТЬ ТАБЛИЦЫ, ВЫПОЛНИТЬ, РЕПЛИКАЦИЮ SLAVE, СОЗДАТЬ ПРОСМОТР ВИДА, СОЗДАТЬ ПРОСМОТР ВИДА ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, LOAD FROM S3, SELECT IN TO S3, INVOKE LAMBDA, INVOKE SAGEMAKER, INVOKE COMPREHEND ON *.* TO 'master_user' @ '%' С ОПЦИЕЙ GRANT |
+ ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----- +  

Примечание: В приведенной выше команде главный пользователь имеет имя пользователя master_user .

2. Создайте нового пользователя, выполнив команду CREATE USER :

  mysql> СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'new_master_user' @ '%' ИДЕНТИФИЦИРОВАНО 'паролем';  

Примечание: Замените new_master_user и password своим именем пользователя и паролем.

3. Предоставьте новому пользователю список разрешений, полученных на шаге 1, выполнив команду GRANT :

  mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SHOW CLAVE VIE, , CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_master_user' @ '%' С ОПЦИЕЙ GRANT;  

Новый пользователь теперь имеет те же права, что и главный пользователь.


Эта статья вам помогла?


Вам нужна биллинг или техническая поддержка?

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *