Что такое MySQL?
MySQL – это программное обеспечение для управления базами данных с открытым исходным кодом, которое помогает пользователям хранить, систематизировать и позже извлекать данные. Данная программа имеет множество параметров для передачи пользователям прав на работу с таблицами и базами данных – это руководство проводит краткий обзор нескольких из этого множества параметров.
Что значит красный?
Строки, выделенные в этом руководстве красным, пользователь должен ввести или отредактировать самостоятельно. Остальное можно просто скопировать и вставить.
Создание нового пользователя
Как правило, все необходимое редактирование в MySQL выполняется с помощью root-пользователя, имеющего полный доступ ко всем базам данных. Тем не менее, в некоторых случаях нужны более строгие ограничения, и тогда нужно создать пользователя с ограниченными правами.
Для начала нужно создать нового пользователя в оболочке MySQL:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
На данном этапе пользователь не имеет никаких привилегий для работы с базами данных. По сути, даже если новый пользователь попытается войти в систему (с помощью пароля), он е сможет попасть в оболочку MySQL.
Потому первое, что нужно сделать – разрешить пользователю доступ к необходимой информации.
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
Символ звездочки в данной команде замещает имя базы данных и таблицы (соответственно), доступ к которым будет предоставлен пользователю; данная команда передает пользователю права на чтение, изменение и запуск, а также позволяет выполнять в этой базе данных и таблице все необходимые задачи.
Передав новому пользователю все необходимые привилегии, нужно перезагрузить все привилегии:
FLUSH PRIVILEGES;
После этого изменения будут активированы.
Предоставление пользовательских привилегий
Здесь приведен короткий список распространенных прав, которые можно передать пользователю.
- ALL PRIVILEGES: как было сказано раньше, такие привилегии разрешают пользователю MySQL полный доступ к указанным базам данных (если база данных не указана, такие привилегии распространяются на всю систему);
- CREATE: позволяет пользователю создавать новые БД или таблицы;
- DROP: позволяет удалять БД или таблицы;
- DELETE: позволяет удалять строки таблиц;
- INSERT: позволяет вносить строки в таблицы:
- SELECT: позволяет использовать команду «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