MySQL Security
Безопасность
Безопасность базы данных предполагает разрешение или запрещение действий пользователя над базой данных и объектами в ней. Когда вы создадите приложение базы данных, политика безопасности является первым шагом. Политика безопасности приложения - это список требований и правил безопасности приложения, которые регулируют доступ пользователей к объектам базы данных. В этой главе обсуждаются аспекты безопасности приложений и функций базы данных MySQL, которые содержат следующие темы:
Содержание:
Общие проблемы безопасности MySQL
Правила безопасности:
- За исключением того, что корневая учетная запись MySQL не позволяет никому получать доступ к пользовательской таблице в базе данных MySQL.
- Используйте операторы GRANT и REVOKE для управления доступом к MySQL. Не предоставляйте ненужные привилегии и никогда не предоставляйте привилегии всем хостам.
- Никогда не храните простые текстовые пароли в вашей базе данных. Сохраните значение хеш-функции, используя функции SHA2 (), SHA1 () , MD5 () или другие функции хеширования другим способом. Попробуйте использовать сложный пароль.
- Попробуйте использовать брандмауэр и установите MySQL за брандмауэром.
- 3306 - это порт пользователя по умолчанию для MySQL, и этот порт не должен быть доступен с ненадежных хостов. Вы можете сканировать порты из Интернета, используя такой инструмент, как nmap . С удаленной машины вы можете проверить, открыт порт или нет, с помощью этой команды: shell> telnet server_host 3306 . Если telnet зависает или в соединении отказано, порт блокируется. Если вы получаете соединение и некоторые символы мусора, порт открыт и должен быть закрыт на вашем брандмауэре или маршрутизаторе, если у вас действительно нет веских причин, чтобы держать его открытым.
- Некоторые приложения обращаются к базе данных MySQL для разных целей. Никогда не доверяйте этим входным данным, введенным пользователем, и должны правильно проверить их перед доступом к базе данных.
- Не передавайте незашифрованные данные через Интернет. Используйте зашифрованный протокол, такой как SSL (MySQL поддерживает внутренние соединения SSL) или SSH.
- Используйте утилиты tcpdump и strings . С помощью этой команды shell> tcpdump -l -i eth0 -w - src или dst port 3306 | Строки, которые вы можете проверить, являются ли потоки данных MySQL незашифрованными или нет.
Хранение паролей в безопасности:
- Руководство для конечных пользователей по безопасности паролей
- Используйте параметр -p или --password в командной строке без указания пароля. Вот команда
shell> mysql -u user_id -p имя_базы_данных
Введите пароль : ***********
При вводе пароля он не будет виден. - Сохраните ваш пароль в файле опций. Например, Unix, вы можете указать свой пароль в разделе [client] файла .my.cnf в вашем домашнем каталоге и для обеспечения безопасности пароля установить режим доступа к файлу на 400 или 600.
- Руководство администратора по безопасности паролей: MySQL хранит пароли для учетных записей пользователей в таблице mysql.user . Поэтому к этой таблице не должны обращаться никакие неадминистративные учетные записи. Пароль учетной записи пользователя должен время от времени сбрасываться.
- Пароли и ведение журнала. Пароли можно записать в виде обычного текста в инструкциях SQL, таких как CREATE USER, GRANT и SET PASSWORD, или в операторах, которые вызывают функцию PASSWORD (). Если эти операторы регистрируются сервером MySQL как написанные, такие пароли становятся доступными любому, кто имеет доступ к журналам. Начиная с MySQL 5.6.3, ведение журнала операторов модифицируется таким образом, чтобы пароли не отображались в виде простого текста для следующих операторов:
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ ... ИДЕНТИФИЦИРОВАНО ... ГРАНТОМ ... ИДЕНТИФИЦИРОВАНО ... УСТАНОВИТЬ ПАРОЛЬ ... ЗАПУСК РАБОТЫ ... ПАРОЛЬ = ... (с версии 5.6.4) СОЗДАТЬ СЕРВЕР ... ОПЦИИ (.. . ПАРОЛЬ ...) (по состоянию на 5.6.9) ALTER SERVER ... ОПЦИИ (... ПАРОЛЬ ...) (по состоянию на 5.6.9)
Пароли в этих операторах переписываются так, чтобы они не отображались буквально в тексте оператора, для общего журнала запросов, медленного журнала запросов и двоичного журнала. Переписывание не распространяется на другие утверждения. - Хеширование паролей в MySQL: MySQL перечисляет учетные записи пользователей в пользовательской таблице базы данных MySQL. Каждой учетной записи MySQL может быть назначен пароль, хотя в пользовательской таблице хранится не текстовая версия пароля, а вычисленное из нее значение хеш-функции.
- Последствия изменений хэширования паролей в MySQL 4.1 для прикладных программ. Обновление до MySQL версии 4.1 или новее может вызвать проблемы совместимости для приложений, использующих PASSWORD () для создания паролей для своих собственных целей. Приложения действительно не должны этого делать, потому что PASSWORD () должен использоваться только для управления паролями для учетных записей MySQL.
- Плагин validate_password (доступен с MySQL 5.6.6) можно использовать для проверки паролей и повышения безопасности.
Обеспечение безопасности MySQL от злоумышленников:
Чтобы обезопасить систему MySQL, вы должны поддерживать следующие предложения:
- Требовать, чтобы все учетные записи MySQL имели пароль.
- Убедитесь, что единственной учетной записью пользователя Unix с правами чтения или записи в каталогах базы данных является учетная запись, используемая для запуска mysqld.
- Никогда не запускайте сервер MySQL от имени пользователя root Unix
- Не предоставляйте привилегию FILE неадминистративным пользователям
- Не разрешайте использование символических ссылок на таблицы.
- Сохраненные программы и представления должны быть написаны с использованием правил безопасности
- Если вы не доверяете своему DNS, вам следует использовать IP-адреса, а не имена хостов в таблицах предоставления.
- Если вы хотите ограничить количество подключений, разрешенных для одной учетной записи, вы можете сделать это, установив переменную max_user_connections в mysqld.
Связанные с безопасностью mysqld Опции и Переменные:
В следующей таблице показаны параметры mysqld и системные переменные, которые влияют на безопасность.
название | Описание | Cmd-Line | Файл опций | Системный вар | Var Scope | динамический |
---|---|---|---|---|---|---|
позволяют-подозрительный-UDFs | Этот параметр определяет, могут ли быть загружены пользовательские функции, которые имеют только символ xxx для основной функции. По умолчанию, | да | да | |||
automatic_sp_privileges | Когда эта переменная имеет значение 1 (по умолчанию), сервер автоматически предоставляет привилегии EXECUTE и ALTER ROUTINE создателю хранимой процедуры, если пользователь уже не может выполнить и изменить или удалить процедуру. (Привилегия ALTER ROUTINE необходима для удаления подпрограммы.) Сервер также автоматически удаляет эти привилегии от создателя при удалении подпрограммы. Если automatic_sp_privileges равно 0, сервер не добавляет и не удаляет эти привилегии автоматически. | да | Глобальный | да | ||
корневой | Поместите сервер mysqld в закрытое окружение во время запуска с помощью системного вызова chroot (). | да | да | |||
де-файл_ключа | Прочитайте ключи DES по умолчанию из этого файла. Эти ключи используются функциями DES_ENCRYPT () и DES_DECRYPT (). | да | да | |||
local_infile | Поддерживается ли LOCAL для операторов LOAD DATA INFILE. Если эта переменная отключена, клиенты не могут использовать LOCAL в операторах LOAD DATA. | да | Глобальный | да | ||
old_passwords | Эта переменная определяет тип хеширования пароля, выполняемого функцией PASSWORD () и такими операторами, как CREATE USER и GRANT. | да | И то и другое | да | ||
безопасный пользователь создать | Если эта опция включена, пользователь не может создавать новых пользователей MySQL с помощью инструкции GRANT, если у пользователя нет привилегии INSERT для таблицы mysql.user или любого столбца в таблице. я | да | да | |||
безопасная-аутентификация | Эта опция заставляет сервер блокировать подключения клиентами, которые пытаются использовать учетные записи, пароли которых хранятся в старом (до 4.1) формате. Используйте его, чтобы предотвратить любое использование паролей, использующих старый формат (и, следовательно, небезопасную связь по сети). | да | да | Глобальный | да | |
- Переменная : secure_auth | Если эта переменная включена, сервер блокирует подключения клиентов, которые пытаются использовать учетные записи, пароли которых хранятся в старом (до 4.1) формате. | да | Глобальный | да | ||
безопасные-файлы собства | По умолчанию эта переменная пуста. Если задано имя каталога, это ограничивает влияние функции LOAD_FILE () и операторов LOAD DATA и SELECT ... INTO OUTFILE на работу только с файлами в этом каталоге. | да | да | Глобальный | нет | |
- Переменная : secure_file_priv | да | Глобальный | нет | |||
пропуск грантовый столов | Эта опция заставляет сервер запускаться без использования системы привилегий, что дает любому, кто имеет доступ к серверу, неограниченный доступ ко всем базам данных. | да | да | |||
пропуск имя-Решимость | Все взаимодействие с mysqld должно осуществляться с использованием именованных каналов или общей памяти (в Windows) или файлов сокетов Unix (в Unix). Этот параметр настоятельно рекомендуется для систем, где разрешены только локальные клиенты. | да | да | Глобальный | нет | |
- Переменная : skip_name_resolve | да | Глобальный | нет | |||
скип-сетей | Все взаимодействие с mysqld должно осуществляться с использованием именованных каналов или общей памяти (в Windows) или файлов сокетов Unix (в Unix). Этот параметр настоятельно рекомендуется для систем, где разрешены только локальные клиенты. | да | да | Глобальный | нет | |
- Переменная : skip_networking | да | Глобальный | нет | |||
пропустить шоу-базы данных | Эта опция устанавливает системную переменную skip_show_database, которая контролирует, кому разрешено использовать оператор SHOW DATABASES. | да | да | Глобальный | нет | |
- Переменная : skip_show_database | да | Глобальный | нет |
Как запустить MySQL как обычный пользователь:
- В Windows вы можете запустить сервер как службу Windows, используя обычную учетную запись пользователя.
- В Unix сервер MySQL mysqld может быть запущен и запущен любым пользователем. Однако из соображений безопасности следует избегать запуска сервера от имени пользователя root в Unix.
Проблемы безопасности с LOAD DATA LOCAL:
Существует две потенциальные проблемы безопасности при поддержке ЛОКАЛЬНОЙ версии операторов LOAD DATA:
- Передача файла с клиентского хоста на серверный хост инициируется сервером MySQL. Теоретически, можно создать пропатченный сервер, который будет указывать клиентской программе передавать файл по выбору сервера, а не файл, указанный клиентом в операторе LOAD DATA. Такой сервер может получить доступ к любому файлу на клиентском хосте, к которому у пользователя клиента есть доступ для чтения.
- В веб-среде, где клиенты подключаются с веб-сервера, пользователь может использовать LOAD DATA LOCAL для чтения любых файлов, к которым у процесса веб-сервера есть доступ для чтения (при условии, что пользователь может выполнить любую команду на сервере SQL). В этой среде клиент по отношению к серверу MySQL фактически является веб-сервером, а не удаленной программой, выполняемой пользователем, который подключается к веб-серверу.
Руководство по безопасности клиентского программирования:
Приложения, которые обращаются к MySQL, не должны доверять любым данным, введенным пользователями, которые могут попытаться обмануть ваш код, введя специальные или экранированные последовательности символов в веб-формах, URL-адресах или любом другом приложении, которое вы создали. Убедитесь, что ваше приложение остается безопасным, если пользователь вводит что-то вроде "; DROP DATABASE mysql;". Это крайний пример, но большие утечки безопасности и потеря данных могут произойти в результате хакеров, использующих подобные методы, если вы не подготовитесь к ним. Смотрите следующие рекомендации:
- Включите режим строгого SQL, чтобы сервер был более строгим в отношении того, какие значения данных он принимает.
- Попробуйте ввести одинарные и двойные кавычки («» и «» »во всех ваших веб-формах. Если вы получаете какую-либо ошибку MySQL, немедленно исследуйте проблему.
- Попробуйте изменить динамические URL-адреса, добавив к ним% 22 («» »,% 23 (« # ») и% 27 (« »).
- Попробуйте изменить типы данных в динамических URL-адресах с числовых на символьные, используя символы, показанные в предыдущих примерах. Ваше приложение должно быть защищено от этих и подобных атак.
- Попробуйте вводить символы, пробелы и специальные символы, а не цифры в числовых полях. Ваше приложение должно удалить их, прежде чем передавать их в MySQL, иначе возникнет ошибка. Передача непроверенных значений в MySQL очень опасна.
- Проверьте размер данных, прежде чем передавать их в MySQL.
- Не давайте вашим приложениям никаких прав доступа, которые им не нужны.
Система привилегий доступа MySQL
Привилегии, предоставляемые MySQL:
MySQL предоставляет привилегии, которые применяются в разных контекстах и на разных уровнях работы:
- Административные привилегии позволяют пользователям управлять работой сервера MySQL. Эти привилегии являются глобальными, потому что они не являются специфическими для конкретной базы данных.
- Привилегии базы данных применяются к базе данных и ко всем объектам в ней. Эти привилегии могут быть предоставлены для определенных баз данных или глобально, так что они применяются ко всем базам данных.
- Привилегии для объектов базы данных, таких как таблицы, индексы, представления и хранимые подпрограммы, могут быть предоставлены для конкретных объектов в базе данных, для всех объектов данного типа в базе данных (например, для всех таблиц в базе данных) или глобально для всех объекты данного типа во всех базах данных).
Допустимые привилегии для GRANT и REVOKE:
льгота | колонка | контекст |
---|---|---|
СОЗДАЙТЕ | Create_priv | базы данных, таблицы или индексы |
DROP | Drop_priv | базы данных, таблицы или представления |
ВАРИАНТ ГРАНТА | Grant_priv | базы данных, таблицы или хранимые процедуры |
ЗАМКИ | Lock_tables_priv | базы данных |
РЕКОМЕНДАЦИИ | References_priv | базы данных или таблицы |
СОБЫТИЕ | Event_priv | базы данных |
ALTER | Alter_priv | таблицы |
УДАЛЯТЬ | Delete_priv | таблицы |
ИНДЕКС | Index_priv | таблицы |
ВСТАВИТЬ | Insert_priv | таблицы или столбцы |
ВЫБРАТЬ | Select_priv | таблицы или столбцы |
ОБНОВИТЬ | Update_priv | таблицы или столбцы |
СОЗДАТЬ ВРЕМЕННЫЕ СТОЛЫ | Create_tmp_table_priv | таблицы |
СПУСКОВОЙ КРЮЧОК | Trigger_priv | таблицы |
СОЗДАТЬ ВИД | Create_view_priv | Просмотры |
ПОКАЗАТЬ ВИД | Show_view_priv | Просмотры |
ALTER ROUTINE | Alter_routine_priv | сохраненные процедуры |
СОЗДАТЬ РУТИНУ | Create_routine_priv | сохраненные процедуры |
ВЫПОЛНИТЬ | Execute_priv | сохраненные процедуры |
ФАЙЛ | File_priv | доступ к файлу на хосте сервера |
СОЗДАТЬ СТОЛ | Create_tablespace_priv | администрирование сервера |
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ | Create_user_priv | администрирование сервера |
ПРОЦЕСС | Process_priv | администрирование сервера |
PROXY | смотри таблицу proxies_priv | администрирование сервера |
RELOAD | Reload_priv | администрирование сервера |
РЕПЛИКАЦИЯ КЛИЕНТА | Repl_client_priv | администрирование сервера |
РЕБЛИКАЦИЯ РАБА | Repl_slave_priv | администрирование сервера |
ПОКАЗАТЬ БАЗЫ ДАННЫХ | Show_db_priv | администрирование сервера |
НЕИСПРАВНОСТЬ | Shutdown_priv | администрирование сервера |
СУПЕР | Super_priv | администрирование сервера |
ВСЕ [ПРИВИЛЕГИИ] | администрирование сервера | |
ИСПОЛЬЗОВАНИЕ | администрирование сервера |
Таблицы грантов системы привилегий:
Обычно вы манипулируете содержимым таблиц предоставления в базе данных mysql косвенным образом, используя такие операторы, как GRANT и REVOKE, для настройки учетных записей и управления привилегиями, доступными для каждой из них.
Эти таблицы базы данных mysql содержат информацию о предоставлении:
- пользователь: содержит учетные записи пользователей, глобальные привилегии и другие столбцы непривилегий.
- db: содержит привилегии уровня базы данных.
- Ведущий: устарел. Новые установки MySQL больше не создают эту таблицу с MySQL 5.6.7.
- tables_priv: Содержит привилегии уровня таблицы.
- columns_priv: содержит привилегии уровня столбца.
- procs_priv: содержит привилегии хранимых процедур и функций.
- proxies_priv: содержит права прокси-пользователя.
Указание имен учетных записей:
Имена учетных записей MySQL состоят из имени пользователя и имени хоста. Это позволяет создавать учетные записи для пользователей с одинаковыми именами, которые могут подключаться с разных хостов. В этом разделе описывается, как писать имена учетных записей, включая специальные значения и правила подстановочных знаков. В операторах SQL, таких как CREATE USER, GRANT и SET PASSWORD, напишите имена учетных записей, используя следующие правила:
- Синтаксис для имен учетных записей: «user_name» @ «host_name».
- Имя учетной записи, состоящее только из имени пользователя, эквивалентно 'user_name' @ '%'. Например, «я» эквивалентно «мне» @ «%».
- Имя пользователя и имя хоста не нужно заключать в кавычки, если они допустимы как идентификаторы без кавычек. Кавычки необходимы для указания строки user_name, содержащей специальные символы (например, «-»), или строки host_name, содержащей специальные символы или символы подстановки (например, «%»); например, 'test-user'@'%.com'.
- Заключите в кавычки имена пользователей и имена хостов как идентификаторы или как строки, используя либо обратную кавычку («` »), либо одинарные кавычки (« »), либо двойные кавычки (« »»).
- Части имени пользователя и имени хоста, если они указаны, должны быть указаны отдельно. То есть напишите 'me' @ 'localhost', а не ' [email protected] '; последний интерпретируется как ' [email protected] ' @ '%'.
- Ссылка на функцию CURRENT_USER или CURRENT_USER () эквивалентна буквальному указанию имени пользователя и имени текущего клиента.
Контроль доступа, этап 1: проверка соединения:
Когда вы пытаетесь подключиться к серверу MySQL, сервер принимает или отклоняет соединение на основе вашей личности и того, можете ли вы подтвердить свою личность, указав правильный пароль. Если нет, сервер полностью запрещает вам доступ. В противном случае сервер принимает соединение, а затем переходит на этап 2 и ожидает запросов. Ваша личность основана на двух частях информации:
- Клиентский хост, с которого вы подключаетесь.
- Ваше имя пользователя MySQL.
Контроль доступа, этап 2: проверка соединения:
После установления соединения сервер переходит в Стадию 2 контроля доступа. Для каждого запроса, который вы отправляете через это соединение, сервер определяет, какую операцию вы хотите выполнить, а затем проверяет, достаточно ли у вас прав для этого. Именно здесь вступают в игру столбцы привилегий в таблицах грантов. Эти привилегии могут быть получены из любых таблиц user, db, tables_priv, columns_priv или procs_priv.
Пользовательская таблица предоставляет привилегии, которые назначаются вам глобально и применяются независимо от того, какая база данных используется по умолчанию. Например, если пользовательская таблица предоставляет вам привилегию DELETE, вы можете удалить строки из любой таблицы в любой базе данных на хосте сервера! Целесообразно предоставлять привилегии в пользовательской таблице только тем, кто в них нуждается, например администраторам баз данных.
Таблица db предоставляет специфичные для базы данных привилегии. Значения в столбцах области действия этой таблицы могут принимать следующие формы:
- Пустое значение User соответствует анонимному пользователю. Непустое значение соответствует буквально; в именах пользователей нет подстановочных знаков.
- Подстановочные знаки «%» и «_» можно использовать в столбцах «Хост» и «БД». Они имеют то же значение, что и для операций сопоставления с образцом, выполняемых с помощью оператора LIKE. Если вы хотите использовать любой символ буквально при предоставлении привилегий, вы должны экранировать его обратной косой чертой. Например, чтобы включить символ подчеркивания («_») в качестве части имени базы данных, укажите его как «/ _» в операторе GRANT.
- «%» Или пустое значение «Хост» означает «любой хост».
- «%» Или пустое значение в БД означает «любая база данных».
Когда изменения привилегий вступают в силу:
Когда запускается mysqld, он считывает все содержимое таблицы грантов в память. Таблицы в памяти становятся эффективными для контроля доступа в этой точке. Если вы изменяете таблицы грантов косвенно, используя операторы управления учетными записями, такие как GRANT, REVOKE, SET PASSWORD или RENAME USER, сервер замечает эти изменения и немедленно снова загружает таблицы грантов в память.
Причины ошибок в доступе:
Если вы сталкиваетесь с проблемами при попытке подключиться к серверу MySQL, следующие пункты описывают некоторые действия, которые вы можете предпринять, чтобы исправить проблему.
- Убедитесь, что сервер работает. Если это не так, клиенты не могут подключиться к нему.
- Возможно, сервер запущен, но вы пытаетесь подключиться с использованием порта TCP / IP, именованного канала или файла сокета Unix, отличного от того, который прослушивает сервер. Чтобы узнать, где находится файл сокета, вы можете использовать эту команду:
shell> netstat -ln | grep mysql
- Убедитесь, что сервер не был настроен на игнорирование сетевых подключений или (если вы пытаетесь подключиться удаленно), чтобы он не был настроен на прослушивание только локально на своих сетевых интерфейсах.
- Убедитесь, что брандмауэр не блокирует доступ к MySQL.
- Таблицы разрешений должны быть правильно настроены, чтобы сервер мог использовать их для контроля доступа.
- После новой установки вам необходимо подключиться к серверу и настроить своих пользователей и их права доступа:
shell> mysql -u root mysql
- Если вы обновили существующую установку MySQL до более новой версии, запустите сценарий mysql_upgrade.
- Если клиентская программа получает сообщение об ошибке «Клиент не поддерживает протокол аутентификации, запрошенный сервером; рассмотрите возможность обновления клиента MySQL», это означает, что сервер ожидает пароли в более новом формате, который клиент может сгенерировать.
- Если клиентская программа, похоже, отправляет неправильные параметры подключения по умолчанию, когда вы не указали их в командной строке, проверьте все применимые файлы опций и вашу среду.
- Если вы получаете сообщение об ошибке «Доступ запрещен для пользователя« root »@« localhost »(используя пароль: YES)», это означает, что вы используете неверный пароль root.
- Если вы меняете пароль с помощью SET PASSWORD, INSERT или UPDATE, вы должны зашифровать пароль с помощью функции PASSWORD (). Если вы не используете PASSWORD () для этих операторов, пароль не будет работать.
- localhost - это синоним вашего локального имени хоста, а также хост по умолчанию, к которому клиенты пытаются подключиться, если вы явно не указали хост.
- Сообщение об ошибке «Отказано в доступе» сообщает, кто вы пытаетесь войти в систему, клиентский хост, с которого вы пытаетесь подключиться, и использовали ли вы пароль.
- Если при попытке соединения с базой данных с помощью mysql -u имя_пользователя появляется ошибка «Отказано в доступе», возможно, у вас проблема с таблицей пользователей.
- Если вы получаете сообщение об ошибке «Хост ... не разрешено подключаться к этому серверу MySQL», при попытке подключиться с хоста, отличного от того, на котором работает сервер MySQL, это означает, что в пользовательская таблица со значением Host, соответствующим клиентскому хосту.
- Если вы указываете имя хоста при попытке подключения, но получаете сообщение об ошибке, где имя хоста не отображается или является IP-адресом, это означает, что сервер MySQL получил ошибку при попытке разрешить IP-адрес клиентского хоста в имя :
Управление учетными записями пользователей MySQL
Имена пользователей и пароли:
MySQL хранит учетные записи в пользовательской таблице базы данных mysql. Учетная запись определяется на основе имени пользователя и клиентского хоста или хостов, с которых пользователь может подключаться к серверу. Учетная запись также может иметь пароль
Добавление и удаление учетных записей пользователей:
Вы можете создавать учетные записи MySQL двумя способами:
- С помощью выписок, предназначенных для создания учетных записей, таких как CREATE USER или GRANT. Эти операторы заставляют сервер вносить соответствующие изменения в таблицы предоставления.
- Управляя таблицами предоставления MySQL напрямую с помощью таких операторов, как INSERT, UPDATE или DELETE.
Чтобы удалить учетную запись, используйте инструкцию DROP USER,
Установка лимитов ресурсов учетной записи:
В MySQL 5.6 вы можете ограничить использование следующих ресурсов сервера для отдельных учетных записей:
- Количество запросов, которые может выполнить учетная запись в час
- Количество обновлений что аккаунт может выдать в час
- Сколько раз аккаунт может подключиться к серверу в час
- Количество одновременных подключений к серверу по учетной записи
Назначение паролей учетной записи:
Обязательные учетные данные для клиентов, которые подключаются к серверу MySQL, могут включать пароль. В MySQL 5.6 клиенты также могут проходить аутентификацию с помощью плагинов.
Чтобы назначить пароль при создании новой учетной записи с помощью CREATE USER, включите предложение IDENTIFIED BY:
mysql> CREATE USER 'user' @ 'localhost' -> IDENTIFIED BY 'mypass';
Чтобы назначить или изменить пароль для существующей учетной записи, можно использовать инструкцию SET PASSWORD:
mysql> SET PASSWORD FOR -> 'user' @ 'localhost' = PASSWORD ('mypass');
Ссылка: руководство по MySQL 5.6
Предыдущая: MySQL Views
Далее: MySQL Show Commands
Новый контент: Composer: менеджер зависимостей для PHP , R программирования