小妖女 发表于 2015-1-16 22:13:32

MYSQL编程:MySQL平安成绩的一点心得

人力成本上的节省,MySQL的用户Spacemonkey实验室的首席执行官MitchPirtle如此表示:“维护MySQL使得你不需要一个年薪15万美元的DBA。  前两天在帮伴侣收拾他的主页空间时分,发明的一点关于MySQL大概人人城市疏忽的成绩:我们晓得,在安装完MySQL后,它会主动创立一个root用户和一个匿名用户,其初始暗码都是空,关于前者,良多参考材料上城市提示人人要注重实时设定一个暗码,而疏忽了后者,也许是由于后者默许设定为只能在本机利用的原因吧。
  但假如你的MySQL是要供应给Web服务器作数据库服务的,疏忽这个匿名用户的价值大概相称惨痛,由于在默许设置下,这个匿名用户在localhost上几近具有和root一样的权限,这时候候,假如你的客户具有上传剧本文件、剧本文件能够举行MySQL数据库操纵(好比同意操纵MySQL的php)的权限已大概将你的MySQL修改得改头换面了:
  我明天帮伴侣收拾他的主页空间的时分,试着写了一个很复杂的实行sql语句的php文件上传上往,个中毗连字中的user,password我都试着置空,host=localhost,了局发明我的sql语句能够实行,因而实行select*fromMySQL.user观察用户权限,发明这个用户在localhost权限十分高,连grant_priv都有,(观察的时分,会发明在root用户下有两行用户名、暗码为空的,但各项权限有y
的,就是这个匿名用户当地、远程权限设置了)
  以是我试着用这个php页面创立一个新用户,并grant给他较高的权限,了局一举乐成,如许我就能够用这个新用户经由过程我本机的MySQLclient毗连到这个网站的MySQLserver,并用这个新创建的用户的办理权限对这个网站的MySQLserver举行办理,看到本人能够举行如许容易取得深切的数据库操纵,我怎样还敢把伴侣的主页空间的敏感材料放进这个MySQLserver呢?
  改善倡议:
  1、在安装完成MySQL后,不但改动root用户的的暗码,也同时改动匿名用户的暗码,办法相似改动root的暗码的体例:
  MySQL>UPDATEusersetpassword=PASSWORD(yournewpassword)whereuser=;
  MySQL>FLUSHPRIVILEGES;
  2、如非需要,删除这个匿名用户,如许一切人要利用MySQL都必需供应用户名,即使往后出了成绩,也简单查找成绩的泉源。
  3、除root用户外,其他用户包含匿名用户(假如没有删除这个用户)不该该具有grant权限,避免办理权限不受把持的分散进来。
  4、付与用户updatedeletealertcreatedrop权限的时分,应当限制到特定的数据库,特别要制止一般客户具有对MySQL数据库做操纵的权限,不然你的体系设置极可能被交换失落。
  5、反省MySQL.user表,作废不用要用户的shutdown_priv,reload_priv,process_priv和File_priv权限,这些权限大概泄露更多的服务器信息包含非MySQL的别的信息进来。
  6、假如不盘算让你的用户利用MySQL数据库,在供应诸如php如许的剧本言语的时分,从头设置或编译你的php,作废它们对MySQL的默许撑持。
每个人都在使用它。MySQL是开源LAMP组合的一个标准组件:Linux、Apache、MySQL和Perl/PHP。根据Evans的调查,LAMP组合的迅速推广很大程度上代表着MySQL的被广泛接受。

活着的死人 发表于 2015-1-17 22:53:49

而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。

金色的骷髅 发表于 2015-1-21 10:32:51

微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。

不帅 发表于 2015-1-30 15:11:55

但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)

小女巫 发表于 2015-2-6 13:44:29

这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?

飘灵儿 发表于 2015-2-16 08:47:41

不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?

愤怒的大鸟 发表于 2015-3-5 02:28:47

财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..

爱飞 发表于 2015-3-11 22:49:08

我个人认为就是孜孜不懈的学习

柔情似水 发表于 2015-3-19 15:53:02

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

透明 发表于 2015-3-28 22:15:15

SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
页: [1]
查看完整版本: MYSQL编程:MySQL平安成绩的一点心得