Використання СУБД mysql

Назва роботи: Використання СУБД MySQL

Предметна область: Інформатика, кібернетика та програмування

Опис: База даних являє собою структуровану сукупність даних. Ці дані можуть бути будь-якими - від простого списку майбутніх покупок до переліку експонатів картинної галереї або величезної кількості інформації в корпоративній мережі. Для запису, вибірки і обробки даних, що зберігаються в комп'ютерній базі даних, необхідна система управління базою даних, якою і є ПО MySQL

Розмір файлу: 7.45 MB

Роботу скачали: 10 чол.

Московський державний інститут електроніки і математики

Кафедра електронно-обчислювальної апаратури

Звіт з лабораторної роботи №3:

«Використання СУБД MySQL»

З дисципліни «Бази Даних»

Щоб позбавити користувача привілеїв, наданих командою GRANT. можна скористатися значенням priv_type в GRANT OPTION.

mysql> REVOKE GRANT OPTION ON. FROM. ;

Для таблиці можна вказати тільки такі значення priv_type. SELECT. INSERT. UPDATE. DELETE. CREATE. DROP. GRANT. I NDEX і ALTER.

Для стовпця можна вказати тільки такі значення priv_type (при використанні оператора column_list): SELECT. INSERT і UPDATE.

Таким чином СУБД MySQL дозволяє обмежити доступ користувачеві не тільки до таблиць, але і до кожному колонку таблиці.

Нових користувачів можна додавати, використовуючи команду GRANT.

Рассотрім кілька прикладів:

c: \ mysql \ bin \ mysql.exe user = root mysql

a) mysql> GRANT ALL PRIVILEGES ON *. * TO fedya @ localhost

-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

Fedya - Повноцінний привілейований користувач - він може приєднуватися до сервера звідки завгодно, але повинен використовувати для цього пароль some_pass.

б) mysql> GRANT CREATE, INSERT, UPDATE, DELETE, DROP, SELECT

-> ON *. * TO vasya @ lacalhost IDENTIFIED BY 'some_pass2' WITH

-> GRANT OPTION;

Vasya може використовувати команди CREATE, INSERT, UPDATE, DELETE, DROP, SELECT. Іншими словами він може все необхідне для роботи з базою даних. Він також може приєднуватися до сервера звідки завгодно, але повинен використовувати для цього пароль some_pass2.

в) mysql> GRANT SELECT ON *. * TO vova @ localhost IDENTIFIED BY

-> 'Some_pass3' WITH GRANT OPTION;

Vova може приєднуватися до сервера звідки завгодно, але повинен використовувати для цього пароль some_pass3. І його привілеї обмежені тільки використанням команди SELECT.

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

mysql> GRANT SELECT, UPDATE (code, Tehnicheskie_svoystva, Tsena)

-> ON laba3.goods TO user_name @ localhost

-> IDENTIFIED BY 'password' WITH GRANT OPTION;

В даному прикладі користувач user _ name отримує доступ до стовпців code. Tehnicheskie _ svoystva і Tsena таблиці goods з бази даних laba 3.

Цей приклад демонструє гнучкість системи розмежування привілеїв доступу до даних СУБД MySQL.

При розмежуванні привілеїв слід пам'ятати наступне:

- Не можна надати іншому користувачу привілей, якої немає у вас самого. Привілей GRANT дозволяє надавати тільки ті привілеї, якими ви володієте;

- Якщо при створенні нового користувача не вказати оператор IDENTIFIED BY. буде створено користувач без пароля. Це ненадійно з точки зору безпеки.

- Не слід призначати привілеї ALTER звичайним користувачам. Це дає користувачеві можливість зруйнувати систему привілеїв шляхом перейменування таблиць!

Системна архітектура або загальна архітектура системи вказує склад технічних об'єктів програмних засобів ручних операцій; вказуються вимоги системи між об'єктами. Компоненти повинні бути розділені на модулі системи підсистеми і т. Необхідно документально оформити прив'язку системних елементів архітектури до вимог системи.