Содержание

Создание пользователей для Базы данных 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, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER.

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

Примечание

Разрешение SUPER и роль администратора баз данных не поддерживается. Изучите информацию о разрешениях в статье с описанием ограничений, чтобы узнать, что не поддерживается в этой службе.

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

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

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

    Обзор сервера или на странице Свойства на портале Azure.

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

Примечание

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

  1. Измените и выполните следующий код SQL. Замените значение заполнителя

    db_user именем нового пользователя. Замените значение заполнителя testdb именем базы данных.

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

    CREATE DATABASE testdb;
    

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

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

CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';
FLUSH PRIVILEGES;

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

Выполните инструкцию MySQL SHOW GRANTS, чтобы просмотреть привилегии, которые предоставлены пользователю db_user в базе данных testdb.

USE testdb;
SHOW GRANTS FOR 'db_user'@'%';

Подключение к базе данных с помощью нового пользователя

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

Ограничение привилегий для пользователя

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

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;

Об azure_superuser

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

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

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

Как Создать Пользователя MySQL и Настроить Права Доступа

MySQL

Июл 29, 2020

Elena B.

4хв. читання

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

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

Получите скидку до 77% на пакеты VPS-хостинга.

Смотреть планы

Прежде чем мы перейдём к следующему разделу руководства, убедитесь, что вы установили MySQL. У нас есть отличные учебные пособия о том, как установить БД на Ubuntu и CentOS.

ОБРАТИТЕ ВНИМАНИЕ. Мы будем использовать командную строку, чтобы подключиться к нашему Linux VPS как root-пользователь. Вы можете использовать PuTTY (Windows) или свой терминал (macOS, Linux) и войти в систему, используя данные своего root-доступа SSH, предоставленные вашим хостинг-провайдером.

Оглавление

Создайте Учётную Запись Пользователя MySQL и Предоставьте Неограниченные Права Доступа

Как только вы начнёте использовать MySQL, вам будет предоставлено имя пользователя и пароль. Эти базовые учётные данные дают вам root-доступ, или полный контроль над всеми базами данных и таблицами.

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

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

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

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

Чтобы создать новую учётную запись пользователя в MySQL, выполните следующие действия:

  1. Запустите командную строку и из неё сервер MySQL:
    mysql
  2. Сценарий вернёт следующий результат, подтверждающий, что вы обращаетесь к серверу MySQL.
    mysql>
  3. Затем выполните следующую команду:
    CREATE USER 'novyi_polzovatel'@'localhost' IDENTIFIED BY 'parol';
  4. novyi_polzovatel — это имя, которое мы дали нашей новой учётной записи, а часть IDENTIFIED BY ‘parol’ устанавливает пароль для этого пользователя. Вы можете заменить значения внутри кавычек.
  5. Чтобы назначить созданном пользователю неограниченные права доступа к базе данных, выполните следующую команду:
    GRANT ALL PRIVILEGES ON * . * TO 'novyi_polzovatel'@'localhost';
  6. Для того, чтоб изменения вступили в силу запустите команду обновления:
    FLUSH PRIVILEGES;

Это всё. Ваш новый пользователь получил те же права доступа в базе данных, что и пользователь root.

Назначьте Специальные Права Доступа для Пользователя MySQL

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

Кроме того, замените значение ТИП_ПРАВ типом доступа, который вы хотите предоставить своему новому пользователю.

В MySQL есть несколько типов прав доступа, некоторые из них описаны ниже:

  • CREATE — Позволяет пользователям создавать базы данных/таблицы
  • SELECT — Разрешает делать выборку данных
  • INSERT — Право добавлять новые записи в таблицы
  • UPDATE — Позволяет изменять существующие записи в таблицах
  • DELETE — Даёт право удалять записи из таблиц
  • DROP — Возможность удалять записи в базе данных/таблицах

ОБРАТИТЕ ВНИМАНИЕ. Тип прав ALL PRIVILEGES даёт все перечисленные выше разрешения.

Для использования любой из этих опций, просто замените ТИП_ПРАВ необходимым разрешением. Чтобы назначить несколько видов прав доступа, разделите их запятыми как в следующей команде. Например, мы можем назначить привилегии CREATE и SELECT нашему пользователю MySQL без полномочий root следующей командой:

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

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

REVOKE ТИП_ПРАВ ON имя_базы_данных.имя_таблицы FROM ‘imia_polzovatelia’@‘localhost’;

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

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

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

DROP USER ‘imia_polzovatelia’@‘localhost’;

ОБРАТИТЕ ВНИМАНИЕ. Для запуска любой из этих команд вам необходим root-доступ. Также, обязательно выполняйте FLUSH PRIVILEGES; Команда после внесения изменений.

Просмотр Прав Доступа Пользователя MySQL

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

SHOW GRANTS FOR 'imia_polzovatelia'@'localhost';

Вывод будет выглядеть примерно так:

+---------------------------------------------------------------------------+
| Grants for imia_polzovatelia@localhost                                             |
+---------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'imia_polzovatelia'@'localhost'                              |
| GRANT ALL PRIVILEGES ON 'имя_базы_данных'.* TO 'imia_polzovatelia'@'localhost'.    |
| REVOKE ALL PRIVILEGES ON * . * FROM 'imia_polzovatelia'@'localhost';  |
+---------------------------------------------------------------------------+
3 rows in set (0. 00 sec)

Что Такое База Данных MySQL?

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

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

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

MySQL — одна из самых популярных систем управления базами данных. Её популярность объясняется простотой использования и поддержкой огромного сообщества. Даже такие платформы, как Facebook и Twitter, в некоторой степени используют MySQL.

Заключение

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

В этом руководстве вы узнали несколько основных команд для работы в MySQL, в том числе КАК:

  • Создать пользователя MySQL и предоставить ему полные права доступа
  • Назначить и отозвать определённые разрешения, а также полностью удалить пользователя MySQL
  • Посмотреть разрешения пользователя MySQL

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

Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.

Більше статей від Elena B.

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

В этой статье мы с вами разберём предоставление прав доступа различного уровня третьим лицам. Создание пользователя в MySQL начинает работу, ведь без создания юзерских аккаунтов сделать нельзя решительно ничего. Также рассмотрим предоставление права доступа к созданным таблицам, без хорошего понимания которых работа с облачными сервисами вроде cloud.timeweb.com будет совершенно невозможна.

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

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

CREATE USER [IF NOT EXISTS]
user [auth_option] [, user [auth_option]] ...
DEFAULT ROLE role [, role ] ...
[REQUIRE {NONE | tls_option [[AND] tls_option] ...}]
[WITH resource_option [resource_option] ...]
[password_option | lock_option] ...
[COMMENT 'comment_string' | ATTRIBUTE 'json_object']

Описание полей:

  • [IF NOT EXISTS] – если пользователь существует, то команда остановит выполнение. Необязательный параметр.
  • User – имя учетной записи. Состоит из имени пользователя и имени хоста. (‘user_name‘@’host_name‘). Часть ‘host_name‘ является не обязательной (задает хост, с которого можно будет подключиться с данным именем, % — означает все возможные хосты). Если мы хотим в MySQL создать пользователя для удалённого подключения, то можно указать доменное имя, IP-адрес или адрес подсети. Имя учетной записи, состоящей только из имени пользователя, можно записать так: ‘user_name‘@’%‘ – такая учетная запись будет доступна с любого хоста. Кроме того, можно создать анонимного пользователя: »@’localhost’.
  • [auth_option] необязательное значение, указывает, как учетная запись проходит аутентификацию (пароль, свойства блокировки и т.д.).
  • DEFAULT ROLE – задает роль пользователя.
  • REQUIRE {NONE | tls_option [[AND] tls_option] …} – если указано, то проверяет сертификат X. 509 в дополнении к обычной аутентификации.
  • WITH – если указано, позволяет установить ограничение на использование ресурсов сервера. Например, ограничить кол-во запросов, обновлений или подключений к серверу.
  • password_option – параметры управления паролями (необязательный параметр). Например, срок действия, ограничение повторного использования, отслеживание неудачных попыток входа.
  • COMMENT…| ATTRIBUTE – добавление пользовательских комментариев или атрибутов в формате json (нельзя использовать одновременно). Необязательный параметр.

Выдача привилегий

Создать пользователя и дать права на базу в MySQL – первое, что вы делаете, начиная работу. Чтобы выдать привилегии или назначить роль (роль – это именованный набор привилегий) используется оператор GRANT. Одновременно выдать и то, и другое нельзя. Чтобы выдавать привилегии, необходимо самому иметь эти привилегии.

Синтаксис для определения роли учетной записи:

GRANT role [, role] . ..
TO user_or_role [, user_or_role] ...
[WITH ADMIN OPTION]
  • role – роль, которую предоставляем.
  • user_or_role – имя учетной записи или роль.
  • WITH ADMIN OPTION – если указано, то с учетной записи, которой предоставили роль, можно будет также выдать эту роль кому-то ещё. Пример:
GRANT 'role1', 'role2' TO 'user1'@'localhost', 'user2'@'localhost';

Синтаксис для добавления привилегий:

GRANT
priv_type
ON [object_type] priv_level
TO user_or_role
  • priv_type – тип привилегий. Их много. Например, привилегии для создания таблиц, их обновления, заполнения или удаления; для создания ролей, пользователей, индексов; привилегии администрирования резервного копирования и учетных записей без паролей и много-много всего еще.
  • object_type – если указано, задает тип следующего объекта (может быть TABLE, FUNCTION или PROCEDURE). 
  • priv_level – задает уровень привилегий.

Привилегии могут быть:

  • глобальные – например, на создание пользователей. Применяются ко всем базам на сервере. Синтаксис: ON *.*
 GRANT SELECT, INSERT ON *.* TO 'user_name'@'localhost';
  • баз данных – применяются ко всем объектам в указанной базе данных. Применяются для создания или удаления таблиц. Пример:
 GRANT SELECT, INSERT ON mydb.* TO 'user_name'@'localhost';
  • таблиц – применяются ко всем столбцам в таблице. Применяется вставка или обновление записей. Пример:
GRANT SELECT, INSERT ON mydb.mytable TO 'user_name'@'localhost';
  • столбцов – применяется к определенным столбцам (вставка, просмотр, обновление данных). В примере за привилегией следует название столбца в круглых скобках:
 GRANT SELECT (col1), INSERT (col1, col2) ON mydb.mytbl TO 'user_name'@'localhost';

Также есть привилегии подпрограмм и прокси-пользователей.

Если предоставить учетной записи все привилегии, то можно создать «суперпользователя»:

 GRANT ALL ON *. * TO 'user_name'@'localhost';

Для того чтобы отозвать роли или привилегии учетной записи, используется REVOKE.

REVOKE INSERT ON *.* FROM 'user_name'@'localhost';

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

Чтобы удалить пользователя, используется DROP:

DROP USER 'user_name'@'localhost';
Тарифы MySQL

Заключение

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

Как создать базу данных MySQL на Amazon Web Services

с помощью Amazon RDS

Из этого учебного пособия вы узнаете, как создавать среду для работы базы данных MySQL (она называется инстанс), подключаться к ней и удалять инстанс БД.  Эти операции будут выполнены с помощью сервиса Amazon Relational Database Service (Amazon RDS). Все действия, описанные в данном учебном пособии, доступны на уровне бесплатного пользования.

Щелкните здесь, и в новом окне браузера откроется Консоль управления AWS. При этом пошаговое руководство останется открытым. Когда экран загрузится, найдите пункт RDS в списке Database (База данных) и нажмите его, чтобы открыть консоль Amazon RDS.

(Щелкните, чтобы увеличить.)

На этом этапе с помощью Amazon RDS будет создан инстанс БД MySQL класса db.t2.micro с хранилищем на 20 ГБ и активацией автоматического резервного копирования (срок хранения копий равен одному дню). Напоминаем, что все эти операции доступны на уровне бесплатного пользования.

а) В правом верхнем углу консоли Amazon RDS выберите параметр Region (Регион) и укажите регион, в котором требуется создать инстанс БД.

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

(Щелкните, чтобы увеличить.)

б)   В разделе Create database (Создать базу данных) выберите Create database (Создать базу данных).

 

 

(Щелкните, чтобы увеличить.)

в)  Теперь можно выбрать ядро СУБД.  Для выполнения заданий этого учебного пособия щелкните значок MySQL, выберите Only enable options eligible for RDS Free Usage Tier (Включить только настройки уровня бесплатного пользования RDS) и щелкните Next (Далее).

 

(Щелкните, чтобы увеличить.)

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

