Как создать пользователя MySQL и настроить права доступа

Для создания пользователя первым делом подключимся к консоли MySQL сервера:

mysql

Посмотрим какие есть пользователи:

select * from mysql.user;
select user,host from mysql.user;

Создадим пользователя (там где localhost указывается откуда пользователь может подключаться, можно указать IP-адрес, localhost — с локальной машины где сам MySQL сервер, либо % с любых адресов):

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

Если подразумевается подключение не только локально, то необходимо закомментировать строку в my.cnf:

#bind-address = 127.0.0.1

И перезапустить MySQL сервер:

sudo service mysql restart

После этого рекомендую ограничить доступ к MySQL средствами IPTables.
Смотрите также — Настройка IPTables

Чтобы назначить вновь созданному пользователю неограниченные права доступа к конкретной базе данных, выполним следующую команду:

GRANT ALL PRIVILEGES ON database_name.* TO 'user'@'localhost';

Если нужно на все базы:

GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';

Можно указать конкретные права доступа:

GRANT SELECT ON database_name.* TO 'user'@'localhost';
GRANT SELECT, INSERT ON database_name.table_name TO user@192.168.1.5;

Если нужно создать новую базу:

CREATE DATABASE database_name;

Чтобы изменения вступили в силу выполним:

FLUSH PRIVILEGES;

Удалить пользователя можно так:

DROP USER 'user'@'localhost';

Пример просмотра привилегий:

SHOW GRANTS FOR 'user'@'localhost';
SHOW GRANTS;
SELECT * FROM information_schema.user_privileges;

Оставьте комментарий

Добавить комментарий