Mysql добавить пользователя в mysql: Страница не найдена | Losst

Содержание

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

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

Тех, кому доверяем!

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

Это можно делать как через командную строку, так и через программные оболочки. Для начала рассмотрим легкий вариант. Воспользуемся для добавления нового пользователя программой phpMyAdmin. Но для начала давайте сделаем маленький экскурс в систему учетных записей, реализованную в СУБД.

Выше всех в иерархии стоит пользователь с учетной записью root. Изначально эта учетка поставляется с пустым значением пароля. Администратор (root) может в MySQL добавить пользователя, наделить его определенными правами, а также лишить привилегий.

Система привилегий реализована не только на сервере СУБД, но и на уровне баз. Можно наделить пользователя доступом к определенной БД, а также разрешить ему выполнять только определенные операции с «хранилищем». Например, запретить вставлять, удалять и обновлять данные, но разрешить делать выборки из таблиц. Но все это легче познается в деле, поэтому приступим.

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Добавление учеток через phpMyAdmin

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

Чтобы добавить новую учетную запись, нужно нажать на ссылку «Добавить пользователя», которая расположена ниже таблицы. После чего система приложения выведет специальное диалоговое окно «Добавить пользователя».

В самом верхнем разделе («Информация учетной записи») следует задать имя нового пользователя, установить и подтвердить пароль. Также можно получить случайное значение пароля, которое будет автоматически подставлено в поля. Для этого нужно нажать кнопку «Генерировать».

Если прокрутить немного вниз, то станут доступными для редактирования глобальные привилегии, которыми можно наделить создаваемого пользователя. На снимке видно, что все привилегии разделены на несколько категорий: «Данные», «Структура» и «Администрирование». Перед тем, как добавить пользователя в MySQL ,ознакомьтесь с ними и отметьте нужные.

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

Добавляем нового пользователя БД

Через phpMyAdmin можно заниматься администрированием ролей не только глобально, но и на уровне отдельных БД. Чтобы в MySQL добавить пользователя к базе, в списке слева выберите нужную. Затем перейдите через пункт меню «Привилегии», где в таблице отобразятся все пользователи, которые имеют доступ к этой базе. Чтобы создать новую учетку БД, нажмите на ссылку «Добавить пользователя», которая расположена немного ниже (под таблицей).

После чего появится знакомый нам уже диалог «Добавить пользователя». Заполняем все поля, как и в предыдущем примере. Наделим leha2 глобальными привилегиями на базу world – пусть что хочет, то и делает с этим миром . И нажимаем внизу «Добавить пользователя».

Контроль возможностей созданных юзеров

Разберемся, что может созданным нами последний «Леха». Переходим в командную строку. Входим на сервер и выполним выборку из базы, для которой в MySQL добавили пользователя: Z:\usr\local\mysql-5.5\bin\mysql.exe -u leha2 -p123

SELECT * FROM `world`.`countrylanguage` WHERE `CountryCode` = ‘ABW’;

SELECT * FROM  `world`.`countrylanguage` WHERE  `CountryCode` =  ‘ABW’;

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Теперь попробуем под этой учеткой (leha2) попасть в другую базу, и тоже сделать из нее выборку. Например, вот из этой БД:

SELECT * FROM `db1`.`animal`;

SELECT * FROM `db1`.`animal`;

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

Но это еще не все возможности администрирования привилегий. Можно в MySQL добавить пользователя с правами только на просмотр. Для этого редактируется таблица прав существующей учетной записи или создается новая.

Снова заходим на вкладку «Привилегии». В таблице пользователей возле нужной учетки жмем «Редактирование привилегий». Затем в появившемся окне диалога выключаем все привилегии кроме select. Таким образом пользователь сможет лишь просматривать таблицы или делать из них выборки с помощью SQL-команды SELECT.

Создание юзера через консоль

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

CREATE USER ‘verter’@’localhost’ IDENTIFIED BY ‘12345’;

CREATE USER ‘verter’@’localhost’ IDENTIFIED BY ‘12345’;

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

Как видите, verter стал пользователем нашего сервера MySQL. Но он вообще не имеет никаких прав (как и любой робот). Так неэтично по отношению к братьям нашим «железным», поэтому снабдим его всеми привилегиями на любую из баз. Например, world:

GRANT ALL PRIVILEGES ON `world`.* TO ‘verter’@’localhost’;

GRANT ALL PRIVILEGES ON `world`.* TO ‘verter’@’localhost’;

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

Мы успешно в MySQL добавили пользователя к базе. И напоследок посоветовал бы не раздавать привилегии «направо и налево»… Извините, но мне пора бежать, иначе жена опять без ужина оставит. До скорой встречи!

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Хотите изучить 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 из-вне должно быть выполнено 2 условия:

  1. MySQL должен слушать все адреса, а не только 127.0.0.1
  2. У пользователя должны быть пермишены для коннекта не только с localhost (с самого сервера где установлена БД), а и других адресов.

