Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОСЫ / Administrirovanie.doc
Скачиваний:
43
Добавлен:
15.02.2016
Размер:
150.02 Кб
Скачать

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

Пользователей можно добавлять двумя различными способами - при помощи команды GRANT или напрямую в таблицы назначения привилегий MySQL (команда INSERT INTO имя_таблицы(список_столбцов) VALUES(список_значений) ). Предпочтительнее использовать команду GRANT - этот способ проще и дает меньше ошибок.

GRANT privileges [columns] ON item TO ‘user_name’@’host’ IDENTIFIED BY ‘user_password’

[WITH GRANT OPTION] [необязат. параметры]

PRIVILEGES – список наименований привилегий через запятую.

ALL PRIVILEGES – все, USAGE PRIVILEGES - никаких привилегий

сolumns – по каким столбцам

Item – бд или таблица (*.* - все бд, все таблицы) Если таблица – Dbname.Tablename

WITH GRANT OPTION – если указано, то пользователю дано право передавать свои привилегии другим пользователям

GRANT ALL PRIVILEGES ON *.* TO ‘user_name’@’host’ IDENTIFIED BY ‘user_password’;

GRANT USAGE PRIVILEGES ON *.* TO ‘user_name’@’host’ IDENTIFIED BY ‘user_password’;

Отнять все привилегии – REVOKE ALL PRIVILEGES ON item FROM 'user_name’@’host';

Служебное слово PRIVILEGES можно опустить при наборе команды.

Привилегии вступят в силу или при следующем соединении или в текущем сеансе только после обновления состояния системных таблиц, это делает команда FLUSH PRIVILEGES.

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

SHOW GRANTS FOR 'user_name'@'host';

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

DELETE FROM TABLE where User=’user_name’ and Host=’host’;

удаляя соответствующие записи из всех системных таблиц: user, host, db, tables_priv, columns_priv. После этого следует выйти из монитора и перезагрузить системные таблицы командой

shell> mysqladmin reload –u user -p

Этот сервис доступен только пользователю с полномочиями RELOAD.

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

UPDATE mysql.user SET Password=password(‘newpass’) WHERE User=’modify_user’ AND Host=’host’;

Все обычные пользователи могут модифицировать только свой собственный пароль при помощи команды set password

SET PASSWORD FOR user@’localhost’ = Password(‘newpass’);

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

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

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

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

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

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

  • Количество соединений, сделанных за час: новые соединения, открытые за час.

Пользователь в упомянутом выше контексте представляет собой отдельную запись в таблице user, которая уникальным образом идентифицируется своими столбцами User и Host.

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

GRANT ... WITH MAX_QUERIES_PER_HOUR N1

MAX_UPDATES_PER_HOUR N2

MAX_CONNECTIONS_PER_HOUR N3;

Можно указать любое сочетание приведенных выше ресурсов. N1, N2 и N3 являются целыми числами, представляющими собой значения количеств запросов/обновлений/соединений в час.

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

Текущие значения для всех пользователей сбрасываются, если производится перезагрузка привилегий (на сервере или при использовании команды mysqladmin reload) или если выполняется команда FLUSH USER_RESOURCES.

Соседние файлы в папке ГОСЫ