Надання привілеїв
Сценарій mysql_install_db надає будь-якому користувачу локального комп'ютера привілею, дозволяючі реєструватися на сервері баз даних. Мережні з'єднання не допускаються. За умовчанням будь-який користувач має доступ до бази test, а користувач root має повний доступ до всіх баз даних. Якщо в якійсь з баз зберігається важлива інформація, потрібно призначити суперкористувачу пароль.
Програма MySQL не працює із списком користувачів, який є у операційної системи. У неї своя таблиця користувачів. Проте, якщо при роботі з наявними клієнтськими програмами не ввести ім'я користувача в процесі реєстрації на сервері, буде підставлено системне ім'я користувача.
Щоб поміняти пароль користувача root, потрібно запустити інтерпретатор команд MySQL від імені суперкористувача. Даний інтерпретатор є програмою mysql, шлях до якої повинен бути вказаний в змінній середовища PATH.
Користувачам Windows доведеться вводити путнє ім'я цілком, наприклад с:\mysql\bin\mysql. За допомогою опції --user задається ім'я для реєстрації. В нашому випадку інтерпретатор запускається за допомогою такої команди:
mysql --user=root mysql
Викликавши інтерпретатор, необхідно відновити два рядки в таблиці user, що стосуються користувача root. Це робить наступна інструкція:
UPDATE user SET Password = PASSWORD('secret')
WHERE User = 'root';
У відповідь на цю інструкцію інтерпретатор відобразить два записи, що модифікуються. Природно, замість рядка 'secret' слід вибрати більш надійний пароль. Цей пароль повинен застосовуватися лише в адміністративних цілях.
Далі потрібно повідомити сервер про зміну привілеїв. Для цього призначена така інструкція:
FLUSH PRIVILEGES;
Будь-який користувач може схотіти створити персональну базу даних для власних експериментів, але робити це дозволено тільки користувачу root. Він же може створювати облікові записи нових користувачів і надавати їм необхідні привілеї. Розглянемо приклад:
CREATE DATABASE mybase;
GRANT ALL
ON freak.*
TO freak @'%' IDENTIFIED PASSWORD('secret');
Перша інструкція створює базу даних mybase. Друга інструкція створює обліковий запис користувача freak і надає йому доступ до однойменної бази даних. Пароль для доступу — 'secret'. Користувач freak може підключатися до бази даних з будь-якого комп'ютера, навіть якщо він розташований в мережі Internet.
Контрольні питання
-
Скільки способів інсталяції MySQL існує?
MySQL можна інсталювати двома способамиОпишіть кожний з них, вказавши переваги і недоліки.
Перший варіант допускає більше можливостей в плані конфігурації, але більш тривалий. Другий варіант зручніше, оскільки є готові дистрибутиви для багатьох операційних систем.
-
З якими операційними системами сумісна СУБД MySQL?
На даний момент існують версії MySQL для FreeBSD, HP-UX, IBM AIX, Linux, Mac OS X, SCO, SGI Irix, Solaris і багатьох варіантів Microsoft Windows.
-
Що таке стандарт POSIX? Яке відношення він має до MySQL?
POSIX - це окрема бібліотека потокових функцій MySQL. POSIX — це міжнародний стандарт, що визначає роботу системних сервісів, а потоки — це механізм, що дозволяє програмам виконувати декілька задач одночасно.
-
Дайте короткий опис можливих варіантів інсталяції MySQL.
MySQL можна інсталювати двома способами: скомпілювавши початкові коди програми або скориставшися заздалегідь скомпільованими двійковими файлами.
-
Які типи користувачів можливі в середовищі MySQL?
-
Дайте опис кожному з названих категорій користувачів.
-
Приведіть синтаксис створення нової бази даних.
-
Приведіть синтаксис створення нового користувача і надання йому деяких повноважень.