仓酷云

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

[学习教程] MYSQL教程之MySQL数据库的23个出格注重的平安事项

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

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

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

x
也许最好的策略是以不变应万变:给客户他们所需要的,不多也不少。如果MySQL学习教程适合他们,他们就不应该买别的工具。事实上,云计算产业一直推崇自助服务,但提供这些服务的公司已经开始认识到解决方案提供商推销他们商品的价值。<p>利用MySQL数据库,平安成绩很不容无视,要想平安利用MySQL数据库,就要仔细了解上面解说的关于利用MySQL数据库要出格注重的23个平安事项:
1.假如客户端和服务器真个毗连必要超过并经由过程不成信托的收集,那末就必要利用SSH地道来加密该毗连的通讯。
2.用setpassword语句来修正用户的暗码,三个步骤,先“mysql-uroot”上岸数据库体系,然后“mysql>updatemysql.usersetpassword=password(’newpwd’)”,最初实行“flushprivileges”就能够了。
3.必要防备的打击有,防偷听、改动、回放、回绝服务等,不触及可用性和容错方面。对一切的毗连、查询、其他操纵利用基于ACL即会见把持列表的平安措施来完成。也有一些对SSL毗连的撑持。
4.除root用户外的其他任何用户不同意会见MySQL主数据库中的user表;
加密后寄存在user表中的加密后的用户暗码一旦保守,其别人能够随便用该用户名/暗码响应的数据库;
5.用grant和revoke语句来举行用户会见把持的事情;
6.不利用明文暗码,而是利用md5()和sha1()等单向的哈系函数来设置暗码;
7.不选用字典中的字来做暗码;
8.接纳防火墙往复失落50%的内部伤害,让数据库体系躲在防火墙前面事情,或安排在DMZ地区中;
9.从因特网上用nmap来扫描3306端口,也可用telnetserver_host3306的办法测试,不克不及同意从非信托收集中会见数据库服务器的3306号TCP端口,因而必要在防火墙或路由器上做设定;
10.为了避免被歹意传进不法参数,比方whereID=234,他人却输出whereID=234OR1=1招致全体显现,以是在web的表单中利用”或”"来用字符串,在静态URL中到场%22代表双引号、%23代表井号、%27代表单引号;传送未反省过的值给mysql数据库长短常伤害的;
11.在传送数据给MySQL时反省一下巨细;
12.使用程序必要毗连到数据库应当利用一样平常的用户帐号,只开放多数需要的权限给该用户;
13.在各编程接口(CC++PHPPerlJavaJDBC等)中利用特定‘逃走字符’函数;
在因特网上利用mysql数据库时必定罕用传输明文的数据,而用SSL和SSH的加密体例数据来传输;
14.学会利用tcpdump和strings工具来检察传输数据的平安性,比方tcpdump-l-ieth0-w-srcordstport3306 strings。以一般用户来启动mysql数据库服务;
15.不利用到表的联合标记,选用的参数Cskip-symbolic-links;
16.确信在mysql目次中只要启动数据库服务的用户才能够对文件有读和写的权限;
17.不准将process或super权限付给非办理用户,该mysqladminprocesslist能够枚举出以后实行的查询文本;super权限可用于割断客户端毗连、改动服务器运转参数形态、把持拷贝复制数据库的服务器;
18.file权限不付给办理员之外的用户,避免呈现loaddata‘/etc/passwd’到表中再用select显现出来的成绩;
19.假如不信任DNS服务公司的服务,能够在主机称号同意表中只设置IP数字地点;
20.利用max_user_connections变量来使mysqld服务历程,对一个指定帐户限制毗连数;
21.grant语句也撑持资本把持选项;
22.启动mysqld服务历程的平安选项开关,Clocal-infile=0或1如果0则客户端程序就没法利用localloaddata了,赋权的一个例子grantinsert(user)onmysql.userto‘user_name’@host_name’;若利用Cskip-grant-tables体系将对任何用户的会见不做任何会见把持,但能够用mysqladminflush-privileges或mysqladminreload来开启会见把持;默许情形是showdatabases语句对一切用户开放,能够用Cskip-show-databases来封闭失落。
23.碰着Error1045(28000)AccessDeniedforuser‘root’@localhost’(Usingpassword:NO)毛病时,你必要从头设置暗码,详细办法是:先用Cskip-grant-tables参数启动mysqld,然后实行mysql-urootmysql,mysql>updateusersetpassword=password(’newpassword’)whereuser=’root’;mysql>Flushprivileges;,最初从头启动mysql就能够了。
真正了解这些注重事项,并明白操纵技能的地点,将下面这些天真使用到实践,不克不及生吞活剥,将会给平常的事情带来便当,同时进步事情效力,何乐而不读啊。
【编纂保举】
为维持生产环境和非生产环境需要不断地投入管理支持费用MySQL学习教程,最终导致客户为数据库资源投入巨额成本。
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-19 05:42:39 | 只看该作者
对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。
山那边是海 该用户已被删除
板凳
发表于 2015-1-25 21:22:06 | 只看该作者
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
变相怪杰 该用户已被删除
地板
发表于 2015-2-4 04:40:38 | 只看该作者
总感觉自己还是不会SQL
再见西城 该用户已被删除
5#
发表于 2015-2-9 15:50:33 | 只看该作者
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
海妖 该用户已被删除
6#
发表于 2015-2-27 09:06:38 | 只看该作者
groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。
分手快乐 该用户已被删除
7#
发表于 2015-3-9 00:20:06 | 只看该作者
其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。
若相依 该用户已被删除
8#
发表于 2015-3-16 19:50:37 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 13:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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