mysql特权_我们如何授予MySQL用户特权?

我们需要向创建的新用户授予特权,因为新用户将没有特权。我们可以使用GRANT语句向用户帐户授予特权。它的语法如下-

语法GRANT privilege,[privilege],.. ON privilege_level

TO user [IDENTIFIED BY password]

[REQUIRE tsl_option]

[WITH [GRANT_OPTION | resource_option]];

上面语法的解释如下-

首先,在GRANT关键字之后指定一个或多个特权。如果我们授予用户多个特权,则每个特权都用逗号分隔。

接下来,指定privilege_level,该特权确定用于应用特权的级别。MySQL支持全局(*。*),数据库(database。*),表(database.table)和列级别。如果使用列特权级别,则必须在每个特权之后指定一个或逗号分隔的列列表。

然后,放置我们要授予特权的用户。如果用户已经存在,则GRANTstatement修改其特权。否则,GRANT语句将创建一个新用户。可选的子句IDENTIFIED BY允许我们为用户设置新密码。

之后,我们指定用户是否必须通过安全连接(例如SSL,X059等)连接到数据库服务器。

最后,可选的WITH GRANT OPTION子句允许我们授予其他用户或从其他用户中删除我们拥有的特权。另外,我们可以使用WITH子句来分配MySQL数据库服务器的资源,例如,设置用户每小时可以使用多少个连接或语句。这在共享环境(例如MySQL共享托管)中非常有帮助。

示例

在下面的示例中,我们正在创建用户并向其授予特权-mysql> use mysql

Database changed

mysql> create user abcd@localhost identified by 'password123';

下面的查询将为我们提供新用户帐户abcd @ localhost的特权。mysql> SHOW GRANTS FOR abcd@localhost;

+------------------------------------------+

| Grants for abcd@localhost                |

+------------------------------------------+

| GRANT USAGE ON *.* TO 'abcd'@'localhost' |

+------------------------------------------+

1 row in set (0.01 sec)

现在,要将所有特权授予abcd @ localhost用户帐户,我们可以使用以下语句-mysql> GRANT ALL ON *.* TO 'abcd'@'localhost' WITH GRANT OPTION;

在此,ON *。*子句表示所有数据库和数据库中的所有对象。WITH GRANT OPTION允许abcd @ localhost向其他用户授予特权。

现在,如果我们再次使用SHOW GRANTS语句,我们将看到abcd @ localhost的特权已更新。mysql> SHOW GRANTS FOR abcd@localhost;

+---------------------------------------------------------------------+

| Grants for abcd@localhost                                           |

+---------------------------------------------------------------------+

| GRANT ALL PRIVILEGES ON *.* TO 'abcd'@'localhost' WITH GRANT OPTION |

+---------------------------------------------------------------------+

1 row in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值