360教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

MySQL设置访问权限案例详细说明

时间:2022-8-14作者:未知来源:360教程人气:

SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
设置访问权限

在创建用户账号后,必须接着分配访问权限。新创建的用户账号没有访问权限。它们能登录MySQL,但不能看到数据,不能执行任何数据库操作。

为看到赋予用户账号的权限,使用 SHOW GRANTS FOR ,如下所示:

输入:

SHOW GRANTS FOR bforta;

输入:

2.png

分析:输出结果显示用户 bforta 有一个权限 USAGE ON *.* 。 USAGE 表示根本没有权限(我知道,这不很直观),所以,此结果表示在任意数据库和任意表上对任何东西没有权限。

用户定义为 user@host MySQL的权限用用户名和主机名结合定义。如果不指定主机名,则使用默认的主机名 % (授予用户访问权限而不管主机名)。

为设置权限,使用 GRANT 语句。 GRANT 要求你至少给出以下信息:

1.要授予的权限;

2.被授予访问权限的数据库或表;

3.用户名。

以下例子给出 GRANT 的用法:

输入:

GRANT SELECT ON crashcourse.*TO bforta;

分析:此 GRANT 允许用户在 crashcourse.* ( crashcourse 数据库的所有表)上使用 SELECT 。通过只授予 SELECT 访问权限,用户 bforta对 crashcourse 数据库中的所有数据具有只读访问权限。

SHOW GRANTS 反映这个更改:

输入:

SHOW GRANTS FOR bforta;

输出:

3.png

分析:每个 GRANT 添加(或更新)用户的一个权限。MySQL读取所有授权,并根据它们确定权限。

GRANT 的反操作为 REVOKE ,用它来撤销特定的权限。下面举一个例子:

输入:

REVOKE SELECT ON crashcourse.* FROM bforta;

分析:这条 REVOKE 语句取消刚赋予用户 bforta 的 SELECT 访问权限。被撤销的访问权限必须存在,否则会出错。

GRANT 和 REVOKE 可在几个层次上控制访问权限:

1.整个服务器,使用 GRANT ALL 和 REVOKE ALL;

2.整个数据库,使用 ON database.*;

3.特定的表,使用 ON database.table;

4.特定的列;

5.特定的存储过程。

下表列出可以授予或撤销的每个权限。

4.png

5.png

使用 GRANT 和 REVOKE ,再结合表中列出的权限,你能对用户可以就你的宝贵数据做什么事情和不能做什么事情具有完全的控制。

未来的授权 在使用 GRANT 和 REVOKE 时,用户账号必须存在,但对所涉及的对象没有这个要求。这允许管理员在创建数据库和表之前设计和实现安全措施。

这样做的副作用是,当某个数据库或表被删除时(用 DROP 语句),相关的访问权限仍然存在。而且,如果将来重新创建该数据库或表,这些权限仍然起作用。

简化多次授权 可通过列出各权限并用逗号分隔,将多条GRANT 语句串在一起,如下所示:

GRANT SELECT,INSERT ON crashcourse.* TO bforta;

【相关推荐】

Mysql免费视频教程

2. MySQL创建用户账号和删除用户账号

3. mysql管理用户、更改口令的命令行实例操作

4. mysql访问控制的几个注意要点

5. MySQL使用字符集和校对顺序使用教程

以上就是MySQL设置访问权限实例详解的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。



关键词:MySQL设置访问权限案例详细说明




Copyright © 2012-2018 360教程(http://www.360sd.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版