Слушать все адреса

Во-первых, изначально mysql слушает только localhost. Нужно исправить это в конфигурационном файле my.cnf (обычно в линуксах путь /etc/mysql/my.cnf). В my.cnf находим строку:

bind-address = 127.0.0.1

И заменяем её на:

bind-address = 0.0.0.0

Теперь после service mysql restart мы можем коннектиться к mysql с любого ip (если создан пользователь). При этом для супер-пользователя root доступ из-вне под пустым паролем остаётся закрыт.

bind-address 127.0.0.1 означает, что mysql слушает соединения только с текущего хоста.

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

Во-вторых, нужно создать пользователя, под которым мы будем подключаться из-вне к mysql. У пользователя должны быть пермишены для подключения не только по localhost, но и иных адресов.

CREATE USER 'username'@'%' IDENTIFIED BY 'password'; #создаём пользователя username с паролем password
GRANT ALL PRIVILEGES ON database.* TO 'username'@'%'; #даём пользователю username все права для работы с базой данных database
FLUSH PRIVILEGES; # применяем новые права (чтобы не делать restart)

В команде CREATE USER мы создали пользователя, который может коннектиться к mysql со всех ip. Мы можем разрешать коннектиться только с определённых ip, например:

#создаём пользователя user с паролем pass, который может подключаться только с ip '10.10.50.50
CREATE USER 'user'@'10.10.50.50' IDENTIFIED BY 'pass';

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

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

Узнать порт mysql:

mysql> show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0,05 sec)

После изменения bind-address в MySQL и создания пользователя с пермишенами (либо грант пермишенов текущим пользователям), к базе данных можно подключиться передавая параметр -h <host>. Хост — адрес машины, на которой установлен MySQL:

mysql -u -root -p -h <ip адрес>

Как добавить нового пользователя в MySQL и назначить права доступа » CrazyLord

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

Рассмотрим как можно создать пользователя и предоставим ему необходимый список полномочий доступа к БД. Все ниже описанное настраивается на микрокомпьютере Raspberry Pi под операционной системой Raspbian (debian). В системах под управлением Linux, различных модификаций, обычно, все настройки соответствуют этой статьи.

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

В командной строке (в терминале) вводим команду:

sudo mysql

Далее вводим следующую команду:

CREATE USER 'non-root'@'localhost' IDENTIFIED BY '123';

Имя пользователя и пароль необходимо указать свои. «non-root» — пользователь, «123» — пароль. После ввода команды, пользователь будет создан.

Назначение прав доступа

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

GRANT ALL PRIVILEGES ON * . * TO 'non-root'@'localhost';

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

FLUSH PRIVILEGES;

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

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

Как я и говорил выше, не всегда целесообразно предоставлять пользователю полные привилегии доступа.

В команде необходимо подставить свои правила:

GRANT [тип прав] ON [имя базы данных].[имя таблицы] TO ‘user1’@'localhost’;

Тебе просто нужно заменить значение ‘тип прав’ на тот вид прав доступа, который тебе необходимо предоставить новому пользователю. Также тебе нужно указать базу данных и имена таблиц, доступ к которым предоставляется. В MySQL есть несколько типов прав доступа, некоторые из них описаны ниже:

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

Для использования любой из этих опций, просто замени [тип прав] необходимым словом. Чтобы назначить несколько видов прав доступа, раздели их запятыми как в следующей команде. Например, мы можем назначить такие привилегии как CREATE и SELECT для нашего user1 пользователя MySQL такой командой:

GRANT CREATE, SELECT ON * . * TO 'user1'@'localhost';

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

REVOKE [тип прав] ON [имя базы данных].[имя таблицы] FROM ‘user1’@‘localhost’;

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

REVOKE ALL PRIVILEGES ON *.* FROM 'user1'@'localhost';

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

DROP USER ‘user1’@‘localhost’;

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

Добавление пользователя базы данных — Документация ISPmanager 5 Lite

Поиск точной фразы

Для поиска контента, содержащего точную фразу «мел и сыр», введите:

"мел и сыр"

поиск с OR

Для поиска контента, содержащего одного из выражений «мел» или «сыр», введите:

"мел OR сыр"

поиск с AND

Для поиска контента, содержащего оба выражения «мел» и «сыр», введите:

"мел AND сыр"

поиск с NOT

Для поиска контента, который содержит «мел», но не содержит «сыр», введите:

"мел NOT сыр"

Исключение выражений из поиска

Аналогично поиску с NOT, для поиска контента, который содержит «мел» и «масло», но не содержит «сыр»,
введите:

мел масло -сыр

Группировка выражений поиска

Для поиска контента, который обязательно должен содержать «мел», и возможно содержит «сыр» или
«масло», введите:

(сыр OR масло) AND мел

Поиск по Заголовку

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

title:мел

Одиночный символ

Для поиска контента, содержащего «лак» или «лук», можно использовать символ ? :

л?к

