Чтобы дать пользователю доступ только к одной таблице в базе данных MySQL, вы должны выполнить несколько шагов:
1. Создайте нового пользователя в базе данных с помощью команды CREATE USER
:
CREATE USER 'имя_пользователя'@'хост' IDENTIFIED BY 'пароль';
Вместо 'имя_пользователя'
укажите имя пользователя, которому необходимо предоставить доступ, а вместо 'хост'
- хост или IP-адрес, с которого он может получить доступ к базе данных. 'пароль'
- пароль для пользователя.
2. Далее необходимо предоставить этому пользователю права на доступ к базе данных. Для этого используйте команду GRANT
:
GRANT SELECT, INSERT, UPDATE, DELETE ON имя_базы_данных.имя_таблицы TO 'имя_пользователя'@'хост';
Вместо 'имя_базы_данных'
и 'имя_таблицы'
укажите соответственно имя базы данных и таблицы, к которой вы хотите дать доступ пользователю. В списке привилегий (SELECT
, INSERT
, UPDATE
, DELETE
) укажите те, которые пользователь должен иметь.
3. При необходимости, вы также можете ограничить действия, которые пользователь может выполнять только на определенных столбцах таблицы. Для этого вы можете использовать команду GRANT
с указанием столбцов:
GRANT SELECT(col1, col2), INSERT(col1, col2), UPDATE(col1, col2) ON имя_базы_данных.имя_таблицы TO 'имя_пользователя'@'хост';
Вместо 'col1', 'col2'
укажите имена столбцов, на которые пользователь должен иметь доступ.
4. Наконец, примените изменения с помощью команды FLUSH PRIVILEGES;
:
FLUSH PRIVILEGES;
Это перезагрузит системные таблицы привилегий и применит внесенные изменения.
Теперь пользователь сможет получить доступ только к указанной таблице в базе данных MySQL с определенными правами и ограничениями.