Створення користувача MySQL
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'StrongPassword123!';Видача привілеїв (GRANT)
-- Всі права на одну базу даних
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
-- Лише читання
GRANT SELECT ON mydb.* TO 'readonly_user'@'localhost';
-- Читання + запис
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;Перегляд привілеїв
SHOW GRANTS FOR 'myuser'@'localhost';
SELECT User, Host FROM mysql.user;Відкликання привілеїв (REVOKE)
REVOKE ALL PRIVILEGES ON mydb.* FROM 'myuser'@'localhost';
FLUSH PRIVILEGES;Створення користувача для веб-застосунку
CREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'SecurePass789!';
GRANT SELECT, INSERT, UPDATE, DELETE ON myapp_db.* TO 'myapp_user'@'localhost';
FLUSH PRIVILEGES;Принцип мінімальних привілеїв: давайте користувачам лише ті права, які їм дійсно потрібні.