mysql create table权限,向MySQL用户授予CREATE TABLE权限

我有一个在一些用户之间共享的数据库,我想管理他们对此的权限.

我想授予创建新表的权限,以及访问(选择,插入,更新,删除)到该表的权限,对于没有数据库完全权限的用户(只有他对某些表具有SELECT权限) ).

所以,我执行了这个查询:

GRANT CREATE ON eh1 TO user1

然后,当我使用该用户登录并尝试创建新表时,我收到此错误:

1142 – CREATE command denied to user ‘user1’@’localhost’ for table ‘folan’

这里有什么问题?我怎样才能做到这一点?

UPDATE

通过将命令更改为:

授予创建eh1.*至user1

现在还有另一个问题,即user1无法选择或插入新创建的表中.原因是可以理解的,但有没有办法解决这个问题?

谢谢

解决方法:

按以下方式使用 –

GRANT CREATE ON eh1.* TO user1@'%' IDENTIFIED BY 'user1_password';

注意:’%’将提供来自所有ips的访问权限,因此我们应该提供特定ip而不是所有ips的权限,因此使用任何ip更改’%’,例如’191.161.3.1′

如果用户需要选择/插入/更新/删除/创建权限,则语法将为 –

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON eh1.* TO user1@'%' IDENTIFIED BY 'user1_password';

根据用户要求更新:

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@'%';

标签:mysql,permissions,create-table,grant

来源: https://codeday.me/bug/20190519/1136787.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值