MySQL研发中心成立发布会会后访问整理 (1)

问:

我想问一下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的第三方的开发工具,第三方开发工具可能是有汉化的。

阅读全文

MySQL研发中心成立发布会会后访问整理 (1)(2)


问:

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

David Axmark:

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

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

问:

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

David Axmark:

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

问:

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

David Axmark:

让我们看吧。

问:

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

周群:

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

阅读全文

SAP MaxDB MySQL修补数据库严重漏洞

近日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数据库账户授权的相关管理解析 (1)

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语句的权限指定符:

权限指定符

阅读全文

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


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)

阅读全文

深入浅出举例应用 SQL数据库使用系列

SQL是结构化查询语言(Structured Query Language)的缩写。这种语言允许我们对数据库进行复杂的操作。SQL语言的使用范围非常广泛。许多数据库产品都支持SQL语言,这意味着如果我们学会了SQL语言,我们可以把这种知识运用到MS Access 或 SQL Server, Oracle, DB2以及非常多的其它数据库中。
 
  SQL语言运用在关系型数据库中。一个关系型数据库把数据存储在表(也称关系)中。每个数据库的主要组成就是一组表。每个表又由一组记录组成--每条记录在表中有相同的结构,包含固定数量的具有一定类型的字段。
 
  
  下面我们来看一个实际的数据库中的表。该表的表名为cia,包含250多条记录,每个记录代表一个国家。表由5个字段组成,字段的值有的是字符串类型,有的是数字类型。
name region area population gdp
---- ------ ------ ---------- -----------
Yemen Middle East 527970 14728474 23400000000
Zaire Africa 2345410 44060636 18800000000
Zambia Africa 752610 9445723 7900000000
Zimbabwe Africa 390580 11139961 17400000000
  下面我们可以用一些SQL语句来查询这个表中我们该兴趣的数据。
  1. 中国的GDP是多少?
  查询用的SQL语句为:
select gdp from cia where name='china'
  查询结果为:
4800000000000
  2. 给出每个地区的国家数和人口总数。并且按地区的人口数从多到少排序。
  查询用的SQL语句为:
SELECT region, COUNT(name), SUM(population)
FROM cia
GROUP BY region
ORDER BY 3 DESC
  查询结果为:
region COUNT(name) SUM(population)
------ ----------- ---------------
Asia 14 2963031109
Africa 59 793382933
Europe 43 580590872
....
  怎么样,对SQL语言有了基本的了解了吧,同时对数据库,表,记录,字段等一系列在SQL语言中常用的感念也有大概的认识吧。如果不是很清楚也没关系,在接下来的内容中我们从SQL语言中最简单的内容逐步给大家作介绍,并提供丰富的练习让大家实际操作。相信学完本系列教程,你可以成为一个SQL语言的高手。
在介绍GROUP BY 和 HAVING 子句前,我们必需先讲讲sql语言中一种特殊的函数:聚合函数,例如SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。

阅读全文

在数据库中 如何进行分类分组并总计SQL信息

您需要了解如何使用某些SQL子句和运算符来安排SQL数据,从而对它进行高效分析。下面这些建议告诉您如何建立语句,获得您希望的结果。
以有意义的方式安排数据可能是一种挑战。有时您只需进行简单分类。通常您必须进行更多处理——进行分组以利于分析与总计。可喜的是,SQL提供了大量用于分类、分组和总计的子句及运算符。下面的建议将有助于您了解何时进行分类、何时分组、何时及如何进行总计。欲了解每个子句和运算符的详细信息,请查看在线书籍。

阅读全文

从4.0到5.1 为什么MySQL却被冠名玩具数据库

  MySQL从开发人员手中的“玩具”变为如今的“世界上最流行的开源数据库”,其中的过程伴随着产品版本升级,以及一些新功能(特别是企业数据库功能)的增加。现在,随着MySQL 5.0被完美地开发出来,已经很少有人将MySQL称为“玩具数据库”了。MySQL的丰富功能满足了许多用户的需求,Oracle最近的动作表明了他们对待MySQL非常重视——Oracle曾几次三番的表示有意收购MySQL。
 
  MySQL的产品路线图
  让我们先从MySQL的较有影响的版本产品开始,看一下MySQL的更新换代。
 
  

阅读全文

对SQL数据库定期进行收缩 减小日志存储压力

     一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大。
      1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存
      2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定。
      3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据 。

      原文地址:http://www.phprm.com/?13542/action_viewspace_itemid_2928.html

阅读全文

用Apache Geronimo创建并部署blog和wiki 模块


从 20 世纪 90 年代末起(那时 Web 的繁荣正达到某个饱和点),一些用户开始编辑他们最喜欢的网站清单,这些网站符合一定的兴趣或主题。许多包含在用户清单上的条目都被加了评论,并标注了日期。这样的清单很快被称为 weblog 或 blog(博客),维护这样的 blog 的人被称为 blogger。后来,blog 开始变成文章的集合,通常以时间倒序的形式呈现,并与一个特定的主题相关。Wikipedia 对 blog 的定义如下:
早期的 weblog 仅仅是普通网站的手动更新组件。然而用于简化网络文章(以所谓时序性风格发表)生成及维护的工具的发展使得发表的过程在规模上更为庞大、技术含量更低并更加流行。最终导致了这种在线发布的类型,由此产生了今天的 blog。例如,使用一些基于浏览器的软件是当今 “blog” 的一种典型表现。可以通过专门的 blog 主机服务来托管 blog,blog 也能通过使用 blog 软件在一般的网络主机服务上运行。像其他媒体一样,blog 通常关注某一特定的主题,诸如食品、政治或本地新闻。一些 blog 以在线日记的形式存在。
在 blog 开始出现的同一段时间里,Ward Cunningham 发明了一项技术,这项技术允许任何人通过简单的编辑为 Web 页面做贡献。他将这项技术命名为 Wiki Wiki Web(来源于夏威夷语单词 wiki ,意为迅速 或快),后来这个名字被缩略到只有 wiki 。使用 wiki 的一项显著优势是用户可以当场向 Web 页面贡献内容。另外,因为编辑起来很简单,因而贡献内容时不需要任何特殊的软件。可以在 Wikipedia Web 的百科全书上找到更多关于 wiki 技术的信息,该网站本身就是使用 wiki 技术实现的。(参见 参考资料 上的链接)。

阅读全文

SQL Server日志文件总结及充满处理方式

      交易日志(Transaction logs)是数据库结构中非常重要但又经常被忽略的部分。由于它并不像数据库中的schema那样活跃,因此很少有人关注交易日志。
 
      交易日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。对于任何每一个交易过程,交易日志都有非常全面的记录,根据这些记录可以将数据文件恢复成交易前的状态。从交易动作开始,交易日志就处于记录状态,交易过程中对数据库的任何操作都在记录范围,直到用户点击提交或后退后才结束记录。每个数据库都拥有至少一个交易日志以及一个数据文件。
 
      出于性能上的考虑,SQL Server将用户的改动存入缓存中,这些改变会立即写入交易日志,但不会立即写入数据文件。交易日志会通过一个标记点来确定某个交易是否已将缓存中的数据写入数据文件。当SQL Server重启后,它会查看日志中最新的标记点,并将这个标记点后面的交易记录抹去,因为这些交易记录并没有真正的将缓存中的数据写入数据文件。这可以防止那些中断的交易修改数据文件。
 

阅读全文