Встановлення Discord на Ubuntu та інших Linux-системах: покрокова інструкція з встановлення через Deb, Snap і Flatpak, налаштування звуку, відео та сповіщень, а...
Блог компанії 3v-Hosting
5 хв.
Створення користувачів та керування ними в MySQL – фундаментальне завдання для адміністраторів баз даних (DBA). Це завдання включає не тільки створення користувачів, але й призначення відповідних дозволів для забезпечення безпеки та належного управління базою даних. У цій статті ми докладно розглянемо всі необхідні кроки щодо створення нового користувача та надання дозволів для цього користувача MySQL.
Управління користувачами в MySQL включає кілька важливих завдань, включаючи створення нових користувачів, встановлення паролів, а також надання або відкликання дозволів. Ці операції необхідні для підтримки безпеки бази даних та забезпечення користувачам відповідного рівня доступу для виконання своїх завдань.
Безпека. Правильне керування користувачами допомагає захистити конфіденційні дані, забезпечуючи доступ лише авторизованим користувачам.
Організація: дозволяє чітко розмежувати ролі та обов'язки між користувачами.
Можливість аудиту: відстеження дій користувачів стає набагато простіше, коли кожен користувач має унікальний обліковий запис.
Перш ніж почати, переконайтеся, що у вас є адміністративний доступ до вашого сервера зі встановленою базою даних MySQL. Зазвичай це означає, що ви маєте доступ до користувача root або іншого користувача з достатніми привілеями.
Важливо! Пароль користувача root призначається при встановленні MySQL на сервер і саме про цей обліковий запис ми говоримо нижче, а не про користувача користувача операційної системи сервера.
Щоб підключитися до сервера MySQL, використовуйте наступну команду у своєму терміналі:
mysql -u root -p
Вам буде запропоновано ввести пароль root. Після успішного входу ви отримаєте доступ до інтерфейсу командного рядка MySQL.
Оператор CREATE USER використовується для створення нового користувача MySQL. Ось основний синтаксис:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
Приклад
Щоб створити користувача з ім'ям newuser та паролем user_password, виконайте:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
Ця команда створює користувача новогокористувача, який може підключатися до сервера MySQL з локального комп'ютера (localhost).
Після створення користувача наступним кроком буде надання необхідних дозволів. З цією метою використовується оператор GRANT.
Щоб надати всі привілеї для конкретної бази даних, використовуйте наступний синтаксис:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';
Приклад
Щоб надати всі права доступу до бази даних testdb користувачу newuser, виконайте:
GRANT ALL PRIVILEGES ON testdb.* TO 'newuser'@'localhost';
Ця команда надає новому користувачеві повний доступ до бази даних testdb.
Після надання дозволів дуже важливо застосувати ці зміни, скинувши привілеї. Це можна зробити за допомогою наступної команди:
FLUSH PRIVILEGES;
Щоб переконатися, що новий користувач створено та права встановлені правильно, ви можете використовувати оператор SHOW GRANTS:
SHOW GRANTS FOR 'newuser'@'localhost';
Це відобразить усі привілеї, призначені новому користувачеві.
MySQL забезпечує детальний контроль над дозволами користувачів. Ось огляд найчастіше використовуваних привілеїв:
ALL PRIVILEGES: надає всі доступні привілеї.
SELECT: дозволяє читати дані із таблиць.
INSERT: дозволяє вставляти дані в таблиці.
UPDATE: дозволяє оновлювати наявні дані.
DELETE: дозволяє видалити дані.
CREATE: дозволяє створювати нові бази даних та таблиці.
DROP: дозволяє видаляти бази даних та таблиці.
ALTER: дозволяє змінювати наявні таблиці.
Щоб надати окремі привілеї, змініть оператор GRANT належним чином. Наприклад, щоб надати привілеї SELECT та INSERT у testdb:
GRANT SELECT, INSERT ON testdb.* TO 'newuser'@'localhost';
Якщо потрібно відкликати певні привілеї, використовуйте оператор REVOKE:
REVOKE privilege_type ON database_name.* FROM 'username'@'host';
Приклад
Щоб відкликати привілей INSERT у нового користувача testdb:
REVOKE INSERT ON testdb.* FROM 'newuser'@'localhost';
Якщо вам потрібний користувач з глобальними привілеями, наприклад, доступ до всіх баз даних, ви можете використовувати наступну команду:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'host' WITH GRANT OPTION;
Приклад
Щоб створити користувача-адміністратора з глобальними привілеями та надати йому доступ до всіх баз даних у даній інстансі:
CREATE USER 'adminuser'@'localhost' IDENTIFIED BY 'admin_password';
GRANT ALL PRIVILEGES ON *.* TO 'adminuser'@'localhost' WITH GRANT OPTION;
Щоб дозволити користувачеві підключатися з конкретного віддаленого хоста, замініть localhost на IP-адресу віддаленого хоста або використовуйте %, щоб дозволити підключення з будь-якого хоста:
CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'remote_password';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION;
Принцип найменших привілеїв: надайте кожному користувачеві мінімально необхідні привілеї.
Надійні паролі. Переконайтеся, що користувачі мають надійні та унікальні паролі.
Регулярні перевірки Періодично перевіряйте та перевіряйте дозволи користувачів.
Поділ обов'язків: призначайте різні ролі різним користувачам для підвищення безпеки.
Резервне копіювання даних користувачiв. Регулярно створюйте резервні копії облікових записів та привілеїв користувачів.
Управління користувачами та їх привілеями MySQL є першим завданням для адміністраторів баз даних. Виконавши кроки, описані в цій статті, ви зможете створювати нових користувачів, надавати відповідні дозволи та забезпечувати безпеку та ефективність ваших баз даних MySQL. Завжди дотримуйтесь найкращих практик і регулярно перевіряйте права користувачів для підтримки безпечного середовища бази даних.
Ну і звичайно - РОБІТЬ БЕКАПИ! :)
Принципи SOLID допомагають створювати гнучкий, масштабований і підтримуваний код. Розбираємо SRP, OCP, LSP, ISP і DIP з прикладами та практичними рекомендаціями...
HTTP 503 (Service Unavailable) означає, що ваш сервер перевантажений або знаходиться на технічному обслуговуванні. Дізнайтеся, що викликає цю помилку, як її вип...
Керуйте своїм VPS і веб-сайтами за допомогою панелі управління Ispmanager. Створюйте домени, бази даних і резервні копії в один клік, відстежуйте продуктивність...