Для создания пользователя первым делом подключимся к консоли 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;