Для поиска контента, содержащего «хлеб» или «хлебный», можно использовать символ * :

хлеб*

Множественные символы

Для поиска «хлеб» или «хлебный»:

х*б*

Допускается комбинирование подстановочных символов, для уточнения условий. Например, поисковый запрос
ниже позволит найти контент, содержащий «масло», но не «масленый»:

м*л?

Поиск меток

Используйте префикс «labelText:», чтобы искать содержимое с конкретной меткой.

labelText:шоколад

Поиск близких выражений

Следующее поисковое выражение позволяет найти все фразы, в которых указанные слова отстоят друг от
друга на точно указанное количество слов.

"бутерброд сыром"~2

Фраза «будерброд с плавленым сыром» удовлетворяет условиям поиска.

Неточный поиск

Этот способ поиска позволяет искать слова, близкие по написанию. Для поиска «масленый», если есть
неуверенность в написании:

масленый~

Фраза «масляный» удовлетворяет условиям поиска.

Комбинированный поиск

Возможно комбинировать поисковые выражения:

масл?н* AND хлеб~ AND ("блог" AND "пост")

Шпаргалка по командам MySQL ::

Управление пользователями

Список пользователей

#mysql> SELECT User,Host FROM mysql.user;

Список прав у пользователя [email protected]

#mysql> SHOW GRANTS FOR [email protected];

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

#mysql> CREATE USER ‘user’@’localhost’ IDENTIFIED BY ‘secret’;

Добавим выбранные привилегии для всех таблиц БД dbname пользователю ‘user’@’localhost’

#mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX ON dbname.* TO ‘user’@’localhost’;

Добавить все привилегии для всех таблиц БД dbname пользователю ‘user’@’localhost’

#mysql> GRANT ALL PRIVILEGES ON dbname.* TO ‘user’@’localhost’;

Удаление прав пользователя ‘user’@’localhost’ для БД dbname:

#mysql> REVOKE ALL ON dbname.* FROM ‘user’@’localhost’;

Перезагрузка привилегий

#mysql> FLUSH PRIVILEGES;

Новый пароль для root

#mysqladmin -uroot password ‘secret’

.
Управление базой данных

Создание базы данных

#mysql> CREATE DATABASE dbname COLLATE utf8_general_ci;

Создание базы данных из консоли

#mysqladmin -u root -p create dbname

Удаления базы данных из консоли

#mysqladmin -u root -p drop dbname

.
Cтатистика

Список всех баз данных

#mysql> SHOW DATABASES;

Список всех таблиц в выбранной базе данных

#mysql> SHOW TABLES;

Статистика по работе сервера

#mysql> SHOW GLOBAL STATUS;

.
Оптимизация
При помощи команды mysqlcheck можно выполнять проверку, оптимизацию и исправление ошибок.

Поверка на ошибки БД dbname

#mysqlcheck -p dbname

Восстановление и оптимизация всех БД

#mysqlcheck -Aor -p

аргументы:
-p – использовать пароль
-A – проверять все базы данных
-r – ремонтировать БД
-o – оптимизировать БД

Скрипт простой оптимизации БД, можно добавить в крон для выполнение раз в сутки

#mysqlcheck —repair —analyze —optimize —all-databases —auto-repair -u root -pSECRET

Установим mysqltuner, который показывает статистику по работающему mysql-серверу и дает полезные советы по оптимизации.

#cd /usr/local/bin
#wget http://mysqltuner.pl/mysqltuner.pl
#chmod +x mysqltuner.pl

Запустим

#/usr/local/bin/mysqltuner.pl

При запуске скрипт спросит логин и пароль для root’a. После корректной авторизации будет выведена статистика и разные советы по правке конфигурационного файла MySQL.

Дамп (резервная копия)

Дамп базы данных

#mysqldump -u root -p dbname > dump.sql

Дамп выбранных баз

#mysqldump -u root -p -B dbname1 dbname2 > dump.sql

Дамп всех баз

#mysqldump -u root -p -A > dump.sql

Дамп только структуры, без данных

#mysqldump -u root -p —no-data dbname > database.sql

Другие опции
—add-drop-table — добавляет команду DROP TABLE перед каждой командой CREATE TABLE
—add-locks — добавляет команду LOCK TABLES перед выполнением и UNLOCK TABLE после выполнения каждого дампа таблицы
—no-create-db, -n — не добавлять команду CREATE DATABASE, которая добавляется при использовании параметров —databases и —all-databases
—no-data, -d — дампить только структуру таблиц
—no-create-info, -t — не создавать команду CREATE TABLE
—skip-comments — не выводить комментарии.
—compact — использовать компактный формат
—create-options — добавляет дополнительную информацию о таблице в команду CREATE TABLE: тип, значение AUTO_INCREMENT и т.д. Не нужные опции можно вырезать с помощью sed.
—extended-insert, -e — применение команды INSERT с многострочным синтаксисом (повышает компактность и быстродействие операторов ввода)
—tables — дампить только таблицы из списка, следующего за этим параметром, разделитель — пробел

