首页 > 编程技术 > php

MySQL数据库账户授权的相关管理解析 (1)

发布时间:2016-11-25 16:41

MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么。MySQL 3.22.11开始引入两条语句使得这项工作更容易做:GRANT语句创建MySQL用户并指定其权限,而REVOKE语句删除权限。两条语句扮演了mysql数据库的前端角色,并提供与直接操作这些表的内容不同的另一种方法。CREATE和REVOKE语句影响4个表:授权表

内容

user 能连接服务器的用户以及他们拥有的任何全局权限

db 数据库级权限

tables_priv 表级权限

columns_priv 列级权限

还有第5个授权表(host),但它不受GRANT和REVOKE的影响。

当你对一个用户发出一条GRANT语句时,在user表中为该用户创建一条记录。如果语句指定任何全局权限(管理权限或适用于所有数据库的权限),这些也记录在user表中。如果你指定数据库、表和列级权限,他们被分别记录在db、tables_priv和columns_priv表中。

用GRANT和REVOKE比直接修改授权表更容易些,然而,建议你阅读一下《MySQL安全性指南》。这些表异常重要,而且作为一名管理员,你应该理解它们如何超越GRANT和REVOKE语句的功能水平。

在下面的章节中,我们将介绍如何设置MySQL用户账号并授权。我们也涉及如何撤权和从授权表中删除用户。

你可能也想考虑使用mysqlAccess和mysql_setpermission脚本,它是MySQL分发的一部分,它们是Perl脚本,提供GRANT语句的另一种选择设置用户账号。mysql_setpermission需要安装DBI支持。

1、 创建用户并授权

GRANT语句的语法看上去像这样:

GRANT privileges (columns) ON what TO user IDENTIFIED BY "password" WITH GRANT OPTION

要使用该语句,你需要填写下列部分:

privileges

授予用户的权限,下表列出可用于GRANT语句的权限指定符:

权限指定符


1.1 谁能连接,从那儿连接?

你可以允许一个用户从特定的或一系列主机连接。有一个极端,如果你知道降职从一个主机连接,你可以将权限局限于单个主机:

GRANT ALL ON samp_db.* TO boris@localhost IDENTIFIED BY "ruby"GRANT ALL ON samp_db.* TO fred@res.mars.com IDENTIFIED BY "quartz"

(samp_db.*意思是“samp_db数据库的所有表)另一个极端是,你可能有一个经常旅行并需要能从世界各地的主机连接的用户max。在这种情况下,你可以允许他无论从哪里连接:

GRANT ALL ON samp_db.* TO max@% IDENTIFIED BY "diamond"

“%”字符起通配符作用,与LIKE模式匹配的含义相同。在上述语句中,它意味着“任何主机”。所以max和max@%等价。这是建立用户最简单的方法,但也是最不安全的。

取其中,你可以允许一个用户从一个受限的主机集合访问。例如,要允许mary从snake.net域的任何主机连接,用一个%.snake.net主机指定符:

GRANT ALL ON samp_db.* TO mary@.snake.net IDENTIFIED BY "quartz";

如果你喜欢,用户标识符的主机部分可以用IP地址而不是一个主机名来给定。你可以指定一个IP地址或一个包含模式字符的地址,而且,从MySQL 3.23,你还可以指定具有指出用于网络号的位数的网络掩码的IP号:


(T115)

近日SAP的开发者修正了一个存在SAP MaxDB数据库中的严重漏洞,该漏洞可以被黑客利用来执行恶意代码。


来自赛门铁克的研究人员Olive Karow发现了这个数据库漏洞。该漏洞在最新版本MaxDB 7.6.00.31中被修补。


根据赛门铁克发布的报告,“通过发送一个变形的HTTP请求,攻击者可以获得wahttp进程的权限,从而执行恶意代码。不需要认证就可以成功的利用该漏洞。”

根据赛门铁克的报告,有一个临时性的解决办法,MaxDB客户可以禁用SAP-DB的WWW服务或控制其访问权限。SAP客户可以从www.service.sap.com下载最新版的数据库。


在2004年,SAP与开源数据库MySQL达成了一个协议,可以对SAP DB专利共享,随后该数据库更名为MaxDB。MaxDB被进行了最优化,以与mySAP商务套件和MySQL数据库管理系统配合运行。


原文链接:http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci1213576,00.html


(t114)


问:

MySQL已经通过免费和开源的特性已经慢慢的占领市场,MySQL崛起的过程中Oracle,DB2等都采取了部分代码开源的崛起,我想知道MySQL面对市场竞争对手的方案,MySQL会采取怎样的措施?

