仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 865|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL编程:MySQL 中修正暗码及会见限定设置详解

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:38:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
DBaaS和其他云服务之间的区别是:DBaaS专注于提供类似关系数据库管理系统RDBMS(比如SQLServer、MySQL和Oracle)的数据库功能。事实上,RDBMS已被证明是一种适合于在各种情况下管理结构化数据的有效工具。mysql|会见|详解<pstyle="TEXT-INDENT:2em">MySQL中修正暗码及会见限定设置详解<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">MySQL是一个真实的多用户、多线程SQL数据库服务器。MySQL是以一个客户机/服务器布局的完成,它由一个服务器保卫程序mysqld和良多分歧的客户程序和库构成。因为其源码的开放性及不乱性,且与网站盛行编?挥镅?PHP的完善分离,如今良多站点都使用其看成后端数据库,使其取得了普遍使用。处于平安方面的思索,必要为每用户赋于对分歧数据库的会见限定,以满意分歧用户的请求。上面就分离会商,供人人参考。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">1、MySQL修正暗码办法总结<pstyle="TEXT-INDENT:2em">起首要申明一点的是:一样平常情形下,修正MySQL暗码是必要有mysql里的root权限的,如许一样平常用户是没法变动暗码的,除非哀求办理员匡助修正。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">办法一<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">利用phpMyAdmin(图形化办理MySql数据库的工具),这是最复杂的,间接用SQL语句修正mysql数据库库的user表,不外别忘了利用PASSWORD函数,拔出用户用Insert命令,修正用户用Update命令,删除用Delete命令。在本节前面无数据表user字段的具体先容。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">办法二<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">利用mysqladmin。输出<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysqladmin-uroot-poldpasswordnewpasswd<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">实行这个命令后,必要输出root的原暗码,如许root的暗码将改成newpasswd。一样,把命令里的root改成你的用户名,你就能够改你本人的暗码了。固然假如你的mysqladmin毗连不上mysqlserver,大概你没有举措实行mysqladmin,那末这类办法就是有效的,并且mysqladmin没法把暗码清空。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">上面的办法都在mysql提醒符下利用,且必需有mysql的root权限:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">办法三<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>INSERTINTOmysql.user(Host,User,Password)VALUES(’%’,’system’,PASSWORD(’manager’));<pstyle="TEXT-INDENT:2em">mysql>FLUSHPRIVILEGES<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">切实地说这是在增添一个用户,用户名为system,暗码为manager。注重要利用PASSWORD函数,然后还要利用FLUSHPRIVILEGES来实行确认。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">办法四<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">和办法三一样,只是利用了REPLACE语句<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>REPLACEINTOmysql.user(Host,User,Password)<pstyle="TEXT-INDENT:2em">VALUES(’%’,’system’,PASSWORD(’manager’));<pstyle="TEXT-INDENT:2em">mysql>FLUSHPRIVILEGES<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">办法五<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">利用SETPASSWORD语句<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>SETPASSWORDFORsystem@"%"=PASSWORD(’manager’);<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">你也必需利用PASSWORD()函数,可是不必要利用FLUSHPRIVILEGES来实行确认。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">办法六<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">利用GRANT...IDENTIFIEDBY语句,来举行受权。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>GRANTUSAGEON*.*TOsystem@"%"IDENTIFIEDBY’manager’;<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">这里PASSWORD()函数是不用要的,也不必要利用FLUSHPRIVILEGES来实行确认。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">注:PASSWORD()函数感化是为口令字加密,在程序中MySql主动注释。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">2、MySql中会见限定的设置办法<pstyle="TEXT-INDENT:2em">我们接纳两种办法来设置用户。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">进进到Mysql实行目次下(一般是c:mysqlin)。输出mysqld-shareware.exe,输出mysql--user=rootmysql,否则不克不及增加新用户。进进到mysql>提醒符下举行操纵。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">假定我们要创建一个超等用户,用户名为system,用户口令为manager。<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">办法一<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">用Grant命令受权,输出的代码以下:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>GRANTALLPRIVILEGESON*.*TOsystem@localhostIDENTIFIEDBY’manager’WITHGRANTOPTION;<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">应显现:QueryOK,0rowsaffected(0.38sec)<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">办法二<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">对用户的每项权限举行设置:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>INSERTINTOuserVALUES(’localhost’,’system’,PASSWORD(’manager’),’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">关于3.22.34版本的MySQL,这里共14个"Y",其响应的权限以下(按字段按次分列):<pstyle="TEXT-INDENT:2em"> <pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">权限表列称号响应注释利用局限<pstyle="TEXT-INDENT:2em">selectSelect_priv只要在真正从一个表中检索时才必要select权限表<pstyle="TEXT-INDENT:2em">insertInsert_priv同意您把新行拔出到一个存在的表中表<pstyle="TEXT-INDENT:2em">updateUpdate_priv同意你用新值更新现存表中行的列表<pstyle="TEXT-INDENT:2em">deleteDelete_priv同意你删除满意前提的行表<pstyle="TEXT-INDENT:2em">createCreate_priv同意你创立新的数据库和表数据库、表或索引<pstyle="TEXT-INDENT:2em">dropDrop_priv丢弃(删除)现存的数据库和表数据库或表<pstyle="TEXT-INDENT:2em">reloadReload_priv同意您告知服务器再读进受权表服务器办理<pstyle="TEXT-INDENT:2em">shutdownShutdown_priv大概被滥用(经由过程停止服务器回绝为其他用户服务)服务器办理<pstyle="TEXT-INDENT:2em">processProcess_priv同意您观察以后实行的查询的一般文本,包含设定或改动口令查询服务器办理<pstyle="TEXT-INDENT:2em">fileFile_priv权限能够被滥用在服务器上读取任何可读的文件到数据库表服务器上的文件存取<pstyle="TEXT-INDENT:2em">grantGrant_priv同意你把你本人具有的那些权限授给其他的用户数据库或表<pstyle="TEXT-INDENT:2em">referencesReferences_priv同意你翻开和封闭纪录文件数据库或表<pstyle="TEXT-INDENT:2em">indexIndex_priv同意你创立或丢弃(删除)索引表<pstyle="TEXT-INDENT:2em">alterAlter_priv同意您改动表格,能够用于经由过程从头定名表来颠覆权限体系表<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">假如创立用户时只要select、insert、update和delete权限,则同意用户只能在一个数据库现有的表上实行操纵.<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">上面就能够创立我们要用到的数据库了,我们间接输出.比方:我们要创立数据库名为XinXiKu,可用以下代码:<pstyle="TEXT-INDENT:2em"><pstyle="TEXT-INDENT:2em">mysql>createdatabaseXinXiKu;<pstyle="TEXT-INDENT:2em">应显现:QueryOK,1rowaffected(0.00sec) 
尽管DBaaS模式有缺点,但它还是适合某些客户群体,这为解决方案提供商提供了新的商机。鉴于云服务的增长,解决方案提供商除了拥抱这些技术还有什么选择呢?如果他们不这样做,他们就会冒着被竞争对手击败的风险。但他们不能只想到如何把DBaaS的利润率与企业内部系统相比较。
老尸 该用户已被删除
沙发
 楼主| 发表于 2015-1-19 19:45:23 来自手机 | 只看该作者
是要和操作系统进行Socket通讯的场景。否则建议慎重!
再见西城 该用户已被删除
板凳
发表于 2015-1-28 10:06:07 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
若天明 该用户已被删除
地板
发表于 2015-2-13 05:52:20 | 只看该作者
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-3-3 16:30:06 | 只看该作者
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
兰色精灵 该用户已被删除
6#
发表于 2015-3-11 11:51:26 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
简单生活 该用户已被删除
7#
发表于 2015-3-18 10:10:25 | 只看该作者
其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。
再现理想 该用户已被删除
8#
发表于 2015-3-25 16:44:02 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 19:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表