Применение дампа (импорт)

#mysql -uroot -p dbname1

Определение кодировки файла
file —mime-encoding dump.sql
Конвертирование из кодировки latin1 в utf8
mysqldump —add-drop-table -uroot -p dbname | replace CHARSET=latin1 CHARSET=utf8 | iconv -f latin1 -t utf8 | mysql -uroot -p dbname

Восстановление root-пароля

#service mysqld stop
#mysqld_safe —skip-grant-tables &
#mysql

#mysql> UPDATE mysql.user SET Password=PASSWORD(‘secret’) WHERE User=’root’;
#mysql> FLUSH PRIVILEGES;
#mysql> \q

#service mysqld restart

Спонсор: Хостинг HostiMan

Создать пользователя с правами read-only (только чтение) в MySQL

И так, я хотел бы создать заметку «Создать пользователя с правами read-only (только чтение) в MySQL» чтобы помочь тем, кто не умеет хорошо пользоваться mysql и не умеет создать пользователей с различными привилегиями.

Установка MySQL/MariDB в Unix/Linux

У меня уже имеется рад статей по установки сервера для баз данных. Вы можете ознакомится с некоторыми тут:

Установка MySQL на Debian/Ubuntu/Linux Mint

Установка MySQL 5.5 на RHEL / CentOS и Fedora

Установка MySQL из портов во FreeBSD

Установка MariaDB 10 на CentOS 7

Установка MariaDB на Debian

Создать пользователя с правами read-only (только чтение) в MySQL

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

# mysql -u root -p

После этого, нужно будет ввести пароль от пользователя. Идем далее, сейчас предоставим пользователю (Your_read-only_mysql_username) доступ к базе данных с любого хоста следующей командой:

> grant select on database_name.* to 'Your_read-only_mysql_username'@'%' identified by 'Your_password_for_read-only_mysql_username';

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

> grant select on database_name.* to 'Your_read-only_mysql_username' identified by 'Your_password_for_read-only_mysql_username';

Или:

> grant select on database_name.* to 'Your_read-only_mysql_username'@'localhost' identified by 'Your_password_for_read-only_mysql_username';

Данные команды дадут доступ к базе данных с localhost хоста для пользователя Your_read-only_mysql_username.

если нужно ограничить доступ к базе с определенного хоста или IP адреса, то используйте команду что ниже:

> grant select on database_name.* to 'Your_read-only_mysql_username'@'Your_hostname_or_IP' identified by 'Your_password_for_read-only_mysql_username';

PS: Ваш хостнейм должен быть отрезолвен DNS или локальным hosts файлом.

После того как дали пользователю права на чтение, стоит применить все настройки, а можно это сделать со следующей командой:

> flush privileges;

Для выхода используем:

> quit

Рассмотрим готовый пример:

# mysql -uroot -p
mysql> create database test;
mysql> grant select on test.* to 'readonlyuser'@'localhost' identified by 'readonlyuserpw';
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit

И так, создали все и после чего проверяем что вышло:

# mysql -u readonlyuser -p
> use test;
> create table tets;
ERROR 1142 (42000): CREATE command denied to user 'readonlyuser'@'127.0.0.1' for table 'tets'

Собственно, все работает.

Вот и все, ничего сложно. Данная статья «Создать пользователя с правами read-only (только чтение) в MySQL» завершена.

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

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

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

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

Чтобы создать нового пользователя, сначала войдите в оболочку MySQL.

 $ sudo mysql -u корень -p
 

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

Подключение к MySQL Shell

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

 MariaDB [нет]> СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ ' newuser ' @ 'localhost' ИДЕНТИФИЦИРОВАН ' паролем ';
 

Например, чтобы создать нового пользователя с именем « tecmint » в базе данных, вызовите команду:

 MariaDB [нет]> СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ ' tecmint ' @ 'localhost' ИДЕНТИФИЦИРОВАНО ' QkYKmw $ 5tec ';
 
Несколько моментов, о которых следует помнить

При добавлении пользователя локально i.е. в системе, в которой вы установили MySQL , хост пользователя указан как localhost , а не IP-адрес. Ключевое слово « localhost » переводится как « этот компьютер », и MySQL трактует его однозначно. Обычно localhost используется клиентом mysql для установления соединения с локально установленным сервером базы данных MySQL.

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

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

 MariaDB [none]> ПРЕДОСТАВЛЯТЬ ВСЕ ПРИВИЛЕГИИ НА *. * TO ' tecmint ' @ 'localhost';
 

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

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

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

 MariaDB [none]> ПРОМЫВКА ПРИВИЛЕГИЙ
 

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

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

  • ВСЕ ПРИВИЛЕГИИ — Как было показано ранее, это предоставляет пользователю MySQL полный доступ к определенной базе данных.
  • CREATE — позволяет пользователям создавать новые базы данных или таблицы.
  • DROP — Позволяет пользователям удалять базы данных или пользователей.
  • INSERT — Позволяет пользователям вставлять строки в таблицы.
  • DELETE — Позволяет пользователям удалять строки из таблиц.
  • SELECT — с разрешением «SELECT» пользователи могут читать содержимое таблицы.
  • ОБНОВЛЕНИЕ — позволяет пользователям обновлять строки в таблице.
  • ОПЦИЯ ПРЕДОСТАВЛЕНИЯ — Пользователи могут предоставлять или удалять права других пользователей.

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

 MariaDB [none]> GRANT тип_преступления НА имя_базы_данных.table_name TO 'имя пользователя' @ 'localhost';
 

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

 MariaDB [none]> GRANT тип_преступления ON имя_базы_данных. * TO 'имя пользователя' @ 'localhost';
 

Например, чтобы назначить права доступа SELECT пользователю « tecmint » для всех таблиц базы данных testdb , выполните команду.

 MariaDB [нет]> ВЫБРАТЬ ВЫБОР НА testdb.* TO 'tecmint' @ 'localhost';
 

Затем очистите права доступа, чтобы изменения вступили в силу.

 MariaDB [нет]> ПРИВИЛЕГИИ ПРОМЫВКИ;
 

Назначение разрешений на выбор пользователю в базе данных

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

 MariaDB [нет]> GRANT  INSERT ,  UPDATE  ON  testdb . * TO ' tecmint ' @ 'localhost';
 

Назначьте несколько разрешений для базы данных

Как отозвать разрешения MySQL

Чтобы отозвать разрешения у пользователя, используйте синтаксис:

 MariaDB [нет]> ОТЗЫВАТЬ  тип_ разрешения  ВКЛ  имя_базы_данных.table_name  FROM 'имя пользователя' @ 'localhost';
 

Например, чтобы отозвать разрешения INSERT у пользователя « tecmint », выполните команду.

 MariaDB [нет]> ОТЗЫВАТЬ  ВСТАВИТЬ  НА  testdb . * FROM tecmint '@' localhost ';
MariaDB [none]> СМЫВАТЬ ПРИВИЛЕГИИ
 

Отозвать разрешения MySQL

Чтобы просмотреть текущие разрешения пользователя, выполните:

 MariaDB [none]> ПОКАЗАТЬ ГРАНТЫ ДЛЯ 'username' @ 'localhost';
 

Из выходных данных ниже мы видим, что разрешение INSERT было удалено у пользователя « tecmint », оставив только права SELECT и UPDATE для базы данных testdb .

Проверка разрешений пользователя MySQL

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

 MariaDB [нет]> выйти;
 

Затем войдите снова.

 $ sudo mysql -u tecmint -p
 

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

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

 MariaDB [нет]> УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ 'имя пользователя' @ 'localhost';
 

Вы также можете прочитать следующие статьи по MySQL:

Заключение

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

Если вы цените то, что мы делаем здесь, на TecMint, вам следует принять во внимание:

TecMint — это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей доступны БЕСПЛАТНО для всех.

Если вам нравится то, что вы читаете, пожалуйста, купите нам кофе (или 2) в знак признательности.

Мы благодарны за вашу бесконечную поддержку.

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

Синтаксис

Чтобы создать пользователя в MySQL / MariaDB 5.7.6 и выше, используйте CREATE USER Синтаксис :

  СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'new_user' @ 'localhost' ИДЕНТИФИЦИРОВАНО 'new_password';
  

, затем, чтобы предоставить весь доступ к базе данных (например, my_db ), используйте синтаксис GRANT , например

  ПРЕДОСТАВИТЬ ВСЕ НА my_db. * TO 'new_user' @ 'localhost';
  

Где ВСЕ ( priv_type ) можно заменить определенной привилегией, например SELECT , INSERT , UPDATE , ALTER и т. Д.

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

  ПРИВИЛЕГИИ ПРОМЫВКИ;
  

Исполнение

Чтобы запустить вышеуказанные команды, вам необходимо запустить команду mysql и ввести их в командной строке, а затем выйти из системы с помощью команды quit или Ctrl D .

Для запуска из оболочки используйте параметр -e (замените SELECT 1 одной из приведенных выше команд):

  $ mysql -e "ВЫБРАТЬ 1"
  

или распечатать выписку со стандартного ввода:

  $ echo "ЗАЯВЛЕНИЕ FOO" | MySQL
  

Если у вас отказано в доступе с указанным выше, укажите параметры -u (для пользователя) и -p (для пароля), или для долгосрочного доступа укажите свои учетные данные в ~ /.my.cnf , например

  [клиент]
пользователь = корень
пароль = корень
  

Интеграция с оболочкой

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

Вот пример:

  $ mysql-create-user админ mypass
| СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'admin' @ 'localhost', ОПРЕДЕЛЕННЫЙ 'mypass'

$ mysql-create-db foo
| СОЗДАТЬ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ foo

