Подтвердить что ты не робот

Как я могу ограничить пользователя MySQL конкретными таблицами

Как я могу ограничить user_account в базе данных MySQL конкретными таблицами. Пример:

UserName: RestrictedUser
DatabaseName: db_Payroll 
TableName: 
  tb_Employees
  tb_Users
  tb_Payroll_YYMMDD
  tb_Payroll_Processed

Я хочу ограничить "RestrictedUser" только tb_Users и tb_Employees, а остальные таблицы db_Payroll, которые будут созданы для будущего использования, будут иметь доступ.

4b9b3361

Ответ 1

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

GRANT SELECT, INSERT, DELETE ON db_Payroll.tb_Users TO [email protected]'%'
GRANT SELECT, INSERT, DELETE ON db_Payroll.tb_Employees TO [email protected]'%'

В зависимости от того, какие привилегии вы хотите предоставить пользователю, вы можете изменить SELECT, INSERT, DELETE на что-то еще, например. ALL PRIVILEGES.

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

FLUSH PRIVILEGES;

Ответ 2

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

GRANT ALL ON db_Payroll.tb_Users to [email protected];

И аналогично для других таблиц. Используйте список операций вместо ALL, если это необходимо.

Вы не можете предоставить доступ к отдельным таблицам, которые еще не существуют, не предоставляя доступ ко всем таблицам.