How To: Создание нового пользователя в MySQL
Для начала подключаемся к базе данных:
mysql -u root -p
Вводим пароль и получаем доступ к коммандной строке базы данных.
Создаем пользователя
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
После этого у нас будет пользователь newuser без права доступа к каой либо базе данных.
Теперь необходимо дать права на доступ к базе данных. Создаем базу:
CREATE DATABASE test;
и все права доступа:
GRANT ALL PRIVILEGES ON test.* TO 'newuser'@'localhost';
Или же можно выдать права на все базы и все таблицы:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
Как только мы закончили, необходимо перечитать права:
FLUSH PRIVILEGES;
Теперь изменения применились.
Как выдать строго определенные права
Это короткий список возможных прав доступа, которые можно использовать:
- ALL PRIVILEGES - как мы уже видели выше, это означает все права на указанную базу (если не указана база, то на всю систему)
- CREATE - разрешает создание таблиц в базе
- DROP - разрешает удаление таблиц в базе
- DELETE - разрешает удалять записи из таблиц
- INSERT - разрешает добавлять записи в таблицы
- SELECT - разрешает делать выборки из базы
- UPDATE - разрешает обновлять записи в таблицах
- GRANT OPTION - разрешает выдавать или удалять права для других пользователей
Для установки прав доступа можно использовать шаблон:
GRANT [type of permission] ON [database name].[table name] TO ‘[username]’@'localhost’;
Если нужно дать доступ ко всем базам или тамблицам, можно использовать * вместо имени базы данных или таблицы.
После внесения изменений обязательно необходимо перечитывать изменения с помощью flush privileges.
Для того что отозвать права, нужно использовать похожую команду:
REVOKE [type of permission] ON [database name].[table name] FROM ‘[username]’@‘localhost’;
Так же как удаление базы данных с помощью DROP, можно удалять и пользователя:
DROP USER ‘demo’@‘localhost’;
Для тестирования подключения необходимо выйти:
quit
Теперь можно пробовать подключиться:
mysql -u [username]-p
Комментарии: