📊 Как создать учетные записи пользователей и предоставить привилегии MySQL |

📊 Как создать учетные записи пользователей и предоставить привилегии MySQL

Мануал

MySQL, возможно, является одной из знаменитых и широко используемых систем управления базами данных с открытым исходным кодом.

Это предпочтительная система управления реляционными базами данных в большинстве веб-хостинговых компаний и других облачных провайдеров.

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

Предпосылки

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

Мы уже показывали, как установить MySQL 8:

Как установить последний MySQL 8.0 на RHEL / CentOS и Fedora

Доступ к оболочке MySQL

После установки и защиты MySQL или MariaDB вы можете получить доступ к оболочке, выполнив команду

$ mysql -u root -p
После этого вам будет предложено ввести пароль root, и, если он введен, нажмите ENTER, чтобы получить доступ к оболочке.

Как создать пользователя в MySQL

Чтобы добавить пользователя в MYSQL, используйте команду mysql create user, как показано ниже:

CREATE USER 'itsecforu_user'@'localhost' IDENTIFIED BY 'P@ssword123';

Пользователь MySQL состоит из 2 разделов: имя пользователя и имя хоста.

Из приведенной выше команды имя пользователя – itsecforu_user, а имя хоста – localhost.

Раздел hostname указывает, что пользователь itsecforu_user может подключаться к MySQL только локально, то есть с сервера, на котором размещается MySQL.

Чтобы предоставить доступ из внешней хост-системы, замените localhost IP-адресом удаленного хоста.

Например, чтобы предоставить доступ из хост-системы с IP-адресом «172.16.10.10», выполните:

CREATE USER 'itsecforu_user'@'172.16.10.10' IDENTIFIED BY 'P@ssword123';
Чтобы предоставить доступ из любой хост-системы, используйте знак процента «%», который действует как подстановочный знак.
CREATE USER 'itsecforu_user'@'%' IDENTIFIED BY 'P@ssword123';

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

Когда пользователь создан, вы можете назначить определенные привилегии ядру базы данных.

Эти привилегии предоставляют пользователям доступ к базам данных и позволяют им вносить некоторые изменения.

В MySQL существует множество привилегий, которые могут быть назначены пользователю.

В этом руководстве, однако, мы пролили свет на наиболее часто используемые привилегии:

SELECT: позволяет пользователю читать всю базу данных

UPDATE позволяет пользователю обновлять строки в таблице

INSERT: позволяет пользователю вставлять строки в данную таблицу

DELETE: Предоставляет разрешение на использование для удаления строк в данной таблице

CREATE: позволяет пользователю создавать базы данных и таблицы

DROP: предоставляет пользователю разрешение на удаление всей базы данных и таблиц.

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

GRANT privilege1, privilege2 ON database_name.* TO 'database_user'@'localhost';

Например:

GRANT SELECT, INSERT, ON database_name.* TO database_user@'localhost';

Как предоставить частичные привилегии?

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

GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
Чтобы предоставить пользователю все привилегии для всех баз данных, выполните команду:

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost

Отображение привилегий учетной записи пользователя

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

SHOW GRANTS FOR 'database_user'@'localhost';

Отзыв привилегий у пользователя MySQL

Кроме того, можно отозвать одну или несколько привилегий у пользователя MySQL.

Синтаксис почти такой же, как при предоставлении пользовательских привилегий.

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

Как удалить существующего пользователя MySQL

Чтобы удалить пользователя MySQL, запустите команду DROP, как показано ниже:

DROP USER 'database_user'@'localhost';

Заключение

В этом руководстве рассматриваются основные концепции создания и управления пользователями MySQL путем назначения и отзыва привилегий.

Мы надеемся, что вы можете легко создавать учетные записи пользователей MySQL и управлять привилегиями и пользователями.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий