Від автора: я б вам радив бути уважнішими з привілеями. Один мій знайомий, який має в своїй квартирі правами адміністратора, наділив жінку «привілеєм» обмеження доступу до холодильника. У результаті вже другий місяць сидить на дієті і харчується тільки овочами. Тому навіть перед тим, як додати користувача в MySQL, добре подумайте!
Тих, кому довіряємо!
Але все-таки є на світі люди, яким можна довіряти. І звичайно, це не дружина і не теща . Давайте навчимося сьогодні додавати облікові записи в MySQL і наділяти їх певними привілеями.
Це можна робити як через командний рядок, так і через програмні оболонки. Для початку розглянемо легкий варіант. Скористаємося для додавання нового користувача програми phpMyAdmin. Але для початку давайте зробимо маленький екскурс в систему облікових записів, реалізовану в СУБД.
Вище за всіх в ієрархії стоїть користувач з обліковим записом адміністратора. Спочатку ця учетка поставляється з порожнім значенням пароля. Адміністратор (root) може в MySQL додати користувача, наділити його певними правами, а також позбавити привілеїв.
Система привілеїв реалізована не тільки на сервері СУБД, але і на рівні баз. Можна наділити користувача доступом до певної БД, а також дозволити йому виконувати лише певні операції з «сховищем». Наприклад, заборонити вставляти, видаляти і оновлювати дані, але дозволити робити вибірки з таблиць. Але все це легше пізнається у справі, тому приступимо.
Додавання учеток через phpMyAdmin
Відкрийте програму, вгорі перейдіть по вкладці «Користувачі». Після цього відобразиться таблиця «Огляд облікових записів». В ній вказані всі облікові записи, які існують на примірнику сервера, а також коротка інформація про їх привілеї.
Щоб додати новий обліковий запис потрібно натиснути на посилання «Додати користувача», яка розташована нижче таблиці. Після чого система додатки виведе спеціальне діалогове вікно «Додати користувача».
У самому верхньому розділі«Інформація облікового запису») слід задати ім’я нового користувача, встановити та підтвердити пароль. Також можна отримати випадкове значення пароля, яке буде автоматично заповниться в поля. Для цього потрібно натиснути кнопку «Генерувати».
Якщо прокрутити трохи вниз, то стануть доступними для редагування глобальні привілеї, якими можна наділити створюваного користувача. На знімку видно, що всі привілеї розділені на кілька категорій: «Дані», «Структура» і «Адміністрування». Перед тим, як додати користувача в MySQL ,ознайомтесь з ними і позначте потрібні.
Для створення закладки натисніть внизу діалогового вікна кнопку «Додати користувача». Тепер подивимося на результат наших дій. Знову поверніться до таблиці «Огляд облікових записів» і ознайомтеся з її змістом. Як бачите, на сервері була створена нова учетка з заданим нами ім’ям.
Додаємо нового користувача БД
Через phpMyAdmin можна займатися адмініструванням ролей не тільки глобально, але і на рівні окремих БД. Щоб в MySQL додати користувача до бази, у списку ліворуч виберіть потрібну. Потім перейдіть через пункт меню «Привілеї», де в таблиці відображаються всі користувачі, які мають доступ до цієї бази. Щоб створити нову учетку БД, натисніть на посилання «Додати користувача», яка розташована трохи нижче (під таблицею).
Після чого з’явиться знайомий нам вже діалог «Додати користувача». Заповнюємо всі поля, як і в попередньому прикладі. Наделим leha2 глобальними привілеями на базу world – хай що хоче, те й робить з цим світом . І натискаємо внизу «Додати користувача».
Контроль можливостей створених юзерів
Розберемося, що може створеним нами останній «Леха». Переходимо в командний рядок. Входимо на сервер і виконаємо вибірку з бази, для якої в MySQL додали користувача: Z:\usr\local\mysql-5.5\bin\mysql.exe -u leha2 -p123
SELECT * FROM `world`.`countrylanguage` WHERE `CountryCode` = ‘ABW’;
Тепер спробуємо під цією учеткой (leha2) потрапити в іншу базу, і теж зробити з неї вибірку. Наприклад, ось з цієї БД:
SELECT * FROM `db1`.`animal`;
Але у відповідь отримуємо від MySQL «тик», оскільки використовувана учетка володіє правами тільки на базу world.
Але це ще не всі можливості адміністрування привілеїв. Можна в MySQL додати користувача з правами тільки на перегляд. Для цього редагується таблиця прав облікового запису або створюється нова.
Знову заходимо на вкладку «Привілеї». В таблиці користувачів біля потрібної закладки тиснемо «Редагування привілеїв». Потім у вікні діалогу вимикаємо всі привілеї крім select. Таким чином користувач може лише переглядати таблиці або робити з них вибірки за допомогою SQL-команди SELECT.
Створення юзера через консоль
Давайте навчимося, як додати користувача в MySQL через консоль. Для цього нам потрібно зайти на сервер БД з правами адміністратора. Потім за допомогою команди CREATE створити нового користувача і задати йому пароль:
CREATE USER ‘verter’@’localhost’ IDENTIFIED BY ‘12345’;
Тепер знову зайдемо в програмну оболонку і глянемо, з’явився створений нами «робот» в таблиці «Огляд облікових записів».
Як бачите, verter став користувачем нашого сервера MySQL. Але він взагалі не має ніяких прав (як і будь-який робот). Так неетично по відношенню до братів наших «залізним», тому забезпечимо його всіма привілеями на будь-яку з баз. Наприклад, world:
GRANT ALL PRIVILEGES ON `world`.* TO ‘verter’@’localhost’;
Щоб перевірити привілеї «робота з радянського майбутнього», проведемо випробування його можливостей. Зайдемо під його обліковим записом на сервер і зробимо вибірку з бази:
Ми успішно MySQL додали користувача до бази. І наостанок порадив би не роздавати привілеї «направо і наліво»… Вибачте, але мені пора бігти, інакше дружина знову без вечері залишить. До швидкої зустрічі!