Welcome 微信登录

首页 / 数据库 / MySQL

PHP学习散记 2012_01_07(MySQL)

PHP学习散记 2012_01_07(MySQL)

PHP看起来很简单,一个初学者也可以几个小时内就能开始写函数了。但是建立一个稳定、可靠的数据库确需要时间和经验。下面就是一些这样的经验,不仅仅是MYSQL,其他数据库也一样可以参考。 1.使用MyISAM而不是InnoDB MySQL有很多的数据库引擎,单一般也就用MyISAM和InnoDB。 MyISAM 是默认使用的。但是除非你是建立一个非常简单的数据库或者只是实验性的,那么到大多数时候这个选择是错误的。MyISAM不支持外键的约束,这是保证数据完整性...
利用SQL注入漏洞登录后台的实现方法

利用SQL注入漏洞登录后台的实现方法

早在02年,国外关于SQL注入漏洞的技术文章已经很多,而国内在05年左右才开始的。 如今,谈SQL注入漏洞是否已是明日黄花,国内大大小小的网站都已经补上漏洞。但,百密必有一疏,入侵是偶然的,但安全绝对不是必然的。 前些天,网上传得沸沸扬扬的“拖库”事件给我们敲响了安全警钟。 在开发网站的时候,出于安全考虑,需要过滤从页面传递过来的字符。通常,用户可以通过以下接口调用数据库的内容:URL地址栏、登陆界面、留言板、搜索框等。这往往给骇客留下了可乘之...
linux修改mysql数据库文件的路径

linux修改mysql数据库文件的路径

mysql更改数据文件的存放路径感觉直接把/etc/my.cnf中的datadir改一下重启一下服务就行,但是从网上搜了n多资料,大部分都是更改my.cnf中的datadir及sock及启动脚本/etc/rc.d/init/mysqld中的datadir,按照网上提供的方案好像都不行,有没有大侠给个肯定的说法 其实只是要做两件事情:一个是mv一下socket和data的目录。也就是将其从原来的目录移动到指定的位置;第二,就是修改配置文件,假如直接是用mys...
浅谈开启magic_quote_gpc后的sql注入攻击与防范

浅谈开启magic_quote_gpc后的sql注入攻击与防范

通过启用php.ini配置文件中的相关选项,就可以将大部分想利用SQL注入漏洞的骇客拒绝于门外。 开启magic_quote_gpc=on之后,能实现addslshes()和stripslashes()这两个函数的功能。在PHP4.0及以上的版本中,该选项默认情况下是开启的,所以在PHP4.0及以上的版本中,就算PHP程序中的参数没有进行过滤,PHP系统也会对每一个通过GET、POST、COOKIE方式传递的变量自动转换,换句话说,输入的注入攻击代码将会全...
MySQL的字符串函数使用说明

MySQL的字符串函数使用说明

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要 条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存 储方式和链接存储方式。 下面我们来看看MySQL中的字符串函数 假如结果的长度大于 max_allowed_packet 系统变量的最大值时,字符串值函数的返回值为NULL。 对...
在linux或unix服务器上安装、使用MySQL的注意事项

在linux或unix服务器上安装、使用MySQL的注意事项

一、怎么样取得最新版本的MySQL? 要安装MySQL,首先要当然要取得它的最新版本,虽然大家都知道在FreeBSD的Packages中可以找到MySQL,但是我还是建议大家到网络上去找最新版本的MySQL。我介绍大家到http://www.mysql.org去下载,这里的最新版本是MySQL 3.23 versions 。 二、安装MySQL时候的注意事项? 1、如果您是用MySQL+Apache,使用的又是FreeBSD网路操作系统的话,安...
超越MySQL 对流行数据库进行分支的知识小结

超越MySQL 对流行数据库进行分支的知识小结

简 介 MySQL 是历史上最受欢迎的免费开源程序之一。它是成千上万个网站的数据库骨干,并且可以将它(和 Linux®)作为过去 10 年里 Internet 呈指数级增长的一个有力证明。 那么,如果 MySQL 真的这么重要,为什么还会出现越来越多的核心 MySQL 产品的高端衍生产品?这是因为 MySQL 是免费的开源应用程序,所以开发人员总是可以获得其代码,并按照自己的想法修改代码,然后再自行分发代码。在很长的一段时间里,在开发人员自己...
MySQL 联合索引与Where子句的优化 提高数据库运行效率

MySQL 联合索引与Where子句的优化 提高数据库运行效率

网站系统上线至今,数据量已经不知不觉上到500M,近8W记录了。涉及数据库操作的基本都是变得很慢了,用的人都会觉得躁火~~然后把这个情况在群里一贴,包括机器配置什么的一说,马上就有群友发话了,而且帮我确定了不是机器配置的问题,“深圳-枪手”热心人他的机器512内存过百W的数据里也跑得飞快,甚至跟那些几W块的机器一样牛(吹过头了),呵呵~~~ 在群友的分析指点下,尝试把排序、条件等一个一个去除来做测试,结果发现问题就出在排序部分,去除排序的时候,执行时间...
MySQL索引背后的之使用策略及优化(高性能索引策略)

MySQL索引背后的之使用策略及优化(高性能索引策略)

本章的内容完全基于上文的理论基础,实际上一旦理解了索引背后的机制,那么选择高性能的策略就变成了纯粹的推理,并且可以理解这些策略背后的逻辑。 示例数据库 为了讨论索引策略,需要一个数据量不算小的数据库作为示例。本文选用MySQL官方文档中提供的示例数据库之一:employees。这个数据库关系复杂度适中,且数据量较大。下图是这个数据库的E-R关系图(引用自MySQL官方手册): 图12 MySQL官方文档中关于此数据库的页面为http://de...
MySQL数据库服务器逐渐变慢分析与解决方法分享

MySQL数据库服务器逐渐变慢分析与解决方法分享

一、检查系统的状态 通过操作系统的一些工具检查系统的状态,比如CPU、内存、交换、磁盘的利用率,根据经验或与系统正常时的状态相比对,有时系统表面上看起来看空闲,这也可能不是一个正常的状态,因为cpu可能正等待IO的完成。除此之外,还应观注那些占用系统资源(cpu、内存)的进程。 1.使用sar来检查操作系统是否存在IO问题 #sar-u210— 即每隔2秒检察一次,共执行20次。 结果示例: 注:在redhat下,%system就是所谓...
揭秘SQL优化技巧 改善数据库性能

揭秘SQL优化技巧 改善数据库性能

优化目标 1、减少 IO 次数 IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当然,也是收效最明显的优化手段。 2、降低CPU计算 除了 IO 瓶颈之外,SQL优化中需要考虑的就是CPU运算量的优化了。order by, group by,distinct … 都是消耗 CPU 的大户(这些操作基本上都是 CPU ...
深入理解mysql SET NAMES和mysql(i)_set_charset的区别

深入理解mysql SET NAMES和mysql(i)_set_charset的区别

说到, 尽量使用mysqli_set_charset(mysqli:set_charset)而不是”SET NAMES”, 当然, 这个内容在PHP手册中也有叙及, 但是却没有解释为什么. 最近有好几个朋友问我这个问题, 到底为什么? 问的人多了, 我也就觉得可以写篇blog, 专门介绍下这部分的内容了. 首先, 很多人都不知道”SET NAMES”到底是做了什么, 我之前的文章深入MySQL字符集设置中, 曾经介绍过character_s...
<< 61 62 63 64 65 66 67 68 69 70 >>