$ mysql-grant-db админ foo
| ПРЕДОСТАВИТЬ ВСЕ НА foo.* К 'admin' @ 'localhost'
| ПРИВИЛЕГИИ СМЫВАНИЯ

Администратор $ mysql-show-grants
| ПОКАЗАТЬ ГРАНТЫ ДЛЯ 'admin' @ 'localhost'
| Гранты для admin @ localhost
| ПРЕДОСТАВЛЯЙТЕ ИСПОЛЬЗОВАНИЕ *. * ДЛЯ 'admin' @ 'localhost', ОПРЕДЕЛЕННОГО ПАРОЛЕМ '* 6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4' |
| ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА `foo`. * 'Admin' @ 'localhost'

$ mysql-drop-user администратор
| УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ 'admin' @ 'localhost'

$ mysql-drop-db foo
| УДАЛИТЬ БАЗУ ДАННЫХ, ЕСЛИ СУЩЕСТВУЕТ foo
  

Чтобы использовать приведенные выше команды, вам необходимо скопировать и вставить следующие функции в файл rc (например,грамм. .bash_profile ) и перезагрузите оболочку или создайте файл. В этом случае просто введите исходный код .bash_profile :

  # Создать пользователя в MySQL / MariaDB.
mysql-create-user () {
  [-z "$ 2"] && {echo "Использование: mysql-create-user (пользователь) (пароль)"; возвращаться; }
  mysql -ve "СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ '$ 1' @ 'localhost', ОПРЕДЕЛЕННЫЙ '$ 2'"
}

# Удалить пользователя из MySQL / MariaDB
mysql-drop-user () {
  [-z "$ 1"] && {echo "Использование: mysql-drop-user (пользователь)"; возвращаться; }
  mysql -ve "УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ '$ 1' @ 'localhost';"
}

# Создать новую базу данных в MySQL / MariaDB.mysql-create-db () {
  [-z "$ 1"] && {echo "Использование: mysql-create-db (db_name)"; возвращаться; }
  mysql -ve "СОЗДАТЬ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ $ 1"
}

# Удалить базу данных в MySQL / MariaDB.
mysql-drop-db () {
  [-z "$ 1"] && {echo "Использование: mysql-drop-db (db_name)"; возвращаться; }
  mysql -ve "УДАЛИТЬ БАЗУ ДАННЫХ, ЕСЛИ СУЩЕСТВУЕТ $ 1"
}

# Предоставить пользователю все разрешения для данной базы данных.
mysql-grant-db () {
  [-z "$ 2"] && {echo "Использование: mysql-grand-db (пользователь) (база данных)"; возвращаться; }
  mysql -ve "ПРЕДОСТАВЛЯТЬ ВСЕ НА $ 2.* TO '$ 1' @ 'localhost' "
  mysql -ve "ПРИВИЛЕГИИ ПРОМЫВКИ"
}

# Показать разрешения текущего пользователя.
mysql-show-grants () {
  [-z "$ 1"] && {echo "Использование: mysql-show-grants (пользователь)"; возвращаться; }
  mysql -ve "ПОКАЗАТЬ ГРАНТЫ ДЛЯ '$ 1' @ 'localhost'"
}
  

Примечание. Если вы предпочитаете не оставлять следов (например, паролей) в истории Bash, проверьте: Как предотвратить отображение команд в истории Bash?

Как создать базу данных MySQL с помощью MySQL Workbench

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

  • Вам потребуется логин пользователя root или администратора базы данных на сервере MySQL или логин пользователя с разрешением на создание новых баз данных.
  • Серверы MySQL обычно не допускают входа пользователя root с удаленного хоста. Сначала вам нужно будет создать учетную запись пользователя DBA или использовать MySQL Workbench, локально установленную на сервере Mysql.
  • Вам потребуется установить рабочую среду MySQL.Чтобы загрузить последнюю версию, нажмите сюда.

Откройте программное обеспечение MySQL Workbench.

ДВОЙНОЙ щелкните свой экземпляр MySQL в разделе SQL Development Workbench, чтобы создать новую схему.

ПРИМЕЧАНИЕ. Базы данных в MySQL Workbench называются схемами.

Workbench MySQL может потребовать входа на ваш сервер MySQL. Введите свой root или пользователя и пароль, которому были назначены привилегии сервера dba.

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

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

Нажмите Готово .

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

Щелкните значок Home в верхнем левом углу, чтобы вернуться на экран Workbench Central.Щелкните свой экземпляр сервера MySQL в разделе Server Administrator рабочей среды MySQL, чтобы создать нового пользователя базы данных и назначить привилегии для вашей новой базы данных.

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

Чтобы назначить этому пользователю права доступа к определенной базе данных, щелкните вкладку Schema Privileges . Щелкните учетную запись пользователя в списке пользователей слева. Нажмите кнопку Добавить запись .

Выберите радио-опцию Selected Schema и выберите схему базы данных из списка.

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

