
web
文章平均质量分 52
web
hankwangwang
这个人很懒,什么都没有留下
展开
-
Can’t connect to local MySQL server through socket 解决办法
Can’t connect to local MySQL server through socket 解决办法转载 2010-06-22 17:22:00 · 1558 阅读 · 0 评论 -
MySQL统计函数GROUP_CONCAT陷阱
本博客所有原创文章采用知识共享署名-非商业性使用-相同方式共享,转载请保留链接http://chaoqun.17348.com/2008/12/mysql-trap-of-group-concat/最近在用MySQL做一些数据的预处理,经常会用到group_concat函数,比如类似下面一条语句mysql>select aid,group_concat(bid) from tb转载 2009-03-26 22:14:00 · 17201 阅读 · 2 评论 -
MySQL数据类型迷惑之整型xxxINT
本博客所有原创文章采用知识共享署名-非商业性使用-相同方式共享,转载请保留链接http://chaoqun.17348.com/2008/11/mysql-data-types-int/最近在做一些利用MySQL进行数据挖掘方面的尝试,处理的大多是海量的数据(一般是5000W条以上),由于数据量巨大,数据库表字段数据类型的选择就显示出重要性来了。比如有下面的一个表:mysq转载 2009-03-26 22:13:00 · 3175 阅读 · 1 评论 -
根据status信息对MySQL服务器进行优化
转自:http://chaoqun.17348.com/2009/03/mysql-tuning-by-status/网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据服务器的”状态”进行优化。mysql> show g转载 2009-03-25 20:01:00 · 1529 阅读 · 0 评论 -
MYSQL的DATE_FORMAT()格式化日期
MYSQL的DATE_FORMAT()格式化日期 DATE_FORMA T(date, format) 根据格式串format 格式化日期或日期和时间值date,返回结果串。 可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值: %S, %s 两位数字形式的秒( 00,01, . . .,原创 2009-03-18 19:53:00 · 2814 阅读 · 0 评论 -
MySQL里建立索引应该考虑数据库引擎的类型
比方说有一个文章表,我们要实现某个类别下按时间倒序列表显示功能:BSD爱好者乐园]1X/w*s0pj+^1o#~"r#zcYK f ~SELECT * FROM articles WHERE category_id = ... ORDER BY created DESC LIMIT ...Vs/JFBSD爱好者乐园/R8R |t f @Vtrn这样的查询很常见,基转载 2009-03-05 07:04:00 · 1365 阅读 · 0 评论 -
mysql innodb 性能优化
默认情况下,innodb的参数设置的非常小,在生产环境中远远不够用比如最重要的两个参数innodb_buffer_pool_size 默认是8Minnodb_flush_logs_at_trx_commit 默认设置的是1 也就是同步刷新log(可以这么理解)innodb_buffer_pool_size:这是InnoDB最重要的设置,对InnoDB性能有决定性的影响。默认的设置只有8M,所以默认原创 2008-12-15 09:22:00 · 1190 阅读 · 0 评论 -
识别常见Web漏洞
本周有个需求,临时做了下web端的工作,通过get传参数,考虑了xss漏洞,做了限制,可惜忘记做了INFO漏洞检查,没有对参数进行强制转化为自己需要的类型,被扫描出来了,呜呜呜;以后要注意了。。。 找了篇文章,学习一下常见的web漏洞 在互联网大众化及Web技术飞速演变的今天,在线安全所面临的挑战日益严峻。伴随着在线信息和服务的可用性的提升,以及基子Web的攻击和破坏的增长原创 2009-02-27 21:07:00 · 2177 阅读 · 2 评论 -
Mysql的优化设置
打开/etc/my.cnf文件,修改以下设置,如果没有,可手动添加。调整设置时,请量力而行,这与你的服务器的配置有关,特别是内存大小。以下设置比较适合于1G内存的服务器,但并不绝对。 #指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads /转载 2008-12-07 13:50:00 · 795 阅读 · 0 评论 -
mysql的“Got error 28 from storage engine”错误
今天碰到数据库出错Got error 28 from storage engine查了一下,数据库文件所在的盘应该没事,应该是数据库用的临时目录空间不够引用磁盘临时空间不够导致。解决办法:清空/tmp目录,或者修改my.cnf中的tmpdir参数,指向具有足够空间目录上面的说法应该比较清楚,还有一个类似的:引用mysql报以下错的解决方法ERROR 1030 (HY000)原创 2008-11-24 18:47:00 · 95534 阅读 · 0 评论 -
MySQL中文查询时的字符集匹配问题
写一个查询条件时的问题如下:如我想写一个字段中包含“李”字的所有记录$str="李";select * from table where field like %$str% ;显示的记录中除了包含”李”字的记录,还有不包含“李”字的记录。为什么?在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解原创 2009-01-13 11:50:00 · 1992 阅读 · 0 评论 -
关于Chunked编码
在有时服务器生成HTTP回应是无法确定消息大小的,这时用Content-Length就无法事先写入长度,而需要实时生成消息长度,这时服务器一般采用Chunked编码。 在进行Chunked编码传输时,在回复消息的头部有transfer-coding并定为Chunked,表示将用Chunked编码传输内容。采用以下方式编码: Chunked-Body=*chunk "0"CRLF转载 2008-12-30 11:25:00 · 2162 阅读 · 0 评论 -
MYISAM与INNODB类型的区别
最近偶负责的系统经常临晨3点到5点出现超时现象,分析出是3点到5点,db在批量update 1500w的记录,导致锁表比较频繁,这个时候的任何涉及操作db的server都会超时;之前量比较小,超时不太严重,最近用户数增加了。原来表的类型是MYISAM,打算修改为INNODB,预先做一下功课,下面是关于MYISAM与INNODB类型的区别 InnoDB和MyISAM是在使原创 2008-10-22 09:24:00 · 1635 阅读 · 0 评论 -
关系数据库的三种设计范式介绍
今天一个业务需求涉及到了第三范式 顺便整理一下这里的概念,以方便以后查询: 1 第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的原创 2008-10-15 19:18:00 · 2289 阅读 · 1 评论 -
如何编写高性能的 MySQL 语句
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其转载 2008-09-26 21:28:00 · 1792 阅读 · 0 评论 -
InnoDB的性能调优(二)
1. 如果 Unix top 或 Windows 任务管理器(Task Manager) 显示服务的 CPU 占用率小于 70%,(shows that the CPU usage percentage with your workload is less than 70 %,)你的系统瓶颈可能在磁盘读写上。或许你提交了大量的事务,或者是缓冲池(buffer pool)太小了。将缓冲池设大点会有所转载 2008-09-26 21:26:00 · 1566 阅读 · 0 评论 -
InnoDB的性能调优(一)
性能调优的几个提示: 1. 如果 CPU 资源利用率小于 70% 的话,你的负载可能是由于磁盘引起的,可能有太多的事务提交,或者缓冲池太小。建议增加缓冲池。 2. 把多个修改包在一个事务里面, InnoDB 每次提交事务需要刷新日志到磁盘,而磁盘的速度和 CPU 相比一般都很慢,因此,建议不要频繁提交事务。 3. 如果你能承受最近几个事务的丢失,建议设置 innodb_flush_log_at_t转载 2008-09-26 21:25:00 · 2637 阅读 · 0 评论 -
MYSQL官方提供的tuning-primer.sh
地址:http://www.day32.com/MySQL/ 运行时可以自动判断当前mysql的配置是否合理原创 2009-04-23 13:34:00 · 1844 阅读 · 0 评论 -
关于设计表时应该注意的问题
关于设计表时应该注意的问题如有错误欢迎大家指出。这段时间在家里,做了点修正。1、慎重选择表名。有两种选择:按照多数开发语言的命名规则。比如(myCustomer)。按照多数开源思想命名规则。比如(my_customer)。按照咱们中国人的思想。比如(我的客户)。第一种有个缺点,很容易忘掉大写的字母。第二种则比较好,每个WORD间用下划线连接,避免遗忘。第三种建议不要用,虽然很好记。不觉得解析这个表转载 2009-07-28 21:44:00 · 1210 阅读 · 1 评论 -
对MYSQL AUTO_INCREMENT 的初始化
MyISAM表类型可以直接在CREATE语句里面设置就不用多说了,InnDB引擎 在网上看了下资料,发现InnDB表不能在CREATE语句中初始化AUTO_INCREMENT。第一次使用ALTER TABLE testt AUTO_INCREMENT = 100 初始化为100,使用但是我要求表在一定时间要清空,同时也要重新初始化ATUO_INCREMENT转载 2009-07-28 22:40:00 · 2477 阅读 · 0 评论 -
程序读mysql中文乱码问题解决方法
一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是GB2312编码的,却以UTF-8编码打开再保存。要解决上述乱码问题,首先需要知道开发中哪些环节涉及到了编码:1、文件编码:指的是页面文件(.html,.php等)本身是以何种编码来保存的。记原创 2010-05-14 13:54:00 · 3432 阅读 · 2 评论 -
mysql的两个技巧(key记录存在则替换,不存在则插入和key记录存在则更新,不存在则插入)
key为唯一键或者主键(1) key存在则替换,不存在则插入 replace into t_test | CREATE TABLE `t_test` ( `ikey` int(11) NOT NULL default 0, `value` varchar(21) NOT NULL default , `icount` int(11)原创 2010-03-31 17:11:00 · 8006 阅读 · 1 评论 -
mysql性能优化的一些小tips
(1) 针对Innodb表,尽量不执行 SELECT COUNT(*) 语句,因为Innodb表没有类似MyISAM那样的内部计数器来记录表记录总量,执行这个操作将会全表扫描,速度很慢. (2) 尽量使用MyISAM表,除非必须使用其他类型,因为MyISAM类型的总体读写效率是相当高的,缺点是表级锁,而不是行/页级锁. (3) 善用 EXPLAIN来帮助你分析查询优化情况原创 2010-03-23 16:35:00 · 1980 阅读 · 0 评论 -
使用mysql的一些小tips
1、版本和当前日期mysql> select version(),current_date(); +----------------+-----------------+ | version() | current_date() | +----------------+-----------------+ | 3.23.25a-debug | 2001-05-17 |原创 2010-03-23 16:27:00 · 2213 阅读 · 0 评论 -
web端跨域问题
简单说说跨域访问由于浏览器的安全限制,网络连接的跨域访问时不被允许的,当然其中也包括了XmlHttpRequest。但是,有些时候我们需要通过跨域访问来获取一些资源,例如:作为用户,我们需要在自己的网站用AJAX调用一些其他网站提供的服务,这些服务常常是一些HTTP GET形式的API。而AJAX的基础是XmlHttpRequest,跨域的XmlHttpRequest是不被允许的原创 2009-11-23 09:54:00 · 4082 阅读 · 1 评论 -
mysql的热备: mysql replication原理介绍
最近业务访问量比较大,数据统计类的操作都切换到mysql的备机上去了,备机的读操作不会影响主、备之间的热备的下面列一下具体的原理: 要想用好一个系统,理解其实现原理是非常重要的事情,只有理解了其实现原理,我们才能够扬长避短,合理的利用,才能够搭建出最适合我们自己应用环境的系统,才能够在系统实施之后更好的维护他。MySQL Replication 可以说是在目前 MySQL 数据库原创 2010-01-14 10:31:00 · 2255 阅读 · 0 评论 -
JSON数据格式介绍
JSON定义 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。 JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python原创 2009-10-08 22:13:00 · 37509 阅读 · 21 评论 -
Mysql Explain 详解
一.语法explain 例如: explain select * from t3 where id=3952602;二.explain输出解释+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+| id | select_type | table | t原创 2009-09-11 08:46:00 · 1454 阅读 · 0 评论 -
你可能不知道的MySQL
实验的数据表如下定义:mysql> desc tbl_name;+-------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+--------------+------+-----+---------+---转载 2009-06-20 09:17:00 · 2087 阅读 · 0 评论 -
Squid缓存命中率调整惨痛教训
很好的一篇文章公司的网站使用Squid 2.6STABLE2作缓存加速服务器,缓存的命中率一直不好,最好也只能达到90%,折腾了许久,终于发现影响最大的原来只是一个小参数,不过期间也学到了不少东西~起初,考虑缓存命中率不高,考虑是不是给Squid的内存不够,所以就加大了内存配置,2G内存的机器给Squid 1G用,测试了两天,结果基本没有什么大的改变;于是调整refresh_pattern转载 2009-06-20 16:08:00 · 4257 阅读 · 0 评论 -
配置MySQL远程复制
MySQL远程复制的用途很广,常见的用于数据库的负载均衡,主库写,从库读,由于读锁是允许并发的,可有效提高并发处理能力。关于MySQL的高性能(High Performance)和高可用性(High availability)配置,推荐看看O’Reilly的《High Performance MySQL》一书。此外,远程复制对于远程数据交换也是有用的,如果你需要在不同的区域交换数据,不妨考虑的My转载 2009-06-20 09:10:00 · 3063 阅读 · 0 评论 -
Apache2.2开启Gzip和Expires来提升网页浏览速度
在Apache的配置文件中找到下面两行,将注释#去掉,重启。LoadModule deflate_module modules/mod_deflate.soLoadModule expires_module modules/mod_expires.so在你网站的目录下新建.htaccess(必须对apache先启用.htaccess功能),添加如下内容:ExpiresActive On转载 2009-06-17 19:04:00 · 3737 阅读 · 0 评论 -
mod_gzip:Apache的HTTP压缩优化
HTTP压缩对于纯文本内容可压缩至原大小的40%一下,从而提供60%以上的数据传输节约,虽然WEB服务器会因为压缩导致CPU占用的略微上升,但是可以节约大量用于传输的网络IO。对于数据压缩带来的用户浏览速度提升(让页面符合8秒定律),这点总体负载5%-10%上升是非常值得的。毕竟通过数据压缩会比通过不规范的HTML代码优化要方便得多。 mod_gzip的安装:修改Makef转载 2009-08-16 19:13:00 · 1663 阅读 · 0 评论 -
基于反相代理的Web缓存加速
内容摘要:对于一个日访问量达到百万级的网站来说,速度很快就成为一个瓶颈。除了优化内容发布系统的应用本身外,如果能把不需要实时更新的动态页面的输出结果转化成静态网页来发布,速度上的提升效果将是显著的,因为一个动态页面的速度往往会比静态页面慢2-10倍,而静态网页的内容如果能被缓存在内存里,访问速度甚至会比原有动态网页有2-3个数量级的提高。动态缓存和静态缓存的比较 基于反原创 2009-08-16 19:01:00 · 1563 阅读 · 0 评论 -
Mysql管理笔记
内容摘要:使用MySQL服务的一些经验,主要从以下几个方面考虑的MySQL服务规划设计。对于高负载站点来说PHP和MySQL运行在一起(或者说任何应用和数据库运行在一起的规划)都是性能最大的瓶颈,这样的设计有如让人一手画圆一手画方,这样2个人的工作效率肯定不如让一个人专门画圆一个人专门画方效率高,让应用和数据库都跑在一台高性能服务器上说不定还不如跑在2台普通服务器上快。以下就是针对MySQ转载 2009-08-16 18:57:00 · 1328 阅读 · 0 评论 -
MySQL的分页的优化
关于分页的优化。我们知道,在MySQL中分页很简单,直接LIMIT page_no,page_total 就可以了。可是当记录数慢慢增大时,她就不那么好使了。这里我们创建摘要表来记录页码和原表之间的关联。下面为测试数据。原表:CREATE TABLE `t_group` ( `id` int(11) NOT NULL auto_increment, `money` decimal(10,2转载 2009-07-28 21:42:00 · 1326 阅读 · 2 评论 -
MySQL安装后需要调整什么(大欢乐 译)
原文连接 http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/ 面对MySQL的DBA或者做MySQL性能相关的工作的人,我最喜欢问的问题是,在MySQL服务器安装后,需要调整什么,假设是以缺省的设置安装的。 我很惊讶有非常多的人没有合理的回答,很多的MySQL转载 2008-09-18 17:42:00 · 1438 阅读 · 0 评论 -
关于改变innodb_log_file_size后无法启动mysql的问题
关于改变innodb_log_file_size后无法启动mysql的问题 最近在看MYSQL优化的参数,改了innodb_log_file_size参后,启动下面报错,然来是改了这个参数后需要关闭MYSQLSQL删除ib_logfile0, ib_logfile1这些文件,再启动MYSQL。080622 10:53:27 mysqld_转载 2008-09-18 20:12:00 · 2577 阅读 · 0 评论 -
Apche日志系列(3):定制日志
有时候我们需要定制Apache默认日志的格式和内容,比如增加或减少日志所记录的信息、改变默认日志文件的格式等。本文介绍可以用日志记录的所有信息,以及如何设置Apache使其记录这些信息。 一、定义日志格式(4月3日) 很久以前,日志文件只有一种格式,这就是“公共格式”,许多人已经习惯于使用这种格式。随后出现了定制日志格式,而且看起来定制日志格式更很受欢迎,即使公共日志格式本身也重新用转载 2007-10-13 13:04:00 · 981 阅读 · 0 评论 -
Apche日志系列(1):访问日志
想要知道什么人在什么时候浏览了网站的哪些内容吗?查看Apache的访问日志就可以知道。访问日志是Apache的标准日志,本文详细解释了访问日志的内容以及相关选项的配置。 一、访问日志的格式 Apache内建了记录服务器活动的功能,这就是它的日志功能。这个《Apache日志》系列文章介绍的就是Apache的访问日志转载 2007-10-13 13:01:00 · 1132 阅读 · 1 评论