Права (привілеї) користувачів в mysql

Права (привілеї) користувачів в MySQL

для роботи з базами даних в MySQL необхідний користувач, наділений такими правами. Тобто при підключенні до бази даних Ви повинні вказувати логін користувача і його пароль, і якщо доступ йому відкритий, то він отримає певні права. І про те, які права можуть бути у користувача в MySQL ми і розберемо в цій статті.

В MySQL існують три групи привілеїв: дані, структура, адміністрування. Перша група пов`язана зі зміною записів в таблицях, друга група пов`язана зі зміною структури баз даних, а третя пов`язана з адмініструванням, як би це явно не звучало.

Тепер перейдемо до розгляду кожної групи окремо. І почнемо з прав на керування даними в таблицях.

  • SELECT - цей привілей дозволяє робити вибірку (витягування) записів з таблиць баз даних.
  • INSERT - привілей, яка необхідна для додавання нових записів в таблицю.
  • UPDATE - право, що дозволяє оновлювати записи в таблиці.
  • DELETE - цей привілей дозволяє видаляти записи з таблиці.
  • FILE - дозволяє робити вибірку записів і записувати дані в файл, а також зчитувати їх звідти.



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

  • CREATE - привілей, що дозволяє створювати нові бази даних, а також нові таблиці в базі даних.
  • ALTER - привілей, що дозволяє перейменовувати таблиці, вставляти нові поля в таблицю, видаляти поля з таблиці, а також модифікувати їх.
  • INDEX - дозволяє створювати індекс за певним полю і видаляти його. Про те, що це таке і для чого потрібно ми поговоримо в одній з наступних статей.
  • DROP - право, яке дозволяє видаляти або таблиці, або цілі бази даних.
  • CREATE TEMPORARY TABLES - можливість створювати тимчасові таблиці, які зберігаються під час сесії, а після закінчення сесії дана таблиця автоматично видаляється.

І остання група привілеїв - це привілеї, пов`язані з адмініструванням баз даних.

  • GRANT - привілей, яка дозволяє створювати нових користувачів, а також змінювати права у існуючих. Тут є дуже важлива деталь: не можна змінювати значення привілеїв, якими сам не володієш. Тобто якщо людина володіє привілеєм GRANT, але не володіє привілеєм SELECT, то він не може новим користувачам дати привілей SELECT. Втім, це цілком логічно.
  • SUPER - дозволяє використовувати команду "kill", Тобто вбити потік. Потік - це Ви зараз приєднані іншого користувача до бази даних.
  • PROCESS - привілей, що дозволяє виконати команду "processlist", Яка показує список потоків.
  • RELOAD - дозволяє відкривати і закривати файли журналів, а також перечитувати таблиці привілеїв користувачів.
  • SHUTDOWN - привілей, що дозволяє виконати команду "shutdown", Яка відключає роботу сервера.
  • SHOW DATABASES - дозволяє переглядати всі існуючі бази даних.
  • REFERENCES - дана привілей ще не доступна, а тільки зарезервована для використання в майбутньому.
  • LOCK TABLES - дозволяє блокувати таблиці від зазначених потоків.
  • EXECUTE - дозволяє запускати збережені процедури.
  • REPLICATION CLIENT - дає право отримувати місцезнаходження ведучого (master) І ведених (slaves) Серверів.
  • REPLICATION SLAVE - це привілей, що дозволяє читати веденим журналу ведучого сервера.

Відео: Вивчаємо MySQL | Урок №36 - Додавання користувача




І, нарешті, спеціальні привілеї, пов`язані з обмеженням на доступні ресурси:

  • MAX QUERIES PER HOUR - максимальна кількість запитів на годину, яке може відправити користувач.
  • MAX UPDATES PER HOUR - максимальна кількість команд в годину, які будь-яким чином змінюють або таблицю, або базу даних.
  • MAX CONNECTIONS PER HOUR - максимальну кількість підключень на годину, яке може зробити користувач.

Якщо значення вищеназваних меж рівні "0", То ресурси для користувача не обмежені.

Як бачите, привілеїв досить багато, і група, пов`язана з адміністраторськими правами, досить складна, а новачок може взагалі в ній загубитися. Але я поспішаю Вас порадувати: для 95% сайтів, які використовують MySQL, не вимагається взагалі налаштовувати будь-яких привілеїв. Досить одного користувача з усіма правами. Наприклад, на цьому сайті є всього лише один користувач з усіма правами. І всі операції з базою даних проводить тільки він один, а Ви, здійснюючи певні дії, даєте йому певні команди.

Відео: База данних.mySQL.SQL.Доступ.Отказ.Прівілегіі.Отсутствіе

Тому не варто лякатися цього обсягу інформації, але взяти до відома це обов`язково потрібно.

Поділися в соціальних мережах:

Схожі
Структура бази данихСтруктура бази даних
Команда cmdkey - створення, відображення, видалення і збереження імен користувачів і паролів.Команда cmdkey - створення, відображення, видалення і збереження імен користувачів і паролів.
Запит sql для сортування результату вибіркиЗапит sql для сортування результату вибірки
Запит sql на вибірку записівЗапит sql на вибірку записів
Як дізнатися кількість записів в sql-вибірціЯк дізнатися кількість записів в sql-вибірці
Індекси в mysqlІндекси в mysql
MysqlMysql
Групи користувачів в joomlaГрупи користувачів в joomla
Випадкова вибірка з бази данихВипадкова вибірка з бази даних
Join в sqlJoin в sql
» » Права (привілеї) користувачів в mysql