Характеристики инстанса

  • License model (Модель лицензии): выберите значение по умолчанию general-public-license, чтобы использовать общее лицензионное соглашение для MySQL. В MySQL предусмотрена только одна модель лицензии.
  • DB Engine Version (Версия ядра БД): выберите версию MySQL, заданную по умолчанию. Обратите внимание, что в некоторых регионах Amazon RDS поддерживает несколько версий MySQL.
  • DB Instance Class (Класс инстанса БД): выберите db.t2.micro — 1vCPU, 1 GIB RAM.  Это значение соответствует памяти объемом 1 ГБ и одному виртуальному ЦП. Список поддерживаемых классов инстансов см. на странице Сведения о продукте Amazon RDS.
  • Multi-AZ deployment (Развертывание в нескольких зонах доступности): обратите внимание, что развертывание в нескольких зонах доступности является платным. В случае развертывания в нескольких зонах доступности в другой зоне автоматически создается и поддерживается синхронизированная резервная реплика.   Дополнительную информацию см. в разделе Развертывание с обеспечением высокой доступности.
  • Storage Type (Тип хранилища): выберите значение General Purpose (SSD) (Общего назначения (SSD)). Подробную информацию о хранении см. в разделе Хранилище для Amazon RDS.
  • Allocated Storage (Выделенное хранилище): выберите значение по умолчанию «20». Для базы данных будет выделено 20 ГБ.  При работе с Amazon RDS for MySQL возможно масштабирование не более чем до 16 ТБ.
  • Enable storage autoscaling (Включить автомасштабирование хранилища): если рабочая нагрузка имеет циклический и непредсказуемый характер, рекомендуется включить функцию автомасштабирования хранилища, чтобы при необходимости сервис RDS мог автоматически масштабировать хранилище. При выполнении заданий этого учебного пособия мы не будем использовать этот параметр.

Параметры

  • DB Instance Identifier (Идентификатор инстанса БД): укажите имя инстанса БД. Оно должно быть уникальным в рамках аккаунта пользователя в выбранном регионе. В данном примере инстансу будет присвоено имя rds-mysql-10minTutorial.
  • Master Username (Главное имя пользователя): укажите имя пользователя для входа в инстанс БД. В данном примере будет использоваться значение masterUsername.
  • Master Password (Главный пароль): в качестве главного пароля укажите комбинацию, содержащую от 8 до 41 печатного символа в кодировке ASCII (кроме символов «/», «»» и «@»).
  • Confirm Password (Подтвердите пароль): введите пароль повторно.
  • Allocated Storage (Выделенное хранилище): введите значение «5». Для базы данных будет выделено 5 ГБ. Дополнительную информацию о выделенных хранилищах см. в разделе «Возможности сервиса Amazon Relational Database Service» (элементы расположены по типу хранилища, но порядок сортировки можно поменять).

Нажмите Next (Далее).

 

(Щелкните, чтобы увеличить.)

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

Сеть и безопасность

  • Virtual Private Cloud (VPC): выберите Default VPC (VPC по умолчанию). Дополнительную информацию о VPC см. в разделе Amazon RDS и Amazon Virtual Private Cloud (VPC).
  • Subnet Group (Группа подсетей): выберите группу подсетей default (По умолчанию). Дополнительную информацию о группах подсетей см. в разделе Работа с группами подсетей БД.
  • Public accessibility (Общий доступ): выберите Yes (Да). Инстансу базы данных будет присвоен IP-адрес, что позволит подключаться к базе данных непосредственно с пользовательского устройства.
  • Availability Zone (Зона доступности): выберите значение No Preference (Нет предпочтений). Для получения дополнительной информации см. раздел Регионы и зоны доступности.
  • VPC security groups (Группы безопасности VPC): выберите Create new VPC security group (Создать новую группу безопасности VPC). Будет создана группа безопасности, поддерживающая соединение между IP-адресом используемого устройства и созданной базой данных.

Настройки базы данных

  • Database Name (Имя базы данных): введите имя базы данных, которое может содержать от 1 до 64 буквенно-цифровых символов. Если имя не указано, Amazon RDS не сможет автоматически создать базу данных на основе нового инстанса БД.
  • Port (Порт): сохраните значение по умолчанию – 3306.
  • DB Parameter Group (Группа параметров БД): сохраните значение по умолчанию – default. mysql5.6. Дополнительную информацию см. в разделе Работа с группами параметров БД.
  • Option group (Группа настроек): выберите значение по умолчанию default:mysql5.7. С помощью групп настроек в Amazon RDS активируются и настраиваются дополнительные возможности.  Дополнительную информацию см. в разделе Работа с группами настроек.
  • IAM DB authentication (Аутентификация IAM БД): выберите Disable (Отключить). С помощью этой настройки можно управлять данными для доступа к базе данных с использованием пользователей и групп AWS IAM.

Шифрование

Эта настройка недоступна на уровне бесплатного пользования. Дополнительную информацию см. в разделе Шифрование ресурсов Amazon RDS.

Резервное копирование

  • Backup Retention Period (Срок хранения резервных копий): в этом поле можно выбрать количество дней, в течение которого сохраняются резервные данные. В данном случае выберите значение 1 day (1 день).
  • Backup Window (Окно резервного копирования): задайте значение по умолчанию – No Preference (Нет предпочтений).

Мониторинг

  • Enhanced Monitoring (Расширенный мониторинг): выберите Disable enhanced monitoring (Отключить расширенный мониторинг), чтобы остаться на уровне бесплатного пользования. В случае активации расширенного мониторинга в режиме реального времени становятся доступны метрики для операционной системы (ОС), на которой работает инстанс БД. Дополнительную информацию см. в разделе Просмотр метрик инстанса БД.

Performance Insights

Для выполнения заданий этого учебного пособия выберите Disable Performance Insights (Отключить Performance Insights).

Обслуживание

  • Auto minor version upgrade (Автоматическое промежуточное обновление версии): выберите Enable auto minor version upgrade (Включить автоматическое промежуточное обновление версии), чтобы получать автоматические обновления, как только они станут доступны.
  • Maintenance Window (Окно обслуживания): выберите No preference (Нет предпочтений).

Защита от удаления

Отключите параметр Enable deletion protection (Включить защиту от удаления) для выполнения заданий этого учебного пособия. Если этот параметр включен, базу данных невозможно удалить.

 

Нажмите Create database (Создать базу данных).

(Щелкните, чтобы увеличить.)

е) Идет создание инстанса БД.  Щелкните View Your DB Instances (Просмотреть инстансы БД).

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

Новый инстанс БД появится в списке инстансов БД в консоли RDS. Пока инстанс БД не будет создан и готов к использованию, он будет иметь статус creating (создается).  Когда статус изменится на available (доступен), к базе данных можно будет подключиться через инстанс БД.  

Можно не дожидаться доступности инстанса БД и перейти к следующему этапу.

(Щелкните, чтобы увеличить.)

По завершении создания инстанса базы данных и изменения статуса на available (доступен) можно подключиться к базе данных через инстанс БД с помощью любого стандартного клиента SQL. На этом этапе будет выполнена загрузка популярного клиента MySQL Workbench.

а) Перейдите на страницу Download MySQL Workbench (Загрузить MySQL Workbench), чтобы загрузить и установить MySQL Workbench. Подробную информацию об использовании MySQL см. на странице документации по MySQL.

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

(Щелкните, чтобы увеличить. )

б) Пользователю будет предложено выполнить вход в систему, зарегистрироваться или начать загрузку.  Для быстрой загрузки можно выбрать вариант No thanks, just start my download (Нет, спасибо, просто начать загрузку).

(Щелкните, чтобы увеличить.)

На этом этапе будет выполнено подключение к созданной базе данных с помощью MySQL Workbench.

а) Запустите приложение MySQL Workbench и выберите на панели меню База данных > Подключиться к базе данныхCtrl+U.

(Щелкните, чтобы увеличить.)

б) Откроется диалоговое окно.  Укажите в нем следующие данные.

  • Hostname (Имя хоста): имя хоста можно найти в консоли Amazon RDS, как показано на снимке экрана справа.  
  • Port (Порт): значение по умолчанию – 3306.
  • Username (Имя пользователя): введите имя пользователя, созданное для базы данных Amazon RDS.  Для заданий этого учебного пособия будет использоваться имя masterUsername.
  • Password (Пароль): нажмите кнопку Store in Vault (Сохранить в хранилище) или Store in Keychain (Сохранить в цепочке ключей) на macOS и введите пароль, заданный при создании базы данных Amazon RDS.

Щелкните OK (ОК).

 

(Щелкните, чтобы увеличить.)

в) Подключение к базе данных выполнено. В MySQL Workbench будут отображаться различные объекты схем, присутствующие в базе данных. Теперь можно создавать таблицы, вставлять данные и делать запросы.

(Щелкните, чтобы увеличить.)

Удалить инстанс БД MySQL из консоли Amazon RDS очень просто. Рекомендуется обязательно удалять неиспользуемые инстансы, чтобы за них не взималась плата.

а) Вернитесь в консоль Amazon RDS. Выберите Databases (Базы данных), затем выберите инстанс, который необходимо удалить, и нажмите Delete (Удалить) в раскрывающемся меню Actions (Действия).

(Щелкните, чтобы увеличить.)

б) Вам будет предложено сделать последний снимок экрана и подтвердить удаление. В нашем примере не нужно делать последний снимок экрана, просто подтвердите, что вы хотите удалить инстанс и нажмите Delete (Удалить).

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

(Щелкните, чтобы увеличить.)

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

Поддержка AWS для Internet Explorer заканчивается 07/31/2022. Поддерживаемые браузеры: Chrome, Firefox, Edge и Safari. Подробнее »

MySQL База данных Создание пользователя, авторизация и модификация паролей

MySQL База данных Создание пользователя, авторизация и модификация паролей

Теги:  MySQL  SQL  MySQL  Запустить и остановить команду  Создать пользователя  Измени пароль

Время разработки Oracle Database было длинным, измените проект, внезапно используют базу данных MySQL или немного безвредить. В этой статье записывается нормальная работа базы данных MySQL о создании пользователя, авторизации, модификации пароля и запуска службы базы данных.

Команда запуска базы данных

[Примечание] Командная строка не принимает запястья.

#     Служба базы данных:
C:\Users\Administrator> net stop mysql
# - Услуги базы данных:
C:\Users\Administrator> net start mysql

Войдите в root offuls

Введите свой пароль для ввода после mysql -uroot -p

C:\Users\Administrator> mysql -uroot -p

Запрос пользователей создан

mysql> select host,user from mysql.user;

Выполните запрос SQL и запрос 4 пользователей.

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

mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY '1234';

После выполнения создания пользователя SQL, запросите созданную информацию о пользователе.

Авторизация и просмотр результатов авторизации

#Test пользователь выполняет любые действия на файлах в базе данных LocalDabase
mysql> grant all privileges on LocalDatabase.* to 'test'@'localhost';
#Test пользователей имеют какие-либо операции для файлов во всех базах данных
mysql> grant all privileges on *.* to 'test'@'localhost';
# Просмотр авторизации пользователя:	
mysql> show grants for 'test'@'localhost';

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

Отменить авторизацию пользователя

mysql> revoke all privileges on LocalDatabase. * from 'test'@'localhost';

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

mysql> alter user 'test'@'localhost' identified by '123456';

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

mysql> rename user 'test'@'localhost' to 'test1'@'localhost';

Измените пароль пользователя и измените имя пользователя, проверьте список пользователей, отображайте в качестве измененного имени пользователя, как показано ниже:

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

mysql> drop user 'test1'@'localhost';

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


Интеллектуальная рекомендация

Навыки использования Python (7): журнал инструментов журнала.

Модуль ведения журнала — это стандартный модуль, встроенный в Python. Он в основном используется для выходных журналов. Вы можете установить уровень выходных журналов, путей хранения журнала, проката …

Сбежать из лабиринта

Учитывая лабиринт m × n (строка m, столбец n), в лабиринте есть две позиции: Глория хочет перейти из одной позиции лабиринта в другую. Конечно, некоторые места в лабиринте пусты, и Глория может …

Узнание Python: Selenium не поддерживает текст непосредственно в XPath, ошибка: Selenium Message: неверный селектор: результат XPath E

