Ahm*_*mad 5 mysql permissions grant create-table
我有一个在一些用户之间共享的数据库,我想管理他们对此的权限.
我想授予创建新表的权限,以及访问(选择,插入,更新,删除)到该表的权限,对于没有数据库完全权限的用户(只有他对某些表具有SELECT权限) ).
所以,我执行了这个查询:
GRANT CREATE ON eh1 TO user1
Run Code Online (Sandbox Code Playgroud)
然后,当我使用该用户登录并尝试创建新表时,我收到此错误:
1142 - 对表'folan'的用户'user1'@'localhost'拒绝CREATE命令
这里有什么问题?我怎样才能做到这一点?
UPDATE
通过将命令更改为:
GRANT CREATE ON eh1.* TO user1
现在还有另一个问题,即user1无法选择或插入新创建的表中.原因是可以理解的,但有没有办法解决这个问题?
谢谢
按照以下使用
GRANT CREATE ON eh1.* TO user1@'%' IDENTIFIED BY 'user1_password';
Run Code Online (Sandbox Code Playgroud)
注意:'%'将提供来自所有ip的访问权限,因此我们应提供对特定ip而不是所有ip的访问权限,因此请使用任何ip(例如'191.161.3.1')更改'%'
如果用户需要选择/插入/更新/删除/创建权限,则语法为-
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON eh1.* TO user1@'%' IDENTIFIED BY 'user1_password';
Run Code Online (Sandbox Code Playgroud)
根据用户要求更新:
GRANT CREATE ON eh1.* TO user1@'%' IDENTIFIED BY 'user1_password';
GRANT SELECT, INSERT, UPDATE ON eh1.table1 TO user1@'%';
GRANT SELECT, INSERT, UPDATE ON eh1.table2 TO user1@'%';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14204 次 |
| 最近记录: |