仓酷云

标题: MYSQL网页编程之Mysql Client链接Mysql Server的认证方... [打印本页]

作者: 透明    时间: 2015-1-16 22:15
标题: MYSQL网页编程之Mysql Client链接Mysql Server的认证方...
DBaaS解决方案可以降低首次投入成本,对于那些小企业来说,他们往往认为内部部署的数据库成本太高,DBaaS的成本和灵活性优势对小企业吸引力更大,他们是云数据库解决方案的重点客户群体。  拜见:http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol#Password_functions
  我意译一下,大抵就是以下内容:
  4.0版本之前
  1、服务器发送随机字符串(scramble_buff)给客户端.
  2、客户端把用户明文暗码加密一下,然后将hash加上服务器的随机字符串加密一下酿成新的scramble_buff。(拜见sql/password.c:scramble()).
  3、客户端将加密后的scramble_buff值发给服务端.
  4、服务器将mysql.user.Password的值加上原始随机字符串举行加密.
  5、服务器比对加密后的hash值和服务端送过去的加密后的scramble_buff.
  6、假如一样,则考证乐成.
  基础就是一个应战机制。可是注重一点:本色上真正意义上的暗码是明文暗码的加密hash值;假如有人晓得了这个用户的mysql.user.Password(而不必晓得原始明文暗码)他就可以间接登录服务端.
  4.1今后版本
  4.1今后数据库保留的暗码是用SHA1加密的:SHA1(SHA1(password))
  1、服务器发送随机字符串(scramble)给客户端.
  2、客户端作以下盘算:
  stage1_hash=SHA1(明文暗码).
  token=SHA1(scramble+SHA1(stage1_hash))XORstage1_hash
  3、客户端将token发送给服务端
  4、服务端作以下盘算:
  stage1_hash=tokenXORSHA1(scramble+mysql.user.Password)
  5、服务端比对SHA1(stage1_hash)和mysql.user.Password,假如婚配,则认证准确。
  注重:SHA1(A+B)意义是SHA1(A字符串联接B字符串).
  此次没上一个版本的缺点了.有了mysql.user.Password和scramble也不克不及取得token。由于他没法取得stage1_hash。
  可是假如此人有这用户的mysql.user.Password及收集上截取的一次完全考证数据,他也能依据此次截获的token和scramble反解出stage1_hash的值。而因为stage1_hash是稳定的,因而下次毗连,他猎取了新的scramble后,本人加密一下token,送给服务端也能经由过程考证而毗连到服务器.
  最初放一个5.1的认证的抓包了局,注重标红的中央:
  server>127.0.0.1.49130:Handshake
  127.0.0.1.49130>server:Handshake(newauth)
  
  1. server>127.0.0.1.49130:Handshake<proto10ver5.1.41-3ubuntu12.6thd55scramble1EGu9Aq8_UnI_@L<*Y>127.0.0.1.49130>server:Handshake(newauth)<userrootdb(null)token6d2c7025c412b997788525b19a5167c89dafcbemaxpkt16777216>server>127.0.0.1.49130:OK<fields0affectedrows0insertid0warnings0>
复制代码
<Pstyle="TEXT-INDENT:2em">
不可否认,MySQL也是一个很好的关系型数据库,或许在技术上它与其他领先的关系数据库相差并不大,或不具有劣势。但是,对于一些企业环境来说,MySQL显然不具有优势。
作者: 山那边是海    时间: 2015-1-19 06:02
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
作者: 不帅    时间: 2015-1-26 20:23
如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。
作者: 蒙在股里    时间: 2015-2-4 21:12
代替了原来VB式的错误判断。比Oracle高级不少。
作者: 若相依    时间: 2015-2-10 11:15
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
作者: 变相怪杰    时间: 2015-3-1 10:32
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
作者: 冷月葬花魂    时间: 2015-3-10 16:45
需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。
作者: 飘飘悠悠    时间: 2015-3-17 09:09
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
作者: 活着的死人    时间: 2015-3-24 05:06
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2