如何将MySQL数据库中的user_account限制为特定表.例如:
UserName: RestrictedUser
DatabaseName: db_Payroll
TableName:
tb_Employees
tb_Users
tb_Payroll_YYMMDD
tb_Payroll_Processed
Run Code Online (Sandbox Code Playgroud)
我想限制"RestrictedUser"来tb_Users
和tb_Employees
只及表的其余部分db_Payroll
,在今后的使用将创造被授予访问.
kba*_*kba 33
假设用户没有当前权限,您可以执行以下操作
GRANT SELECT, INSERT, DELETE ON db_Payroll.tb_Users TO RestrictedUser@'%'
GRANT SELECT, INSERT, DELETE ON db_Payroll.tb_Employees TO RestrictedUser@'%'
Run Code Online (Sandbox Code Playgroud)
根据您希望授予用户的确切权限,您可以更改SELECT, INSERT, DELETE
为其他权限,例如ALL PRIVILEGES
.
之后,请记住刷新权限以使其生效.
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
您可以通过运行来授予对各个表的访问权限:
GRANT ALL ON db_Payroll.tb_Users to RestrictedUser@RestrictedHostName;
Run Code Online (Sandbox Code Playgroud)
其他表也是如此.使用操作列表而不是ALL
适当的操作.
如果不授予对所有表的访问权限,则无法授予对尚不存在的单个表的访问权限.