Каталог статьи Демонстрация Решение Метод 1: анализ, использующий XPath в `из LXML Import Etree` Способ 2: Используйте метод селена до XPath’s Text` Демонстрация Отчет: Решение Метод 1: использованиеf…

Режим конструктора мод (режим генератора)

[b] Если ArrayList или HashMap определены как переменная-член класса, в методе должно быть вызвано действие clear (), чтобы предотвратить Данные сбивают с толку. Separate the construction of a complex…

Вторая глава заметок по изучению java: основные типы данных

[Поскольку каждая глава относительно длинная (более 10 страниц, в некоторых местах неизбежно будут допущены опечатки, пожалуйста, поправьте меня, если найдете, я очень благодарен)] Как представить три…

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

ESP32 обучения [1] — разработка экологического строительства (Aithinkeride_v1.

0)

Сначала готова Среда разработки:AiThinkerIDE_V1.0 ESP_IDF:ESP_IDF   Во-вторых, проект импорта 1. Щелкните правой кнопкой мыши → Импорт 2. Нажмите на C / C ++ ветви и выберитеExisting Code as…

Intellij Idea Console выводит китайские корпоративные решения

Во-первых, найдите установочный каталог Intellij Idese, введитеbinКаталог, позиционированиеidea.vmoptionsДокумент, как показано ниже: Дважды щелкните, чтобы открытьidea.vmoptionsДокумент, как показано…

Многопоточные тесты

Подробное графическое объяснение конфигурации кластерного режима распределенной системы обмена сообщениями Kafka_2.13 под Centos_7.2

«Конфигурация кластерного режима распределенной системы сообщений Kafka_2.13 под Centos_7.2» Введение завершено в предыдущем блоге «Конфигурация одноэлементного режима распределенной с…

100 обязательных песен для вождения в 2019 году

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

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

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

Содержание

  • 1 Коротко о базе данных MySQL
    • 1.1 Создание пользователя
    • 1.2 Как дать права пользователю
      • 1.2.1 Пользователями с правами root mysql

Представляет собой реляционную СУ базами данных. Создана посредством языков программирования С и С++. Служит прекрасным инструментом для оптимизации работы веб-ресурсов и приложений.

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

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

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

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

  • MySQL;
  • PostgreSQL;
  • Microsoft SQL;
  • И другие.

Система управления БД MySQL особенно приходится по душе тем, кто любит упорядочивать информацию в табличном виде. Стоит выполнить запрос, и информация извлекается из таблиц. Информация, имеющаяся в таблицах, строго упорядочена. Расположение строк напрямую зависит от данных, размещенных в таблице – при необходимости оно может видоизменяться.

Процесс заполнения таблиц обеспечивает SQL (язык программирования).

Чем может MySQL:

  1. Быстрый доступ к информации;
  2. Быстрая обработка информации;
  3. Надежная защита данных;
  4. Бесплатное пользование;
  5. Понятный интерфейс;
  6. MySQL совместим с ОС Windows и Linux;
  7. Есть шифрование личных данных (паролей).

А теперь перейдем от теории к практике.

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

Заходим в консоль mysql от имени root.

$ mysql -u root -p

ВАЖНО! Если Вы уже залогинились от пользователя root, достаточно ввети команду без параметров — mysql

После этого можно приступать к реализации главной идеи. То есть, добавление нового юзера посредством CREATE USER. Ниже мы распишем синтаксис этой команды.

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

Следуя вышеуказанному синтаксису, юзеру необходимо задать следующую информацию: имя пользователя и тот хост, откуда можно пройти авторизацию. В текущей ситуации указание символа «%» – способ обозначения всех возможных хостов.

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

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

Соответственно, чтобы добавить юзера, доступ к которому появится со всевозможных хостов, нужно поменять в команде «localhost» на «%», как это уже упоминалось ранее.

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

SELECT User,Host FROM mysql.user;

Готово!

Как дать права пользователю

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

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

Какие права назначать пользователю системы – вопрос индивидуальный. Каких-либо чётких рекомендаций здесь быть не может. Единственное, о чем стоит упомянуть, так это о предоставлении всех прав над базой данных. Возможно, кому-то подойдет именно такой вариант. Как это сделать? Рассмотрим ниже.

GRANT ALL PRIVILEGES ON test_database . * TO 'new_user'@'localhost';

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

SHOW GRANTS FOR 'new_user'@'localhost';

На этом еще не всё! После выполненных действий крайне важно произвести обновление таблицы прав пользователей. Это делается так:

FLUSH PRIVILEGES;

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

Рассмотрим еще один вероятный сценарий развития событий. На тот случай, если кому-нибудь понадобится создать пользователя с правами root MySQL. Потребуется еще раз воспользоваться терминалом для реализации задуманного:

Итак, водим текст такого вида:

GRANT ALL PRIVILEGES ON * . * TO 'new_user'@'localhost';

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

GRANT ALL PRIVILEGES ON * . * TO 'new_user'@'localhost' WITH GRANT OPTION;

Готово! Суперпользователь MySQL добавлен, все необходимые привилегии предоставлены.

Заключение

Инструкция по созданию пользователя MySQL, предоставленная в данном материале, актуальна для Ubuntu и других дистрибутивов Debian, Centos…

MySQL :: Справочное руководство по MySQL 8.0 :: 13.7.1.3 Оператор CREATE USER

13.7.1.3 Оператор CREATE USER
 CREATE USER [ЕСЛИ НЕ СУЩЕСТВУЕТ]
      пользователь  [ auth_option ] [  пользователь  [ auth_option ]] ...
    РОЛЬ ПО УМОЛЧАНИЮ  роль  [  роль  ] ...
    [ТРЕБУЕТСЯ {НЕТ |  tls_option  [[И]  tls_option  ] ...}]
    [С  параметр_ресурса  [ параметр_ресурса ] ...]
    [  пароль_параметр  |  lock_option  ] ...
    [КОММЕНТАРИЙ ' comment_string ' | АТРИБУТ ' json_object ']
  пользователь  :
    (см.  Раздел 6.2.4, «Указание имен учетных записей»)
  auth_option  : {
    ОПРЕДЕЛЕН ' auth_string ' [И  2fa_auth_option ]
  | ОПРЕДЕЛЯЕТСЯ СЛУЧАЙНЫМ ПАРОЛЕМ [И  2fa_auth_option  ]
  | ОПРЕДЕЛЕН С  auth_plugin  2fa_auth_option  ]
  | ОПРЕДЕЛЕН С  auth_plugin  BY ' auth_string ' [И  2fa_auth_option ]
  | ОПРЕДЕЛЕН С  auth_plugin  ПО СЛУЧАЙНОМУ ПАРОЛЮ [И  2fa_auth_option  ]
  | ОПРЕДЕЛЕН С  auth_plugin  AS ' auth_string ' [И  2fa_auth_option ]
  | ОПРЕДЕЛЕН С  auth_plugin  [ initial_auth_option ]
}
  2fa_auth_option  : {
    ОПРЕДЕЛЕН ' auth_string ' [И  3fa_auth_option ]
  | ИДЕНТИФИЦИРОВАН ПО СЛУЧАЙНОМУ ПАРОЛЮ [И  3fa_auth_option  ]
  | ОПРЕДЕЛЕН С  auth_plugin  3fa_auth_option  ]
  | ОПРЕДЕЛЯЕТСЯ С  auth_plugin  BY ' auth_string ' [И  3fa_auth_option ]
  | ОПРЕДЕЛЕН С  auth_plugin  ПО СЛУЧАЙНОМУ ПАРОЛЮ [И  3fa_auth_option  ]
  | ОПРЕДЕЛЕН С  auth_plugin  AS ' auth_string ' [И  3fa_auth_option ]
}
  3fa_auth_option  : {
    ИДЕНТИФИКАЦИЯ ' auth_string  '
  | ОПРЕДЕЛЯЕТСЯ СЛУЧАЙНЫМ ПАРОЛЕМ
  | ОПРЕДЕЛЕН С  auth_plugin 
  | ОПРЕДЕЛЕН С  auth_plugin  BY ' auth_string '
  | ОПРЕДЕЛЕН С  auth_plugin  ПО СЛУЧАЙНОМУ ПАРОЛЮ
  | ОПРЕДЕЛЕН С  auth_plugin  AS ' auth_string '
}
  Initial_auth_option  : {
    НАЧАЛЬНАЯ АУТЕНТИФИКАЦИЯ ОПРЕДЕЛЯЕТСЯ ПО {СЛУЧАЙНОМУ ПАРОЛЮ | ' строка_авторизации '}
  | НАЧАЛЬНАЯ АУТЕНТИФИКАЦИЯ ОПРЕДЕЛЕНА С  auth_plugin  AS ' строка_авторизации  '
}
  tls_опция  : {
   SSL
 | Х509
 | ШИФР ' шифр '
 | ЭМИТЕНТ ' эмитент '
 | ТЕМА ' тема '
}
  ресурс_опция  : {
    MAX_QUERIES_PER_HOUR  количество 
  | MAX_UPDATES_PER_HOUR  количество 
  | MAX_CONNECTIONS_PER_HOUR  количество 
  | MAX_USER_CONNECTIONS  количество 
}
  пароль_опция  : {
    СРОК ИСХОДА ПАРОЛЯ [ПО УМОЛЧАНИЮ | НИКОГДА | ИНТЕРВАЛ  N  ДЕНЬ]
  | ИСТОРИЯ ПАРОЛЕЙ {ПО УМОЛЧАНИЮ |  Н  }
  | ИНТЕРВАЛ ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ ПАРОЛЯ {ПО УМОЛЧАНИЮ |  N  ДЕНЬ}
  | ТРЕБУЕТСЯ ПАРОЛЬ ТЕКУЩИЙ [ПО УМОЛЧАНИЮ | ПО ЖЕЛАНИЮ]
  | FAILED_LOGIN_ATTEMPTS  N 
  | PASSWORD_LOCK_TIME { N  | НЕОГРАНИЧЕННЫЙ}
}
  lock_option  : {
    БЛОКИРОВКА УЧЕТНОЙ ЗАПИСИ
  | РАЗБЛОКИРОВКА АККАУНТА
} 

Оператор CREATE USER создает новые учетные записи MySQL. Он включает аутентификацию, роль, SSL/TLS, лимит ресурсов, управление паролями, комментарии и атрибуты свойства, которые необходимо установить для новых учетных записей. Он также контролирует были ли учетные записи изначально заблокированы или разблокированы.

Чтобы использовать CREATE USER , вы должны иметь глобальная привилегия CREATE USER , или привилегия INSERT для схема системы mysql . Когда только для чтения системная переменная включено, CREATE USER дополнительно требуется CONNECTION_ADMIN привилегия (или устаревшая привилегия SUPER ).

Начиная с MySQL 8.0.27, эти дополнительные соображения о привилегиях подать заявление:

  • Политика аутентификации системная переменная накладывает определенные ограничения на то, как пункты, относящиеся к аутентификации Операторы CREATE USER могут быть использовал; подробности см. в описании этой переменной. Эти ограничения не применяются, если у вас есть AUTHENTICATION_POLICY_ADMIN привилегия.

  • Чтобы создать учетную запись, использующую аутентификацию без пароля, вы должны иметь ПАРОЛЬ_USER_ADMIN привилегия.

Начиная с MySQL 8.0.22, CREATE USER завершается с ошибкой, если любая создаваемая учетная запись называется DEFINER атрибут для любого сохраненного объекта. (То есть оператор терпит неудачу, если создание учетной записи вызовет учетная запись, чтобы принять потерянный в настоящее время сохраненный объект.) выполнить операцию в любом случае, вы должны иметь SET_USER_ID привилегия; в этом случае оператор завершается успешно с предупреждением, а не с ошибкой с ошибкой. Без SET_USER_ID , чтобы выполнить операция создания пользователя, удалить потерянные объекты, создать учетную запись и предоставить ее привилегии, а затем заново создать удаленную объекты. Для получения дополнительной информации, в том числе о том, как идентифицировать какие объекты называют данную учетную запись как Атрибут DEFINER , см. Бесхозные хранимые объекты.

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ успешно либо для все названные пользователи или откатываются и не действуют, если какая-либо ошибка имеет место. По умолчанию возникает ошибка при попытке создать пользователя что уже существует. Если ЕСЛИ НЕ СУЩЕСТВУЕТ задано, оператор выдает предупреждение для каждого именованного уже существующий пользователь, а не ошибка.

Важно

При некоторых обстоятельствах СОЗДАТЬ ПОЛЬЗОВАТЕЛЬ может быть записано в логах сервера или на клиенте стороны в файле истории, таком как ~/.mysql_history , что означает, что открытые пароли могут быть прочитаны любым, имеющим доступ для чтения к этой информации. Для информации об условиях при каких условиях это происходит для логов сервера и как контролировать см. раздел 6.1.2.3, «Пароли и ведение журнала». Для подобных информацию о ведении журнала на стороне клиента см. Раздел 4.5.1.3, «Ведение журнала клиента mysql».

Есть несколько аспектов CREATE. Оператор USER , описанный в следующих разделах:

  • CREATE USER Overview

  • CREATE USER Authentication Options

  • CREATE USER Multifactor Authentication Options

  • CREATE USER Role Options

  • CREATE USER SSL/TLS Options

  • CREATE USER Resource- Опции ограничения

  • Создание параметров управления паролем пользователя

  • Создание параметров комментариев и атрибутов пользователя

  • Создание параметров пользователя

  • Создание пользовательского блюда

  • Создание пользовательского бирнина

  • Создание пользовательского бирнина

  • . Для каждой учетной записи CREATE USER создает новую строку в системе mysql.user стол. Строка учетной записи отражает свойства, указанные в заявление. Неуказанные свойства устанавливаются по умолчанию ценности:

    • Аутентификация: плагин аутентификации по умолчанию (определяется, как описано в Плагин аутентификации по умолчанию), и пустые учетные данные

    • Роль по умолчанию: НЕТ

    • SSL/TLS: НЕТ

    • Ограничения ресурсов: не ограничены

    • Управление паролями: ПАРОЛЬ ИСЧЕЗ ПО УМОЛЧАНИЮ ИСТОРИЯ ПАРОЛЯ ПО УМОЛЧАНИЮ ИНТЕРВАЛ ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ ПАРОЛЯ ПО УМОЛЧАНИЮ ТРЕБУЕТСЯ ПАРОЛЬ ТЕКУЩИЙ ПО УМОЛЧАНИЮ ; неудачный вход отслеживание и временная блокировка аккаунта отключены

    • Блокировка учетной записи: РАЗБЛОКИРОВКА АККАУНТА

    Учетная запись при первом создании не имеет привилегий и по умолчанию роль НЕТ . Для назначения привилегий или ролей используйте оператор GRANT .

    Каждое имя учетной записи использует формат, описанный в Раздел 6.2.4, «Указание имен учетных записей». Например:

     СОЗДАЙТЕ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost', ИДЕНТИФИЦИРОВАННОГО ' паролем '; 

    Часть имени хоста имени учетной записи, если она не указана, используется по умолчанию. до '%' .

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

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

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

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

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

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost'
      ИДЕНТИФИКАЦИЯ С caching_sha2_password BY ' new_password '
      ИНТЕРВАЛ ИСЧЕЗНЕНИЯ ПАРОЛЯ 180 ДНЕЙ
      FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 2; 

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

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ
      'jeffrey'@'localhost' ИДЕНТИФИЦИРОВАН С помощью mysql_native_password
                                       BY ' новый_пароль1 ',
      'jeanne'@'localhost' ИДЕНТИФИКАЦИЯ С caching_sha2_password
                                      ПО ' новый_пароль2  '
      ТРЕБУЕТСЯ X509 С MAX_QUERIES_PER_HOUR 60
      ИСТОРИЯ ПАРОЛЯ 5
      БЛОКИРОВКА УЧЕТНОЙ ЗАПИСИ; 

    Каждое значение auth_option ( ИДЕНТИФИЦИРОВАНО С ... BY в этом случае) применяется только к учетной записи, названной непосредственно перед ней, поэтому каждая учетная запись использует сразу следующую аутентификацию плагин и пароль.

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

    • Соединения должны выполняться с использованием действительного сертификата X. 509.

    • Допускается до 60 запросов в час.

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

    • Учетная запись изначально заблокирована, поэтому эффективно заполнитель и не может использоваться до тех пор, пока администратор разблокирует его.

    СОЗДАТЬ Параметры аутентификации пользователя

    За именем учетной записи может следовать auth_option вариант аутентификации который указывает подключаемый модуль аутентификации учетной записи, учетные данные, или оба.

    Примечание

    До MySQL 8.0.27, auth_option определяет единственный способ аутентификации учетной записи. Это все учетные записи используют однофакторную/однофакторную аутентификацию (1FA/SFA). MySQL 8.0.27 и выше поддерживает многофакторность аутентификация (MFA), так что учетные записи могут иметь до три метода аутентификации. То есть учетные записи могут использовать двухфакторная аутентификация (2FA) или трехфакторная аутентификация (3FA). Синтаксис и семантика auth_option остаются без изменений, но auth_option может сопровождаться спецификации дополнительных методов аутентификации. Этот раздел описывает auth_option . Для получения подробной информации о необязательном, связанном с MFA, следующем оговорки см. СОЗДАТЬ Параметры многофакторной аутентификации пользователя.

    Примечание

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

    • auth_plugin называет плагин аутентификации. Имя плагина может быть в кавычках строковый литерал или имя без кавычек. Имена плагинов хранится в столбце plugin mysql.user системная таблица.

      Для auth_option синтаксис, который не указывает подключаемый модуль аутентификации, сервер назначает плагин по умолчанию, определенный, как описано в Плагин аутентификации по умолчанию. Описание каждого плагина см. Раздел 6.4.1, «Плагины аутентификации».

    • Учетные данные, хранящиеся внутри, хранятся в mysql.user системная таблица. Ан строка_авторизации значение или СЛУЧАЙНЫЙ ПАРОЛЬ указывает учетные данные в виде открытого текста (незашифрованного) строка или хэш в формате, ожидаемом подключаемый модуль аутентификации, связанный с учетной записью, соответственно:

      • Для синтаксиса, который использует BY ' auth_string ' , строка является открытым текстом и передается плагин аутентификации для возможного хеширования. Результат возвращаемый плагином, сохраняется в таблица mysql. user . Плагин может использовать значение, как указано, и в этом случае нет хеширования имеет место.

      • Для синтаксиса, использующего BY RANDOM ПАРОЛЬ , MySQL генерирует случайный пароль и как открытый текст и передает его аутентификации плагин для возможного хеширования. Результат, возвращенный плагин хранится в папке таблица mysql.user . Плагин может использовать значение, как указано, и в этом случае нет хеширования имеет место.

        Случайно сгенерированные пароли доступны начиная с MySQL. 8.0.18 и иметь характеристики, описанные в Генерация случайных паролей.

      • Для синтаксиса, использующего AS ' auth_string ' , предполагается, что строка уже имеет формат требуется плагин аутентификации, и он хранится как есть в таблица mysql. user . Если плагин требуется хешированное значение, значение должно быть уже хэшируется в формате, подходящем для плагина; в противном случае это значение не может использоваться плагином и корректная аутентификация клиентских соединений не происходить.

        Начиная с MySQL 8.0.17, хешированная строка может быть либо строковый литерал или шестнадцатеричное значение. Последний соответствует типу значения, отображаемого ПОКАЗАТЬ СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ для хэши паролей, содержащие непечатаемые символы, когда в print_identified_with_as_hex системная переменная включена.

      • Если подключаемый модуль аутентификации не выполняет хэширование строка аутентификации, BY auth_string и КАК строка_авторизации ' предложения имеют тот же эффект: аутентификация строка сохраняется как есть в mysql. user системная таблица.

    CREATE USER разрешает эти auth_option синтаксис:

    • ОПРЕДЕЛЕН строка_авторизации

      Устанавливает плагин аутентификации учетной записи по умолчанию плагин, передает открытый текст строка_авторизации значение плагину для возможного хеширования и сохраняет результат в строке учетной записи в mysql.user системная таблица.

    • ОПРЕДЕЛЕН СЛУЧАЙНЫМ ПАРОЛЕМ

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

    • ИДЕНТИФИКАЦИЯ С auth_plugin

      Устанавливает плагин аутентификации учетной записи на auth_plugin очищает учетные данные в пустую строку и сохраняет результат в строка учетной записи в mysql.user системная таблица.

    • ИДЕНТИФИКАЦИЯ С auth_plugin BY строка_авторизации

      Устанавливает плагин аутентификации учетной записи на auth_plugin , передает открытый текст строка_авторизации значение плагину для возможного хеширования и сохраняет результат в строке учетной записи в mysql. user системная таблица.

    • ИДЕНТИФИКАЦИЯ С auth_plugin СЛУЧАЙНО ПАРОЛЬ

      Устанавливает плагин аутентификации учетной записи на auth_plugin , генерирует случайный пароль, передает значение пароля открытым текстом в плагин для возможного хеширования и сохраняет результат в строка учетной записи в системе mysql.user стол. Оператор также возвращает пароль в открытом виде. в наборе результатов, чтобы сделать его доступным для пользователя или приложение, выполняющее оператор. Для получения подробной информации о набор результатов и характеристики случайно сгенерированных пароли см. Генерация случайных паролей.

    • ИДЕНТИФИКАЦИЯ С auth_plugin КАК строка_авторизации

      Устанавливает плагин аутентификации учетной записи на auth_plugin и сохраняет строка_авторизации значение, как в учетной записи mysql. user строка. Если подключаемому модулю требуется хешированная строка, строка предполагается, что он уже хеширован в формате плагина требует.

    Пример: укажите пароль в виде открытого текста; плагин по умолчанию используется:

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost'
      ОПРЕДЕЛЕН ' пароль '; 

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

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost'
      ИДЕНТИФИКАЦИЯ С mysql_native_password BY ' password '; 

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

    Для получения дополнительной информации об установке паролей и плагины аутентификации, см. Раздел 6.2.14, «Назначение паролей учетных записей» и Раздел 6.2.17, «Подключаемая аутентификация».

    СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ Варианты многофакторной аутентификации

    auth_option часть CREATE USER определяет метод аутентификации для однофакторной/однофакторной аутентификация (1FA/SFA). Начиная с MySQL 8.0.27, CREATE USER содержит пункты, которые поддерживать многофакторную аутентификацию (MFA), так что учетные записи может иметь до трех методов аутентификации. то есть счета может использовать двухфакторную аутентификацию (2FA) или трехфакторную аутентификация (3FA).

    аутентификация_политика системная переменная определяет ограничения для Операторы CREATE USER с положения многофакторной аутентификации (MFA). Например, настройка_аутентификации_политики контролирует количество факторов аутентификации, учитывающих может иметь, и для каждого фактора, какие методы аутентификации разрешены. Видеть Настройка политики многофакторной аутентификации.

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

    После auth_option может быть появляются различные необязательные пункты MFA:

    • 2fa_auth_option : Указывает Метод аутентификации фактор 2. Следующий пример определяет caching_sha2_password как метод аутентификации фактора 1 и authentication_ldap_sasl как коэффициент 2 метод аутентификации.

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'u1'@'localhost'
        ИДЕНТИФИКАЦИЯ С caching_sha2_password
          BY ' sha2_password '
        И ИДЕНТИФИКАЦИЯ С помощью authentication_ldap_sasl
          AS 'uid=u1_ldap,ou=People,dc=example,dc=com'; 
    • 3fa_auth_option : Следующее 2fa_auth_option , может появится пункт 3fa_auth_option чтобы указать метод аутентификации фактора 3. Следующее пример определяет caching_sha2_password в качестве метода аутентификации фактора 1, authentication_ldap_sasl как коэффициент 2 метод аутентификации и аутентификация_фидо как фактор 3 Метод аутентификации

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'u1'@'localhost'
        ИДЕНТИФИКАЦИЯ С caching_sha2_password
          BY ' sha2_password '
        И ИДЕНТИФИКАЦИЯ С помощью authentication_ldap_sasl
          AS 'uid=u1_ldap,ou=люди,dc=example,dc=com'
        И ИДЕНТИФИЦИРОВАНО С помощью authentication_fido; 
    • initial_auth_option : Указывает начальный метод аутентификации для настройки FIDO аутентификация без пароля. Как показано ниже, временная аутентификация с использованием либо сгенерированного случайного пароль или указанный пользователем строка авторизации требуется для включить беспарольную аутентификацию FIDO.

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ  пользователя 
        ИДЕНТИФИКАЦИЯ С помощью authentication_fido
        НАЧАЛЬНАЯ АУТЕНТИФИКАЦИЯ ОПРЕДЕЛЯЕТСЯ ПО {СЛУЧАЙНОМУ ПАРОЛЮ | ' auth_string '}; 

      Для получения информации о настройке беспарольного аутентификация с использованием подключаемой аутентификации FIDO, см. Беспарольная аутентификация FIDO.

    СОЗДАТЬ ОПЦИИ РОЛИ ПОЛЬЗОВАТЕЛЯ

    Пункт DEFAULT ROLE определяет, какие роли становятся активными, когда пользователь подключается к серверу и аутентификации или когда пользователь выполняет УСТАНОВИТЬ РОЛЬ Оператор DEFAULT во время сеанса.

    Каждое имя роли использует формат, описанный в Раздел 6.2.5, «Указание имен ролей». Например:

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'joe'@'10.0.0.1' РОЛЬ ПО УМОЛЧАНИЮ администратор, разработчик; 

    Часть имени хоста в имени роли, если она не указана, по умолчанию '%' .

    Пункт DEFAULT ROLE разрешает список одно или несколько имен ролей, разделенных запятыми. Эти роли должны существовать в то время как CREATE USER казнен; в противном случае оператор вызывает ошибку ( ER_USER_DOES_NOT_EXIST ) и пользователь не создан.

    СОЗДАТЬ ПОЛЬЗОВАТЕЛЬСКИЕ Параметры SSL/TLS

    MySQL может проверять атрибуты сертификата X.509 в дополнение к обычная аутентификация, основанная на имени пользователя и реквизиты для входа. Справочная информация об использовании SSL/TLS с MySQL см. раздел 6.3, «Использование зашифрованных соединений».

    Чтобы указать параметры, связанные с SSL/TLS, для учетной записи MySQL, используйте Предложение REQUIRE , указывающее один или несколько tls_option значений.

    Порядок ТРЕБУЕТСЯ вариантов не имеет значения, но никакая опция не может быть указана дважды. Ключевое слово И является необязательным между ТРЕБУЕТСЯ опций.

    CREATE USER разрешает эти tls_option значения:

    • НЕТ

      Указывает, что все учетные записи, указанные оператором, не имеют SSL или X.509требования. Незашифрованные соединения разрешено, если имя пользователя и пароль действительны. По желанию клиента могут использоваться зашифрованные соединения. если у клиента есть надлежащий сертификат и ключевые файлы.

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' НЕ ТРЕБУЕТСЯ; 

      Клиенты пытаются установить безопасное соединение дефолт. Для клиентов с REQUIRE NONE , попытка подключения возвращается к незашифрованное соединение, если безопасное соединение не может быть учредил. Чтобы требовать зашифрованное соединение, клиент необходимо указать только --ssl-mode=ТРЕБУЕТСЯ вариант; попытка подключения не удалась, если безопасный соединение не может быть установлено.

      НЕТ — значение по умолчанию, если нет связанных с SSL REQUIRE указаны параметры.

    • ССЛ

      Сообщает серверу разрешить только зашифрованные соединения для все учетные записи, указанные в заявлении.

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ТРЕБУЕТСЯ SSL; 

      Клиенты пытаются установить безопасное соединение дефолт. Для учетных записей с REQUIRE SSL , попытка подключения не удалась, если соединение не может быть установлено.

    • Х509

      Для всех учетных записей, указанных в заявлении, требуется, чтобы клиенты представляют действительный сертификат, но точный сертификат, эмитент и предмет не имеют значения. Единственный требование состоит в том, чтобы можно было проверить его подпись одним из сертификатов ЦС. Использование X.509сертификаты всегда подразумевают шифрование, поэтому Опция SSL в этом случае не нужна.

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ТРЕБУЕТСЯ X509; 

      Для учетных записей с REQUIRE X509 клиенты необходимо указать --ssl-key и --ssl-cert опции для соединять. (Рекомендуется, но не обязательно --ssl-ca также необходимо указать чтобы публичный сертификат, предоставленный сервером, мог проверить.) Это верно для ЭМИТЕНТ и SUBJECT , потому что эти REQUIRE варианты подразумевают требования X509 .

    • ЭМИТЕНТ эмитент

      Для всех учетных записей, указанных в заявлении, требуется, чтобы клиенты представляют действительный сертификат X. 509, выданный CA ' эмитент ' . Если клиент представляет сертификат, который действителен, но имеет другой эмитент, сервер отклоняет соединение. Использовать сертификатов X.509 всегда подразумевает шифрование, поэтому Опция SSL в этом случае не нужна.

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost'
        ТРЕБУЕТСЯ ЭМИТЕНТ '/C=SE/ST=Stockholm/L=Stockholm/
          O=MySQL/CN=CA/[email protected]'; 

      Потому что ISSUER подразумевает требования X509 клиенты должны указать --ssl-ключ и --ssl-cert опции для соединять. (Рекомендуется, но не обязательно --ssl-ca также необходимо указать чтобы публичный сертификат, предоставленный сервером, мог быть проверенным. )

    • ТЕМА Тема '

      Для всех учетных записей, указанных в заявлении, требуется, чтобы клиенты представляют действительный сертификат X.509, содержащий предмет предмет . Если клиент представляет сертификат, который действителен, но имеет другой Тема, сервер отклоняет соединение. Использование X.509 сертификаты всегда подразумевают шифрование, поэтому ССЛ 9Опция 0155 в этом случае не нужна.

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost'
        ТРЕБУЕТСЯ ТЕМА '/C=SE/ST=Стокгольм/L=Стокгольм/
          O=сертификат демонстрационного клиента MySQL/
          CN=client/[email protected]'; 

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

      Поскольку SUBJECT подразумевает требования X509 , клиенты должны укажите --ssl-key и --ssl-cert опции для соединять. (Рекомендуется, но не обязательно --ssl-ca также необходимо указать чтобы публичный сертификат, предоставленный сервером, мог быть проверенным.)

    • ШИФРОВ шифр

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

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost'
        ТРЕБУЕТСЯ ШИФРОВЫЙ 'EDH-RSA-DES-CBC3-SHA'; 

    СУБЪЕКТ , ВЫДАВАТЕЛЬ и CIPHER Опции можно комбинировать в Пункт REQUIRE :

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost'
      ТРЕБУЕТСЯ ТЕМА '/C=SE/ST=Стокгольм/L=Стокгольм/
        O=сертификат демонстрационного клиента MySQL/
        CN=client/emailAddress=client@example. com'
      И ЭМИТЕНТ '/C=SE/ST=Stockholm/L=Stockholm/
        O=MySQL/CN=CA/[email protected]'
      И ШИФРОВЫЙ 'EDH-RSA-DES-CBC3-SHA'; 

    CREATE USER Resource-Limit Options

    Можно установить ограничения на использование ресурсов сервера, учетная запись, как описано в разделе 6.2.21, «Установка лимитов ресурсов учетной записи». Для этого используйте предложение WITH , которое указывает одно или несколько значений resource_option .

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

    CREATE USER разрешает эти resource_option значения:

    • MAX_QUERIES_PER_HOUR количество , MAX_UPDATES_PER_HOUR количество , MAX_CONNECTIONS_PER_HOUR количество

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

    • МАКСИМАЛЬНОЕ_ПОЛЬЗОВАТЕЛЬСКОЕ_СОЕДИНЕНИЕ количество

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

    Пример:

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost'
      С MAX_QUERIES_PER_HOUR 500 MAX_UPDATES_PER_HOUR 100; 

    СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ Опции управления паролями

    CREATE USER поддерживает несколько password_option значения для пароля управление:

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

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

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

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

    В этом разделе описывается синтаксис управления паролями. опции. Для получения информации о создании политики для управление паролями, см. Раздел 6.2.15, «Управление паролями».

    Если несколько вариантов управления паролями данного типа указано, последний имеет приоритет. Например, ИСЧЕЗ ПАРОЛЬ ИСЧЕЗ ПАРОЛЬ ПО УМОЛЧАНИЮ НИКОГДА — это то же самое, что СРОК ИСЧЕЗНЕНИЯ ПАРОЛЯ НИКОГДА .

    Примечание

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

    У клиента просрочен пароль, если пароль учетной записи был истек вручную или срок действия пароля считается больше чем его разрешенный срок службы в течение автоматического истечения срока действия политика. В этом случае сервер либо отключает клиента или ограничивает разрешенные ему операции (см. Раздел 6.2.16, «Обработка сервером просроченных паролей»). Операции выполняемые клиентом с ограниченным доступом, приводят к ошибке до тех пор, пока пользователь устанавливает новый пароль учетной записи.

    CREATE USER разрешает эти password_option значения для контроль истечения срока действия пароля:

    • СРОК ИСТЕЧЕНИЯ ПАРОЛЯ

      Немедленно отмечает срок действия пароля для всех учетных записей назван в заявлении.

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ПАРОЛЬ ИСТЕЧЕН; 
    • СРОК ИСХОДА ПАРОЛЯ ПО УМОЛЧАНИЮ

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

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ПАРОЛЬ ИСЧЕЗ ПО УМОЛЧАНИЮ; 
    • ПАРОЛЬ НЕ ИСТЕКАЕТ НИКОГДА

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

       СОЗДАЙТЕ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ПАРОЛЬ СРОК ИСХОДИТ НИКОГДА; 
    • ИНТЕРВАЛ ИСЧЕЗНЕНИЯ ПАРОЛЯ С ДЕНЬ

      Этот параметр истечения срока действия переопределяет глобальную политику для всех счетов, указанных в заявлении. Для каждого устанавливается время жизни пароля до N дней. Следующее утверждение требует, чтобы пароль был меняется каждые 180 дней:

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ИНТЕРВАЛ ИСТЕЧЕНИЯ ПАРОЛЯ 180 ДНЕЙ; 

    CREATE USER разрешает эти password_option значения для контроль повторного использования предыдущих паролей на основе требуемых минимальное количество изменений пароля:

    • ИСТОРИЯ ПАРОЛЕЙ ПО УМОЛЧАНИЮ

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

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ИСТОРИЯ ПАРОЛЕЙ ПО УМОЛЧАНИЮ; 
    • ИСТОРИЯ ПАРОЛЕЙ Н

      Этот параметр длины истории переопределяет глобальную политику для все учетные записи, указанные в заявлении. Для каждого устанавливается длина истории паролей до N паролей, чтобы запретить повторное использование любого из N последний выбранный пароли. Следующее утверждение запрещает повторное использование любых из предыдущих 6 паролей:

       СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ИСТОРИЯ ПАРОЛЕЙ 6; 

    CREATE USER разрешает эти password_option значения для управление повторным использованием предыдущих паролей в зависимости от прошедшего времени:

    • ИНТЕРВАЛ ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ ПАРОЛЯ ПО УМОЛЧАНИЮ

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

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ИНТЕРВАЛ ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ ПАРОЛЯ ПО УМОЛЧАНИЮ; 
    • ИНТЕРВАЛ ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ ПАРОЛЯ С ДЕНЬ

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

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ИНТЕРВАЛ ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ ПАРОЛЯ 360 ДНЕЙ; 

    CREATE USER разрешает эти password_option значения для контроль за попытками изменить пароль учетной записи необходимо указать текущий пароль, как подтверждение того, что пользователь, пытающийся внести изменение, фактически знает текущий пароль:

    • ТРЕБУЕТСЯ ПАРОЛЬ ТЕКУЩИЙ

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

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ПАРОЛЬ ТРЕБУЕТСЯ ТЕКУЩИЙ; 
    • ТРЕБУЕТСЯ ПАРОЛЬ ТЕКУЩИЙ НЕОБЯЗАТЕЛЬНЫЙ

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

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ПАРОЛЬ ТРЕБУЕТСЯ ТЕКУЩИЙ НЕОБЯЗАТЕЛЬНЫЙ; 
    • ТРЕБУЕТСЯ ПАРОЛЬ ТЕКУЩИЙ ПО УМОЛЧАНИЮ

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

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost' ПАРОЛЬ ТРЕБУЕТСЯ ТЕКУЩИЙ ПО УМОЛЧАНИЮ; 

    Начиная с MySQL 8.0.19, CREATE USER разрешает эти password_option значения для управления отслеживанием неудачных входов в систему:

    • FAILED_LOGIN_ATTEMPTS Н

      Отслеживать ли попытки входа в учетную запись, которые указывают неверный пароль. N должен быть число от 0 до 32767. Значение 0 отключает неудачный вход в систему. отслеживание. Значения больше 0 указывают, сколько последовательные неудачи пароля вызывают временную учетную запись блокировка (если PASSWORD_LOCK_TIME также ненулевой).

    • ПАРОЛЬ_БЛОКИРОВКА_ВРЕМЯ { N | НЕОГРАНИЧЕННЫЙ}

      Как долго блокировать учетную запись после слишком большого количества последовательных попытки входа дают неверный пароль. N должно быть числом от 0 до 32767 или НЕОГРАНИЧЕННЫЙ . Значение 0 отключает временную блокировку учетной записи. Значения больше 0 укажите, на какой срок блокировать аккаунт в днях. Значение UNBOUNDED вызывает блокировку учетной записи продолжительность не ограничена; после блокировки учетная запись остается в заблокированном состоянии до разблокировки. Для получения информации о условия, при которых происходит разблокировка, см. Отслеживание неудачных попыток входа и временная блокировка учетной записи.

    Для отслеживания неудачных попыток входа и временной блокировки аккаунта FAILED_LOGIN_ATTEMPTS и PASSWORD_LOCK_TIME варианты оба должны быть ненулевой. Следующий оператор создает учетную запись, которая остается заблокированным в течение двух дней после четырех последовательных паролей неудачи:

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jeffrey'@'localhost'
      FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LOCK_TIME 2; 

    СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ Комментарии и параметры атрибутов

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

    • Комментарий пользователя

      Чтобы установить комментарий пользователя, добавьте COMMENT ' user_comment ' к Оператор CREATE USER , где user_comment текст комментарий пользователя.

      Пример (опуская любые другие варианты):

       CREATE USER 'jon'@'localhost' КОММЕНТАРИЙ 'Некоторая информация о Джоне'; 
    • Атрибут пользователя

      Атрибут пользователя — это объект JSON, состоящий из одного или нескольких пар ключ-значение и устанавливается путем включения АТРИБУТ ' json_object ' как часть из СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ . json_object должен быть действительным JSON-объект.

      Пример (опуская любые другие варианты):

       СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'jim'@'localhost'
          АТРИБУТ '{"fname": "Джеймс", "lname": "Скотт", "телефон": "123-456-7890"}'; 

    Пользовательские комментарии и пользовательские атрибуты хранятся вместе в АТРИБУТ столбца INFORMATION_SCHEMA.USER_ATTRIBUTES стол. Этот запрос отображает строку в этой таблице, вставленную только что показанный оператор для создания пользователя джим@локальный хост :

     mysql> ВЫБЕРИТЕ * ИЗ INFORMATION_SCHEMA.USER_ATTRIBUTES
        -> ГДЕ ПОЛЬЗОВАТЕЛЬ = 'джим' И ХОЗЯИН = 'localhost'\G
    *************************** 1-й ряд ********************** *******
         ПОЛЬЗОВАТЕЛЬ: Джим
         ХОЗЯИН: локальный
    АТРИБУТ: {"fname": "Джеймс", "lname": "Скотт", "телефон": "123-456-7890"}
    1 ряд в наборе (0,00 сек) 

    Опция КОММЕНТАРИЙ на самом деле обеспечивает ярлык для установки пользовательского атрибута, единственный элемент которого имеет комментарий в качестве его ключа и значением которого является аргумент, указанный для опции. Вы можете увидеть это по выполнение инструкции CREATE USER 'jon'@'localhost' КОММЕНТАРИЙ 'Некоторая информация о Джоне' и наблюдение строку, которую он вставляет в USER_ATTRIBUTES таблица:

     mysql> CREATE USER 'jon'@'localhost' COMMENT 'Некоторая информация о Jon';
    Запрос выполнен успешно, затронуто 0 строк (0,06 сек.)
    mysql> SELECT * FROM INFORMATION_SCHEMA.USER_ATTRIBUTES
        -> ГДЕ ПОЛЬЗОВАТЕЛЬ = 'jon' И ХОЗЯИН = 'localhost';
    +------+------------+---------------- -------------+
    | ПОЛЬЗОВАТЕЛЬ | ХОЗЯИН | АТРИБУТ |
    +------+------------+---------------- -------------+
    | Джон | локальный | {"comment": "Некоторая информация о Джоне"} |
    +------+------------+---------------- -------------+
    1 ряд в сет (0,00 сек) 

    Вы не можете использовать КОММЕНТАРИЙ и АТРИБУТ вместе в одном оператор CREATE USER ; пытаясь сделать это вызывает синтаксическую ошибку. Чтобы установить пользовательский комментарий одновременно с установка атрибута пользователя, используйте АТРИБУТ и включать в свой аргумент значение с комментарий ключ, например:

     mysql> СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'счет'@'локальный хост'
        -> АТРИБУТ '{"fname":"William", "lname":"Schmidt",
        -> "comment":"Разработчик сайта"}';
    Запрос выполнен успешно, затронуто 0 строк (0,16 с) 

    Поскольку содержимое строки АТРИБУТ представляет собой JSON, вы можете использовать любой подходящий MySQL JSON. функции или операторы для управления им, как показано здесь:

     mysql> ВЫБРАТЬ
        -> ПОЛЬЗОВАТЕЛЬ КАК Пользователь,
        -> ХОСТ КАК хост,
        -> CONCAT(ATTRIBUTE->>"$.fname"," ",ATTRIBUTE->>"$.lname") AS 'Полное имя',
        -> АТРИБУТ->>"$.comment" КАК комментарий
        -> ИЗ INFORMATION_SCHEMA.USER_ATTRIBUTES
        -> ГДЕ ПОЛЬЗОВАТЕЛЬ = 'счет' И ХОЗЯИН = 'localhost';
    +------+-----------+-----------------+------------ -------+
    | Пользователь | Хост | Полное имя | Комментарий |
    +------+-----------+-----------------+------------ -------+
    | счет | локальный | Уильям Шмидт | Разработчик веб-сайтов |
    +------+-----------+-----------------+------------ -------+
    1 ряд в сет (0,00 сек) 

    Для установки или внесения изменений в комментарий пользователя или пользователя атрибут для существующего пользователя, вы можете использовать КОММЕНТАРИЙ или АТРИБУТ вариант с ALTER USER утверждение.

    Поскольку пользовательский комментарий и пользовательский атрибут хранятся вместе внутри в один JSON , это устанавливает верхний ограничение их максимального совокупного размера; видеть Требования к хранилищу JSON, подробнее Информация.

    См. также описание информационной схемы. USER_ATTRIBUTES таблица для более Информация и примеры.

    СОЗДАТЬ УЧЕТНУЮ ЗАПИСЬ ПОЛЬЗОВАТЕЛЯ - Опции блокировки

    MySQL поддерживает блокировку и разблокировку учетных записей с помощью БЛОКИРОВКА УЧЕТНОЙ ЗАПИСИ и УЧЕТНАЯ ЗАПИСЬ Параметры UNLOCK , которые определяют состояние блокировки для счет. Для дополнительного обсуждения см. Раздел 6.2.20, «Блокировка учетной записи».

    Если указано несколько вариантов блокировки учетной записи, последний один имеет приоритет.

    СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ Ведение двоичного журнала

    CREATE USER записывается в двоичный журнал в случае успеха, но не в случае сбоя; в этом случае, происходит откат и никаких изменений не происходит. Заявление, написанное в бинарный журнал включаются все именованные пользователи. Если ЕСЛИ Предложение NOT EXISTS дано, включая даже пользователей которые уже существуют и не были созданы.

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

    • Плагин, указанный в исходном заявлении, если он был указано.

    • В противном случае подключаемый модуль аутентификации по умолчанию. В в частности, если пользователь u1 уже существует и использует подключаемый модуль проверки подлинности не по умолчанию, инструкция записано в бинарный лог за СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ, ЕСЛИ НЕТ EXISTS u1 называет аутентификацию по умолчанию плагин. (Если оператор, записанный в двоичный журнал, должен указать подключаемый модуль аутентификации не по умолчанию для пользователя, включить его в исходное заявление.)

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

    Если исходное утверждение указывает FAILED_LOGIN_ATTEMPTS или PASSWORD_LOCK_TIME опция, инструкция запись в двоичный журнал включает опцию.

    Операторы CREATE USER с предложения, поддерживающие многофакторную аутентификацию (MFA), записывается в бинарный лог.

    • СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ... ИДЕНТИФИКАЦИОННОГО С .. ИНИЦИАЛЬНЫМ АУТЕНТИФИКАЦИЯ, ИДЕНТИФИКАЦИОННАЯ С . .. заявлений записываются в бинарный журнал как CREATE USER.. ИДЕНТИФИКАЦИЯ С .. НАЧАЛЬНАЯ АУТЕНТИФИКАЦИЯ ИДЕНТИФИКАЦИЯ С .. В КАЧЕСТВЕ ' пароль-хэш ' , где пароль-хэш - это указанный пользователем строка авторизации или случайный пароль, сгенерированный сервером, когда Указано условие RANDOM PASSWORD .

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

    Введение

    MySQL — это приложение базы данных для Linux и часть популярного стека LAMP (Linux, Apache, MySQL, PHP). Установка MySQL включает в себя варианты управления через пользователя root или определенные учетные записи пользователей.

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

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

    Предварительные условия

    • Сервер Linux с установленной и работающей базой данных MySQL или MariaDB
    • Доступ к учетным данным root-пользователя MySQL
    • Доступ к окну терминала/командной строке (Ctrl-Alt-T / Ctrl-Alt-F2)

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

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

     sudo mysql –u root –p 

    2. Введите пароль root для этой учетной записи и нажмите Enter.

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

    3. Затем создайте нового пользователя MySQL с помощью:

     СОЗДАЙТЕ ПОЛЬЗОВАТЕЛЯ «имя пользователя», ИДЕНТИФИЦИРОВАННОЕ «паролем»; 

    Замените имя пользователя и пароль на имя пользователя и пароль по вашему выбору.

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

    • Если вы работаете на машине с MySQL, используйте [email protected] для определения пользователя.
    • Если вы подключаетесь удаленно, используйте [email protected]_address и замените ip_address фактическим адресом удаленной системы, на которой размещена MySQL.

    Таким образом, команда будет следующей:

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'имя пользователя'@'localhost' ИДЕНТИФИЦИРОВАННЫЙ 'паролем'; 

    или

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'имя пользователя'@'ip_адрес' ИДЕНТИФИЦИРОВАННЫЙ 'паролем'; 

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

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'имя пользователя'@'%' ИДЕНТИФИКАЦИЯ 'паролем'; 

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

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

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

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

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

      8 9 пользователь может создавать совершенно новые таблицы и базы данных
    • Удаление: Пользователь может удалять (удалять) целые таблицы и базы данных
    • Выбор: Пользователь получает доступ к команде выбора для чтения информации в базах данных
    • Обновление: Пользователь может обновлять строки таблицы
    • Параметр предоставления: Пользователь может изменять другие привилегии учетной записи пользователя

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

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

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

     GRANT INSERT ON *.* TO 'username'@'localhost'; 

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

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

     GRANT INSERT *database_name.table_name* TO 'username'@'localhost'; 

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

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

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

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

     SHOW GRANTS FOR username; 

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

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

     ПРЕДОСТАВЬТЕ ВСЕ ПРИВИЛЕГИИ НА *.* TO 'database_user'@'localhost'; 

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

     ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА имя_базы_данных.* КОМУ 'database_user'@'localhost'; 

    Чтобы предоставить все привилегии учетной записи пользователя над определенной таблицей из типа базы данных:

     ПРЕДОСТАВЬТЕ ВСЕ ПРИВИЛЕГИИ ON имя_базы_данных.имя_таблицы TO 'database_user'@'localhost'; 

    Отменить привилегии Учетная запись пользователя MySQL

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

     ОТМЕНИТЬ тип разрешения ON database.table TO 'username'@'localhost'; 

    Удаление всей учетной записи пользователя

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

     DROP USER 'username'@'localhost'; 

    Заключение

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

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

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

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

    • cPanel
    • Plesk

     

    Базы данных позволяют легко управлять большими объемами информации в Интернете. Они необходимы для запуска многих веб-приложений, таких как доски объявлений, системы управления контентом и интернет-магазины.

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

    • Создание или удаление базы данных MySQL ↴
    • Создание или удаление пользователя базы данных ↴
    • Определите привилегии пользователя

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

      Отказ от ответственности : Ваша cPanel может выглядеть новой, но шаги должны быть относительно такими же.


      Создание или удаление базы данных MySQL
      Как создать базу данных MySQL
      1. Войдите в cPanel.
      2. Найдите раздел Базы данных , затем нажмите Базы данных MySQL . Возьми меня туда!

      3. В поле Новая база данных введите имя базы данных.

      4. Щелкните Создать базу данных .
      5. Нажмите Вернуться .
        • Новая база данных появится в разделе Текущие базы данных .
      Как удалить базу данных MySQL
      1. Перейдите к разделу Текущие базы данных базы данных MySQL.
      2. В столбце таблицы Действия нажмите Удалить рядом с базой данных, которую вы хотите удалить.

      3. Подтвердите, что вы хотите навсегда удалить базу данных.


      Создание или удаление пользователя базы данных
      Что такое пользователь MySQL и почему это важно?

      Пользователь MySQL — это запись на сервере MySQL, созданная для целей аутентификации. Это отличается от ваших имен пользователей при входе в Windows или даже в cPanel/WHM. Настройка пользователя MySQL обеспечивает большую безопасность баз данных вашего веб-сайта, поскольку вы можете назначать разрешения каждому пользователю. Кроме вас, владельца веб-сайта, вы не хотите предоставлять любому пользователю полный доступ к вашей базе данных.

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

      Как создать пользователя базы данных
      1. Войти в cPanel .
      2. Найдите раздел Базы данных и нажмите Базы данных MySQL . Возьми меня туда!

      3. Нажмите ссылку  Перейти к пользователям MySQL  в правом верхнем углу страницы. Вы также можете прокрутить немного вниз до Раздел пользователя MySQL .
      4. В разделе Добавить нового пользователя введите имя пользователя.

      5. Введите пароль в поле Пароль .
        • Чтобы получить помощь в создании надежного пароля, нажмите кнопку Создать пароль .
      6. После подтверждения пароля нажмите кнопку Создать пользователя .
      Как удалить пользователя базы данных
      1. Перейти к Текущим пользователям раздел баз данных MySQL .
      2. Найдите пользователя базы данных, которого вы хотите удалить, затем щелкните его значок Удалить .

      3. Щелкните значок Удалить пользователя , чтобы подтвердить удаление.


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

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

      Как назначить привилегии пользователю базы данных
      1. Войти в cPanel .
      2. Найдите раздел Базы данных и нажмите Базы данных MySQL . Возьми меня туда!

      3. В разделе Добавить пользователя в базу данных выберите пользователя из раскрывающегося меню Пользователь .

      4. В раскрывающемся меню База данных выберите базу данных, к которой вы хотите предоставить доступ пользователю.
      5. Нажмите Добавить .
      6. Выберите права, которые вы хотите предоставить пользователю, или выберите ВСЕ ПРАВА на следующей странице.

      7. Щелкните Внести изменения , затем щелкните Вернуться .
      Как отменить назначение пользователя из базы данных
      1. Перейдите к разделу Current Databases раздела MySQL Databases .
      2. Найдите базу данных, которую вы хотите изменить.
      3. В разделе Привилегированные пользователи для этой базы данных щелкните значок корзины.


      Использование базы данных

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

      • Как скопировать или переименовать базу данных
      • Управление базами данных с помощью приложений
      Как удалить базу данных без использования cPanel

      Описанные ниже шаги выполняются с использованием SSH. Если вы знаете, как его использовать, выполните следующие действия; однако, если вам нужна помощь, свяжитесь с нами по телефону или в чате для получения помощи.

      1. Сделайте резервную копию базы данных с помощью SSH, используя приведенную ниже командную строку. Используйте свой пароль cPanel.
         username@domain [~] # mysqldump --password username_database > username_database.db
        Введите пароль: (пароль cPanel)
        имя пользователя@домен [~] #
         
      2. Затем используйте команду DROP DATABASE внутри mysql, чтобы удалить базу данных.
        mysql> ПОКАЗАТЬ БАЗЫ ДАННЫХ, КАК "username_database";
        +-------------------------------+
        | База данных (username_database) |
        +-------------------------------+
        | имя_пользователя_база данных |
        +-------------------------------+
        1 ряд в сете (0,02 сек)
        mysql> DROP DATABASE username_database;
        Запрос выполнен успешно, затронуто 0 строк (0,00 сек.)
        mysql> ПОКАЗАТЬ БАЗЫ ДАННЫХ, КАК "username_database";
        Пустой набор (0,02 сек)
        mysql>
           

      Перейдите по ссылке Заявление DROP DATABASE для получения дополнительной информации об этой команде.

      Как удалить одного или нескольких пользователей одновременно

      Использование оператора MySQL DROP USER позволяет удалить учетные записи пользователей и их привилегии из базы данных.

      Синтаксис:

       DROP USER ‘пользователь’@’хост’; 
      • Пользователь : Учетная запись пользователя, которую вы хотите удалить.
      • Хост : Имя хост-сервера учетной записи пользователя. Формат : ‘user_name’@’host_name’.

      Пример:

       DROP USER ‘snappy01’@’localhost’; 

      Чтобы УДАЛИТЬ несколько учетных записей пользователей, используйте следующий формат:

       УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ ‘snappy01’@’localhost’, ‘snappy02’@’localhost’; 
      Как предоставить привилегии в MySQL

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

      Синтаксис :

       ПРЕДОСТАВИТЬ разрешение1, разрешение2 ON имя_базы_данных TO 'user'@'localhost'; 

      Пример:

       GRANT SELECT, INSERT, DELETE ON example_db TO ‘snappy02’@’localhost’;
       
      Как просмотреть привилегии в MySQL

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

      Синтаксис :

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

      Пример:

       ПОКАЗАТЬ ГРАНТЫ для ‘snappy02’@’localhost’; 

      Пример вывода:

       mysql> SHOW GRANTS FOR ‘snappy02’@’localhost’;
      +------------------------------------------------- ------------------+
      | Гранты для snappy02@localhost |
      +------------------------------------------------- ------------------+
      | ПРЕДОСТАВЬТЕ ИСПОЛЬЗОВАНИЕ НА *.* ДЛЯ `snappy02`@`localhost` |
      | GRANT SELECT, INSERT, UPDATE ON `example_db`.* TO `snappy02`@`localhost` | 

       

      Создать базу данных mysql и пользователя в сценарии bash

      Спросил

      Изменено 2 года, 5 месяцев назад

      Просмотрено 88k раз

      Кажется, это должно быть просто, и я клянусь, что этот код работал несколько месяцев, но сейчас он не работает. a-zA-Z0-9]/_} # создаем базу данных и пользователя mysql -e "СОЗДАТЬ БАЗУ ДАННЫХ $MAINDB" mysql -e "ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА $MAINDB.* КОМУ $MAINDB@localhost, ИДЕНТИФИЦИРОВАННО '$PASSWDDB!'"

      MAINDB указывается ранее в сценарии. В итоге я получаю базу данных, пользователя и соответствующие разрешения, а у пользователя есть пароль - просто это не тот пароль, который указан в $PASSWORDDB.

      МарияДБ 10.0.22 Ubuntu 14.04

      • mysql
      • bash
      • командная строка

      2 9a-zA-Z0-9]/_} # Если файл /root/.my.cnf существует, он не будет запрашивать пароль root если [-f /root/.my.cnf]; тогда mysql -e "СОЗДАТЬ БАЗУ ДАННЫХ ${MAINDB} /*\!40100 НАБОР СИМВОЛОВ ПО УМОЛЧАНИЮ utf8 */;" mysql -e "СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ ${MAINDB}@localhost, ИДЕНТИФИЦИРОВАННОГО '${PASSWDDB}';" mysql -e "ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА ${MAINDB}.* ДЛЯ '${MAINDB}'@'localhost';" mysql -e "УДАЛИТЬ ПРИВИЛЕГИИ;" # Если /root/. my.cnf не существует, он запросит пароль root еще echo "Пожалуйста, введите пароль root пользователя MySQL!" echo "Примечание: пароль будет скрыт при вводе" читать -sp rootpasswd mysql -uroot -p${rootpasswd} -e "СОЗДАТЬ БАЗУ ДАННЫХ ${MAINDB} /*\!40100 НАБОР СИМВОЛОВ ПО УМОЛЧАНИЮ utf8 */;" mysql -uroot -p${rootpasswd} -e "СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ ${MAINDB}@localhost, ИДЕНТИФИЦИРОВАННОГО '${PASSWDDB}';" mysql -uroot -p${rootpasswd} -e "ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА ${MAINDB}.* ДЛЯ '${MAINDB}'@'localhost';" mysql -uroot -p${rootpasswd} -e "СБРОСИТЬ ПРИВИЛЕГИИ;" фи

      4

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

       #!/bin/bash
      #
      # Скрипт для создания базы данных MySQL + пользователя
      #
      # @author Радж КБ 
      # @веб-сайт http://www.magepsycho.com
      # @версия 0.1.0
      ################################################### ###############################
      # ОСНОВНЫЕ ФУНКЦИИ - Не редактировать
      ################################################### ###############################
      #
      # ПЕРЕМЕННЫЕ
      #
      _bold=$(выделено жирным шрифтом)
      _underline=$(tput sgr 0 1)
      _reset=$(tput sgr0)
      _purple=$(tput setaf 171)
      _red=$(tput setaf 1)
      _green=$(tput setaf 76)
      _tan=$(tput setaf 3)
      _blue=$(tput setaf 38)
      #
      # ЗАГОЛОВКИ И РЕГИСТРАЦИЯ
      #
      функция _debug()
      {
          [ "$DEBUG" -eq 1 ] && $@
      }
      функция _header()
      {
          printf "\n${_bold}${_purple}========== %s ===========${_reset}\n" "$@"
      }
      функция _стрелка()
      {
          printf "➜ $@\n"
      }
      функция _success()
      {
          printf "${_green}✔ %s${_reset}\n" "$@"
      }
      функция _ошибка() {
          printf "${_red}✖ %s${_reset}\n" "$@"
      }
      функция _предупреждение()
      {
          printf "${_tan}➜ %s${_reset}\n" "$@"
      }
      функция _underline()
      {
          printf "${_underline}${_bold}%s${_reset}\n" "$@"
      }
      функция _bold()
      {
          printf "${_bold}%s${_reset}\n" "$@"
      }
      функция _note()
      {
          printf "${_underline}${_bold}${_blue}Примечание: ${_reset} ${_blue}%s${_reset}\n" "$@"
      }
      функция _die()
      {
          _ошибка "$@"
          выход 1
      }
      функция _safeExit()
      {
          выход 0
      }
      #
      # УТИЛИТА ПОМОЩНИК
      #
      функция _seekConfirmation()
      {
        printf "\n${_bold}$@${_reset}"
        читать -p "(г/н)" -n 1
        напечатать "\n"
      }
      # Проверяем, является ли результат 'ask' подтверждением
      функция _isConfirmed()
      {
          если [[ "$REPLY" =~ ^[Yy]$ ]]; тогда
              вернуть 0
          фи
          вернуть 1
      }
      функция _typeExists()
      {
          если [$(тип -P $1)]; тогда
              вернуть 0
          фи
          вернуть 1
      }
      функция _isOs()
      {
          если [[ "${OSTYPE}" == $1* ]]; тогда
            вернуть 0
          фи
          вернуть 1
      }
      функция _checkRootUser()
      {
          #if [ "$(id -u)" != "0" ]; тогда
          если [ "$(whoami)" != 'root' ]; тогда
              echo "У вас нет разрешения на запуск $0 от имени пользователя без полномочий root.  Используйте sudo"
              выход 1;
          фи
      }
      функция _printPoweredBy()
      {
          кошка <<"ЕОФ"
      Питаться от:
         __ ___ ___ __
        / |/ /__ ____ ____ / _ \___ __ ______/ / ___
       //|_/ / _ `/ _ `/ -_) ___(_-> Магазин: http://www.magepsycho.com
       >> Блог: http://www.blog.magepsycho.com
      ################################################### ##############
      EOF
      }
      ################################################### ###############################
      # ФУНКЦИИ СЦЕНАРИЯ
      ################################################### ###############################
      функция генерировать пароль()
      {
          echo "$(openssl rand -base64 12)"
      }
      функция _printUsage()
      {
          echo -n "$(базовое имя $0) [ВАРИАНТ]...
      Создайте базу данных MySQL и пользователя.
      Версия $ВЕРСИЯ
          Опции:
              -h, --host Хост MySQL
              -d, --database База данных MySQL
              -u, --user Пользователь MySQL
              -p, --pass Пароль MySQL (если пустой, генерируется автоматически)
              -h, --help Показать эту справку и выйти
              -v, --version Вывести информацию о версии и выйти
          Примеры:
              $(базовое имя $0) --help
      "
          _printPoweredBy
          выход 1
      }
      функция processArgs()
      {
          # Разобрать аргументы
          для аргумента в "$@"
          делать
              case $arg в
                  -h=*|--хост=*)
                      DB_HOST="${аргумент#*=}"
                  ;;
                  -d=*|--база данных=*)
                      DB_NAME="${аргумент#*=}"
                  ;;
                  -u=*|--пользователь=*)
                      DB_USER="${аргумент#*=}"
                  ;;
                   -p=*|--pass=*)
                      DB_PASS="${аргумент#*=}"
                  ;;
                  --отлаживать)
                      ОТЛАДКА=1
                  ;;
                  -h|--помощь)
                      _printUsage
                  ;;
                  *)
                      _printUsage
                  ;;
              эсак
          Выполнено
          [[ -z $DB_NAME ]] && _error "Имя базы данных не может быть пустым. " && выход 1
          [[ $DB_USER ]] || DB_USER=$DB_NAME
      }
      функция createMysqlDbUser()
      {
          SQL1="СОЗДАТЬ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ ${DB_NAME};"
          SQL2="СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ '${DB_USER}'@'%', ОПРЕДЕЛЕННОГО '${DB_PASS}';"
          SQL3="ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА ${DB_NAME}.* ДЛЯ '${DB_USER}'@'%';"
          SQL4="СБРОСИТЬ ПРИВИЛЕГИИ;"
          если [-f /root/.my.cnf]; тогда
              $BIN_MYSQL -e "${SQL1}${SQL2}${SQL3}${SQL4}"
          еще
              # Если /root/.my.cnf не существует, он запросит пароль root
              _arrow "Пожалуйста, введите пароль пользователя root для MySQL!"
              прочитать rootPassword
              $BIN_MYSQL -h $DB_HOST -u root -p${rootPassword} -e "${SQL1}${SQL2}${SQL3}${SQL4}"
          фи
      }
      функция printSuccessMessage()
      {
          _success "БД MySQL/создание пользователя завершено!"
          эхо "################################################# ################"
          эхо ""
          эхо ">> Хост: ${DB_HOST}"
          echo ">> База данных: ${DB_NAME}"
          эхо ">> Пользователь: ${DB_USER}"
          эхо ">> Пройдено: ${DB_PASS}"
          эхо ""
          эхо "################################################# ################"
          _printPoweredBy
      }
      ################################################### ###############################
      # Главный
      ################################################### ###############################
      экспорт LC_CTYPE=C
      экспорт ЯЗЫК=C
      ОТЛАДКА=0 # 1|0
      _debug установить -x
      ВЕРСИЯ="0. 1.0"
      BIN_MYSQL=$(какой MySQL)
      DB_HOST = 'локальный хост'
      ИМЯ_БД=
      DB_USER=
      DB_PASS=$(сгенерировать пароль)
      функция основная()
      {
          [[ $# -lt 1 ]] && _printUsage
          _success "Обработка аргументов..."
          аргументы процесса "$@"
          _success "Готово!"
          _success "Создание базы данных MySQL и пользователя..."
          создатьMysqlDbUser
          _success "Готово!"
          printSuccessMessage
          выход 0
      }
      главная "$@"
      _debug набор +x
       

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

       ./mysql-create-db-user.sh --host=localhost --database=test-db --user=test-user
       

      Дополнительные сведения:
      http://www.blog.magepsycho.com/bash-script-create-mysql-database-user-Optional-password/

       mysql -uroot -p$*PASSWORD_OF_MYSQL_ROOT_USER* -e "CREATE БАЗА ДАННЫХ $MAINDB"
      mysql -uroot -p$*PASSWORD_OF_MYSQL_ROOT_USER* -e "ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА $MAINDB.* КОМУ $MAINDB@localhost, ОПРЕДЕЛЕННОМУ '$PASSWDDB!'"
       

      Это сработает для вас. 9a-zA-Z0-9]/_} mysql -u корень -p< * '${MAINDB}'@'localhost'; ПОЛНЫЕ ПРИВИЛЕГИИ; MYSQL_SCRIPT

      Твой ответ

      Зарегистрируйтесь или войдите в систему

      Зарегистрируйтесь с помощью Google

      Зарегистрироваться через Facebook

      Зарегистрируйтесь, используя электронную почту и пароль

      Опубликовать как гость

      Электронная почта

      Обязательно, но не отображается

      Опубликовать как гость

      Электронная почта

      Требуется, но не отображается

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

      следующий → ← предыдущая

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

      Оператор MySQL Create User позволяет создать новую учетную запись пользователя на сервере базы данных. Он обеспечивает аутентификацию, SSL/TLS, ограничения ресурсов, роли и свойства управления паролями для новых учетных записей. Это также позволяет нам контролировать учетные записи, которые должны быть изначально заблокированы или разблокированы.

      Если вы хотите использовать функцию Create User, необходимо иметь глобальную привилегию оператора Create User или привилегию INSERT для системной схемы MySQL. При создании уже существующего пользователя выдает ошибку. Но если вы используете предложение IF NOT EXISTS , оператор выдает предупреждение для каждого именованного пользователя, который уже существует, вместо сообщения об ошибке.

      Почему пользователям требуется сервер MySQL?

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

      Синтаксис

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

      СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ [ЕСЛИ НЕ СУЩЕСТВУЕТ] имя_учетной_записи, ИДЕНТИФИЦИРОВАННОЕ «паролем»;

      В приведенном выше синтаксисе имя_учетной_записи состоит из двух частей: одна — это имя пользователя , а другая — имя хоста , которые разделены символом @ . Здесь username — это имя пользователя, а hostname — это имя хоста, с которого пользователь может подключиться к серверу базы данных.

      имя пользователя@имя хоста

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

      имя пользователя@%

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

      MySQL CREATE USER Пример

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

      Шаг 1: Откройте сервер MySQL с помощью клиентского инструмента mysql .

      Шаг 2: Введите пароль учетной записи и нажмите Enter.

      Введите пароль: ********

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

      mysql> выберите пользователя из mysql.user;

      Мы получим вывод, как показано ниже:

      Шаг 4: Создайте нового пользователя с помощью следующей команды.

      mysql> создать пользователя peter@localhost, идентифицированного как «jtp12345»;

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

      В приведенном выше выводе мы видим, что пользователь peter был успешно создан.

      Шаг 5: Теперь мы будем использовать предложение IF NOT EXISTS с оператором CREATE USER.

      mysql> СОЗДАЙТЕ ПОЛЬЗОВАТЕЛЯ, ЕСЛИ НЕ СУЩЕСТВУЕТ adam@localhost ИДЕНТИФИКАЦИЯ 'jtp123456';

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

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

      1. ВСЕ ПРИВИЛЕГИИ: Предоставляет все привилегии новой учетной записи пользователя.
      2. CREATE: Позволяет учетной записи пользователя создавать базы данных и таблицы.
      3. DROP: Позволяет учетной записи пользователя удалять базы данных и таблицы.
      4. УДАЛЕНИЕ: Позволяет учетной записи пользователя удалять строки из определенной таблицы.
      5. INSERT: Позволяет учетной записи пользователя вставлять строки в определенную таблицу.
      6. SELECT: Позволяет учетной записи пользователя читать базу данных.
      7. ОБНОВЛЕНИЕ: Позволяет учетной записи пользователя обновлять строки таблицы.

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

      mysql> ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА * . * КОМУ peter@localhost;

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

      mysql> GRANT CREATE, SELECT, INSERT ON * . * КОМУ peter@localhost;

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

      ПОЛНЫЕ ПРИВИЛЕГИИ;

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

      mysql> ПОКАЗАТЬ ГРАНТЫ для имени пользователя;


      Next TopicMySQL Drop User

      ← предыдущая следующий →

      Базы данных MySQL® | cPanel и документация WHM

      1. cPanel и документация по WHM
      2. cPanel
      3. Базы данных
      4. Базы данных MySQL®

      панель управления базы данных mysql

      Содержание
      Содержание

      Базы данных MySQL®

      Действительно для версий 106 до последней версии

      Версия:
      82
      102
      104
      106


      Последнее изменение: 6 июля 2022 г.

      Обзор

      Используйте этот интерфейс для создания, управления и удаления баз данных MySQL® и пользователей баз данных.

      Имя базы данных может содержать не более 64 символов.

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

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

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

      Включение короткого префикса Force для баз данных MySQL и MariaDB в интерфейсе WHM Tweak Settings ( WHM >> Home >> Server Configuration

      6 >>

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

      Чтобы добавить или удалить информацию в существующих базах данных, скопировать базу данных или запустить запросы и сценарии MySQL, используйте интерфейс cPanel phpMyAdmin ( cPanel >> Главная >> Базы данных >> phpMyAdmin ).

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

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

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

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

      1. В текстовом поле Новая база данных введите имя базы данных.

      2. Щелкните Создать базу данных . Появится новый интерфейс.

      3. Нажмите Вернуться . Новая база данных появится в таблице Current Databases .

      Для доступа к создаваемым базам данных и управления ими используйте интерфейс phpMyAdmin ( cPanel >> Главная >> Базы данных >> phpMyAdmin ). Для получения информации о том, как использовать phpMyAdmin, посетите веб-сайт phpMyAdmin.

      Удаленный хост MySQL

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

      Изменение баз данных

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

      Проверка базы данных

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

      1. В меню Check Database выберите базу данных, которую вы хотите проверить.

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

        • Если система обнаруживает проблему в базе данных, она отображает имя поврежденной таблицы.
        • Если отображается сообщение Check Complete , база данных работает правильно.
      3. Нажмите Вернуться назад , чтобы вернуться к основному интерфейсу.

      Восстановление базы данных

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

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

      1. В меню Repair Database выберите базу данных, которую вы хотите восстановить.

      2. Щелкните Восстановить базу данных . Появится новый интерфейс, и система попытается автоматически восстановить базу данных.

        • Если система не может восстановить базу данных, она попытается определить источник поврежденных данных.
        • Если отображается сообщение Repair Complete , система успешно восстановила базу данных.
      3. Нажмите Вернуться назад , чтобы вернуться к основному интерфейсу.

      Current Databases

      В таблице Current Databases приведена следующая информация для каждой база данных в вашем аккаунте:

      • База данных — Имя базы данных.

      • Размер — Размер базы данных.

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

        • Чтобы удалить пользователя из базы данных, щелкните значок корзины () для нужного пользователя, а затем щелкните Отменить привилегии пользователя из базы данных .
        • Чтобы изменить привилегии пользователя для определенной базы данных, щелкните нужное имя пользователя, установите и снимите флажки, чтобы настроить нужные привилегии, а затем нажмите Внести изменения .
      • Действия — Доступные действия для этой базы данных. Щелкните соответствующий значок в этом столбце, чтобы переименовать или удалить базу данных.

      Переименование базы данных

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

      • Переименование базы данных MySQL потенциально опасно. Мы настоятельно рекомендуем вам выполнить резервное копирование базы данных MySQL в интерфейсе резервного копирования cPanel ( cPanel >> Главная >> Файлы >> Резервное копирование ), прежде чем пытаться переименовать его.
      • При переименовании базы данных система разрывает все активные соединения с базой данных.
      • Вы должны вручную обновить файлы конфигурации и приложения, чтобы использовать новое имя базы данных.
      • Системе требуется больше времени для переименования больших и сложных баз данных.

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

      1. В таблице Текущие базы данных щелкните Переименовать для нужной базы данных.
      2. Введите новое имя базы данных в текстовое поле Новое имя .
      3. Нажмите Продолжить .

      MySQL , а не позволяет вам переименовывать базу данных. Когда cPanel и WHM «переименовывает» базу данных, система выполняет следующие шаги:

      1. Система создает новую базу данных.
      2. Система перемещает данные из старой базы данных в новую базу данных.
      3. Система повторно создает гранты и сохраненный код в новой базе данных.
      4. Система удаляет старую базу данных и ее разрешения.

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

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

      Удалить базу данных

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

      1. В таблице Текущие базы данных щелкните Удалить для нужной базы данных.
      2. Чтобы навсегда удалить базу данных, нажмите Удалить базу данных .
      3. Нажмите Вернуться , чтобы вернуться к основному интерфейсу.

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

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

      Чтобы создать новую учетную запись пользователя, выполните следующие действия:

      1. Введите имя пользователя в текстовое поле Имя пользователя .

        Важно:

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

        MySQL 5.6 и более ранние версии

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

        Например:

        MySQL 5.7 и выше

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

        Например:

        МарияДБ

        MariaDB ограничивает имя пользователя базы данных до 47 символов. Система включает префикс базы данных (все имена пользователей учетной записи cPanel и символ подчеркивания) в количестве символов для имени пользователя.

        Например:

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

      3. Нажмите Создать пользователя .

      4. Нажмите Вернуться назад , чтобы вернуться к основному интерфейсу.

      Добавление пользователя в базу данных

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

      1. В разделе интерфейса Добавить пользователя в базу данных выберите в меню нужного пользователя и базу данных.
      2. Щелкните Добавить . Появится интерфейс Обслуживание учетной записи MySQL .
      3. Установите флажки, соответствующие привилегиям, которые вы хотите предоставить пользователю.

      4. Щелкните Внести изменения .

      5. Нажмите Вернуться назад , чтобы вернуться к основному интерфейсу.

      Дополнительные сведения о привилегиях пользователей см.