David Axmark:

开源和免费是两个完全不同的概念,免费并不是真正的开源,这是最大的区别。我们虽然是免费的但是没有开源,所谓开源是所有的代码都公开了,我们只是编好的你可以用。

我所知道其他专有数据库的开源项目,往往是公司内部已经“死”掉的项目,而且客户也没有需求,所以就开源了。比如(IN??)就是用户越来越少,然后就开源了。

问:

这样说的话是不是因为这些公司用开源满足客户的需求,单方面最终目标是赚钱,MySQL为什么要开源?MySQL的最终目标是不是为了赚钱?

David Axmark:

我们一直就是盈利,只不过增长投资以后要拓展,拓展以后有点亏钱,但是我们随时可以变得盈利。任何一家公司存在本身就都是要赚钱的,不光是开源的还是怎么样。但是我们赚的钱要比一般的软件公司赚的少很多,尽管是这样我们发展的还是很快的。

问:

是不是可以理解为这是“薄利多销”的特点,就是挣的钱很少,但是是迅速的占领市场份额。您刚才演讲的时候说到现在排名前面的还有两个,一个是 SQL Server,一个是Oracle,面对这两个强大的竞争对手,MySQL自己最大的核心竞争力是什么?

David Axmark:

让我们看吧。

问:

我想请问一下周先生,刚才演讲的时候也有人讲到中国人对开源不很理解,周先生是致力于开源事业的,您对这个问题怎么看?

周群:

我觉得中国市场和国外市场有所区别。我经常开一些开源论坛的会,包括SUN的,会上大家讨论的时候外国专家和中国专家,中国专家愿意谈跟Windows兼容性的问题,外国专家认为不应该花精力在微软这个事上的,因为要兼容的话不断的跟微软走。微软随时说随便找一个东西都可以不兼容,所以他们集体的对中国的开源界有一些争论。有些开源专家认为中国这么多的用户,我们还是要把兼容性解决。我们中国有很好的开源精神领袖,他在会上发言说,因为他参与了世界开源的讨论,所以他也说中国怎么跟国外配合发展开源系统,而不是中国自己关起门来。当中国的专家提跟Windows兼容的时候遇到这样那样的难题,就是应该没有人支持你,拿到国际上也没有上给你钱。

问:

我想问一下David Axmark先生,目前在全球购买MySQL数据库的用户大概占到什么样的比例?第二个问题分别请两位讲进目前GPL第三版本出来以后业界对数字版权方面是什么态度,SQL是否会支持?

David Axmark:

确实不知道有多少比例,我估计是1000:1。我不知道的原因是我不看重有多少商业用户。GPL3更简洁,而且更国际化了,GPL3在数据库方面取得了很多法律方面的保护,但是在数字版权方面具体的细节大家还是有争议的。数字版权确实有这样那样的争议,主要争议是有多少允许免费用?这个争议我认为很快还是可以解决的。

问:

我想问一下许可协议的问题,商业版的最新的正在研发中的MySQL5.0的版本,MySQL新的版本采取什么样的协议,在收费上有什么样的计划?

David Axmark:

2001年到现在MySQL的各种版本已经面市,5.0已经宣布,现在是5.1颁布。

问:

红帽公司提出一种服务方式,就是服务即软件的说法,我想知道MySQL在服务模式上有什么样的看法?是否同意这样的说法还是有自己另外的服务模式?我们今天研发中心成立对于中国MySQL用户来说无疑是天大的好消息,我们进入中国的过程中有没有针对中国的用户,社区以及中国的MySQL企业级用户有怎样的服务计划?

David Axmark:

完全同意红帽的概念,在中国我们和全球的MySQL用户都一样,可以享受订阅和服务。MySQL是开源的,它区别是的个人用户要从社区上下载自己维护,企业级用户要购买商业版才能得到一定的服务。

问:

MySQL数据库以目前主流数据库在兼容度上怎么样?我所关心的问题是我们企业大部分的应用都开发在其他的主流数据上,能部分平滑的过渡过来?第二个问题,请问MySQL的开发工具目前是采用自己的开发工具还是第三方的开发工具,有没有汉化版?

David Axmark:

迁移主要看用户的应用,在很多事例中有的迁移非常容易,有的迁移就非常难,关键看您的应用。现在大型数据库功能非常全,但是要看性能可靠性和易用性。我们自己有开发工具,也支持结合MySQL的第三方的开发工具,第三方开发工具可能是有汉化的。

标签:[!--infotagslink--]

您可能感兴趣的文章: