Site icon 8HOST.COM

Создание нового пользователя и предоставление привилегий в MySQL

Что такое MySQL?

MySQL – это программное обеспечение для управления базами данных с открытым исходным кодом, которое помогает пользователям хранить, систематизировать и позже извлекать данные. Данная программа имеет множество параметров для передачи пользователям прав на работу с таблицами и базами данных – это руководство проводит краткий обзор нескольких из этого множества параметров.

Что значит красный?

Строки, выделенные в этом руководстве красным, пользователь должен ввести или отредактировать самостоятельно. Остальное можно просто скопировать и вставить.

Создание нового пользователя

Как правило, все необходимое редактирование в MySQL выполняется с помощью root-пользователя, имеющего полный доступ ко всем базам данных. Тем не менее, в некоторых случаях нужны более строгие ограничения, и тогда нужно создать пользователя с ограниченными правами.

Для начала нужно создать нового пользователя в оболочке MySQL:

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

На данном этапе пользователь не имеет никаких привилегий для работы с базами данных. По сути, даже если новый пользователь попытается войти в систему (с помощью пароля), он е сможет попасть в оболочку MySQL.

Потому первое, что нужно сделать – разрешить пользователю доступ к необходимой информации.

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

Символ звездочки в данной команде замещает имя базы данных и таблицы (соответственно), доступ к которым будет предоставлен пользователю; данная команда передает пользователю права на чтение, изменение и запуск, а также позволяет выполнять в этой базе данных и таблице все необходимые задачи.

Передав новому пользователю все необходимые привилегии, нужно перезагрузить все привилегии:

FLUSH PRIVILEGES;

После этого изменения будут активированы.

 Предоставление пользовательских привилегий

Здесь приведен короткий список распространенных прав, которые можно передать пользователю.

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

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