Выбрать, Вставить, Обновить, Удалить, Создать, Изменить, Индексировать, Удалить, Создать временные таблицы, Блокировать таблицы

Теперь вы можете протестировать свой новый логин с помощью MySQL Workbench со своей вновь созданной учетной записью.

Как мне предоставить привилегии в MySQL?

Обзор

Поскольку Plesk не разрешает пользователям GRANT привилегии через панель управления Plesk, вам нужно будет создать эти разрешения через командную строку.

Расширенная поддержка может помочь!

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

Официальную документацию по MySQL см. На http://www.MySQL.com.

Требования

  • У вас должен быть настроен SSH-доступ для пользователя root или sudo.

ПРОЧИТАЙТЕ МЕНЯ ПЕРВЫЙ

Эта статья предоставлена ​​любезно. Установка, настройка и устранение неполадок сторонних приложений выходит за рамки поддержки, предоставляемой (mt) Media Temple. Найдите минутку, чтобы просмотреть Заявление о поддержке.

Инструкции

Для целей этой статьи мы собираемся использовать привилегию «SELECT».Весь предоставленный код является примерами. Убедитесь, что вы изменили:

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

Начните с входа на свой сервер через SSH и входа в MySQL, введя следующее:

  mysql -u admin -p`cat / etc / psa / .psa.shadow`  

Теперь приглашение должно выглядеть так:

  MySQL>  

Введите следующее, если пользователь базы данных уже существует.:

 
ПРЕДОСТАВИТЬ ВЫБОР ДЛЯ БД. * К пользователю @ 'localhost';
  

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

 
GRANT SELECT ON database. * ДЛЯ пользователя @ 'localhost', ОПРЕДЕЛЕННОГО 'паролем';
  

Чтобы включить больше параметров, вы должны разделить их запятыми. Итак, чтобы включить SELECT, INSERT и DELETE, ваш синтаксис будет выглядеть так:

 
ПРЕДОСТАВИТЬ ВЫБОР, ВСТАВИТЬ, УДАЛИТЬ В базе данных К имени пользователя @ 'localhost', ОПРЕДЕЛЕННОМ 'паролем';
  

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

 
ПРИВИЛЕГИИ ПРОМЫВКИ;
  

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

 
выберите * из mysql.пользователь, где Пользователь = 'имя пользователя';
  

Это список привилегий, которые вы можете предоставить:

Привилегия Значение
ВСЕ [ПРИВИЛЕГИИ] Устанавливает все простые привилегии, кроме GRANT OPTION
АЛЬТЕР Позволяет использовать ALTER TABLE
СОЗДАТЬ Позволяет использовать CREATE TABLE
СОЗДАТЬ ВРЕМЕННЫЕ ТАБЛИЦЫ Позволяет использовать СОЗДАТЬ ВРЕМЕННУЮ ТАБЛИЦУ
УДАЛИТЬ Позволяет использовать DELETE
КАПЛЯ Позволяет использовать ТАБЛИЦУ ОТПРАВКИ
ВЫПОЛНИТЬ Не реализовано
ФАЙЛ Разрешает использование SELECT… В OUTFILE и ЗАГРУЗИТЬ ДАННЫЕ INFILE
ИНДЕКС Позволяет использовать CREATE INDEX и DROP INDEX
ВСТАВИТЬ Позволяет использовать INSERT
ТАБЛИЦЫ ЗАМКА Разрешает использование LOCK TABLES для таблиц, для которых у вас есть привилегия SELECT.
ПРОЦЕСС Позволяет пользователю видеть все процессы с SHOW PROCESSLIST
ССЫЛКИ Не реализовано
ПЕРЕЗАГРУЗИТЬ Позволяет использовать FLUSH
КЛИЕНТ РЕПЛИКАЦИИ Позволяет пользователю спрашивать, где находятся подчиненные или главные серверы.
РЕПЛИКАЦИЯ SLAVE Требуется для ведомых устройств репликации (для чтения событий двоичного журнала от ведущего устройства)
ВЫБРАТЬ Позволяет использовать SELECT
ПОКАЗАТЬ БАЗЫ ДАННЫХ ПОКАЗАТЬ БАЗЫ ДАННЫХ показывает все базы данных
ВЫКЛЮЧЕНИЕ Позволяет использовать завершение работы MySQLadmin
СУПЕР Позволяет использовать операторы CHANGE MASTER, KILL, PURGE MASTER LOGS и SET GLOBAL, команду отладки MySQLadmin; позволяет подключиться (один раз), даже если max_connections достигнуто
ОБНОВЛЕНИЕ Позволяет использовать ОБНОВЛЕНИЕ
ИСПОЛЬЗОВАНИЕ Синоним привилегии
ОПЦИЯ ПРЕДОСТАВЛЕНИЯ Позволяет предоставлять привилегии

Ресурсы

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

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

В этой статье

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

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

Примечание

В этой статье содержится ссылка на термин slave , термин, который корпорация Майкрософт больше не использует. Когда термин будет удален из программного обеспечения, мы удалим его из этой статьи.

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

Пользователь с правами администратора сервера имеет следующие права:

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

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

Примечание

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

Плагины паролей, такие как validate_password и caching_sha2_password , не поддерживаются службой.

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

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

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

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

  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. Получите информацию о подключении и имя пользователя с правами администратора.
    Чтобы подключиться к серверу базы данных, вам потребуется полное имя сервера и учетные данные администратора. Вы можете легко найти имя сервера и информацию для входа на странице Overview или на странице 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' @ '%';
      

azure_superuser

Все серверы базы данных Azure для MySQL создаются пользователем с именем «azure_superuser».Это системная учетная запись, созданная Microsoft для управления сервером с целью мониторинга, резервного копирования и другого регулярного обслуживания. Дежурные инженеры также могут использовать эту учетную запись для доступа к серверу во время инцидента с проверкой подлинности сертификата и должны запрашивать доступ, используя процессы точно в срок (JIT).

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

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

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

Предоставить разрешения пользователю MySQL в Linux через командную строку

Предварительная проверка

  • Эти инструкции предназначены для предоставления разрешений пользователю MySQL в Linux через командную строку.
  • Я буду работать с управляемым ядром Liquid Web Core. Сервер CentOS 6.5, и я войду в систему как root.

Вход в MySQL

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

В этом случае я указал корень пользователя с помощью флага -u, а затем используется флаг -p, поэтому MySQL запрашивает пароль.Введите свой текущий пароль для завершения входа в систему.

Теперь вы должны быть в приглашении MySQL, которое очень похоже на это:

Предоставить разрешения пользователю MySQL

Базовый синтаксис для предоставления разрешений следующий:

GRANT разрешение ON database.table TO 'user '@' localhost ';

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

  • ВСЕ — Разрешить полный доступ к определенной базе данных. Если база данных не указана, разрешите полный доступ ко всему MySQL.
  • CREATE — Разрешить пользователю создавать базы данных и таблицы.
  • DELETE — Разрешить пользователю удалять строки из таблицы.
  • DROP — Разрешить пользователю удалять базы данных и таблицы.
  • EXECUTE — Разрешить пользователю выполнять сохраненные подпрограммы.
  • GRANT OPTION — Разрешить пользователю предоставлять или удалять права другого пользователя.
  • INSERT — Разрешить пользователю вставлять строки из таблицы.
  • SELECT — Разрешить пользователю выбирать данные из базы данных.
  • ПОКАЗАТЬ БАЗЫ ДАННЫХ — Разрешить пользователю просматривать список всех баз данных.
  • ОБНОВЛЕНИЕ — Разрешить пользователю обновлять строки в таблице.

GRANT CREATE ON *. * TO 'testuser' @ 'localhost';

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

Пример № 2: Чтобы предоставить testuser возможность отбрасывать таблицы в конкретной базе данных tutorial_database, используйте разрешение DROP:

GRANT DROP ON tutorial_database.* TO 'testuser' @ 'localhost';

По завершении изменения разрешений рекомендуется перезагрузить все права с помощью команды flush!

Просмотр грантов для пользователя MySQL

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

ПОКАЗАТЬ ГРАНТЫ ДЛЯ 'testuser' @ 'localhost';

Управление пользователями — документация phpMyAdmin 5.2.0-dev

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

В phpMyAdmin управление пользователями осуществляется через ссылку «Пользователи».
с главной страницы. Пользователи могут создаваться, редактироваться и удаляться.

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

Чтобы создать нового пользователя, щелкните ссылку Добавить нового пользователя внизу
страницы «Пользователи» (вы должны быть «суперпользователем», например.g., пользователь «root»).
Используйте текстовые поля и раскрывающиеся списки, чтобы настроить пользователя в соответствии с вашими предпочтениями.
потребности. Затем вы можете выбрать, создавать ли базу данных для этого пользователя и предоставить
определенные глобальные привилегии. Создав пользователя (нажав кнопку «Перейти»), вы
может определять права этого пользователя в конкретной базе данных (не предоставляйте глобальные
привилегии в этом случае). Как правило, пользователям не нужны глобальные привилегии.
(кроме ИСПОЛЬЗОВАНИЯ), только разрешения для их конкретной базы данных.

Редактирование существующего пользователя

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

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

На странице «Пользователи» установите флажок для пользователя, которого вы хотите
удалить, выберите, следует ли также удалять любые базы данных с тем же именем (если
они существуют) и нажмите Go.

Назначение привилегий пользователю для конкретной базы данных

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

Настраиваемые меню и группы пользователей

Включив $ cfg ['Серверы'] [$ i] ['пользователи'] и
$ cfg ['Servers'] [$ i] ['usergroups'] вы можете настроить, какие пользователи
будет видеть в навигации phpMyAdmin.

Предупреждение

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

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

.

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

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