Назва роботи: Використання СУБД 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 звичайним користувачам. Це дає користувачеві можливість зруйнувати систему привілеїв шляхом перейменування таблиць!
Системна архітектура або загальна архітектура системи вказує склад технічних об'єктів програмних засобів ручних операцій; вказуються вимоги системи між об'єктами. Компоненти повинні бути розділені на модулі системи підсистеми і т. Необхідно документально оформити прив'язку системних елементів архітектури до вимог системи.