<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[CentOS下MySql 5.0.x的安装、优化及安全设置]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Sun, 17 Jan 2010 02:38:47 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	下载页面：http://dev.mysql.com/downloads/mysql/5.0.html#downloads<br/>到页面底部，找到Source downloads，这个是源码版本，下载第1个Tarball<br/><br/>groupadd mysql<br/>新建一个名为mysql的用户组<br/>useradd -g mysql mysql<br/>在mysql用户组下新建一个名为mysql的用户<br/>gunzip &lt; mysql-VERSION.tar.gz &#124; tar -xvf -<br/>解压下载到的.gz文件<br/>cd mysql-VERSION<br/>进入解压后的目录<br/>CFLAGS=&quot;-O3 -mcpu=pentium4&quot; CXX=gcc CXXFLAGS=&quot;-O3 -march=pentium4 -felide-constructors -fno-exceptions -fno-rtti&quot; ./configure --prefix=/home/mysql/ --without-debug&nbsp;&nbsp;--with-unix-socket-path=/home/mysql/tmp/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --with-extra-charsets=gbk,gb2312,utf8 --without-innodb --without-isam --with-pthread --enable-thread-safe-client<br/>配置mysql<br/>gcc的相关参数：<br/><br/>-O3 &#92;<br/>-O<br/>-O1<br/>&nbsp;&nbsp;&nbsp;&nbsp;优化.对于大函数,优化编译占用稍微多的时间和相当大的内存.<br/>&nbsp;&nbsp;&nbsp;&nbsp;不使用`-O&#039;选项时,编译器的目标是减少编译的开销,使编译结果能够调试.语句是独立的:如果在 两条语句之间用断点中止程序,你可以对任何变量重新赋值,或者在函数体内把程序计数器指到其他语句,以及从源程序中 精确地获取你期待的结果.<br/>&nbsp;&nbsp;&nbsp;&nbsp;不使用`-O&#039;选项时,只有声明了register的变量才分配使用寄存器.编译结果比不用 `-O&#039;选项的PCC要略逊一筹.<br/>&nbsp;&nbsp;&nbsp;&nbsp;使用了`-O&#039;选项,编译器会试图减少目标码的大小和执行时间.<br/>&nbsp;&nbsp;&nbsp;&nbsp;如果指定了`-O&#039;选项, `-fthread-jumps&#039;和`-fdefer-pop&#039;选项将被 打开.在有delay slot的机器上, `-fdelayed-branch&#039;选项将被打开.在即使没有帧指针 (frame pointer)也支持调试的机器上, `-fomit-frame-pointer&#039;选项将被打开.某些机器上 还可能会打开其他选项.<br/>-O2<br/>&nbsp;&nbsp;&nbsp;&nbsp;多优化一些.除了涉及空间和速度交换的优化选项,执行几乎所有的优化工作.例如不进行循环展开(loop unrolling)和函数内嵌(inlining).和-O选项比较,这个选项既增加了编译时间,也提高了生成代码的 运行效果.<br/>-O3<br/>&nbsp;&nbsp;&nbsp;&nbsp;优化的更多.除了打开-O2所做的一切,它还打开了-finline-functions选项.<br/>-O0<br/>&nbsp;&nbsp;&nbsp;&nbsp;不优化.<br/>如果指定了多个-O选项，不管带不带数字，最后一个选项才是生效的选项。<br/>-mcpu=pentium4 &#92; 根据CPU类型优化编译，可以让你的mysq表现更好！可选项目很多：i386, i486, i586, i686, pentium, pentium-mmx, pentiumpro, pentium2, pentium3, pentium4, k6, k6-2, k6-3, athlon, athlon-tbird, athlon-4, athlon-xp,athlon-mp,winchip-c6, winchip2 , c3.<br/>-fomit-frame-pointer &#92;对于不需要栈指针的函数就不在寄存器中保存指针，因此可以忽略存储和检索地址的代码，并将寄存器用于普通用途。所有&quot;-O&quot;级别都打开着一选项，但仅在调试器可以不依靠栈指针运行时才有效。建议不需要调试的情况下显式的设置它。<br/><br/>configure的相关参数：<br/>--prefix=/home/mysql/&nbsp;&nbsp;&#92;指定安装目录<br/>--without-debug &#92;去除debug模式<br/>--with-extra-charsets=gbk,gb2312,utf8&nbsp;&nbsp;&#92;添加gbk,gb2312,utf8中文字符支持<br/>--with-pthread &#92;强制使用pthread库(posix线程库)<br/>--enable-assembler &#92;使用一些字符函数的汇编版本<br/>--enable-thread-safe-client &#92;以线程方式编译客户端<br/>--with-client-ldflags=-all-static &#92;以纯静态方式编译客户端<br/>--with-mysqld-ldflags=-all-static &#92;以纯静态方式编译服务端<br/>--without-isam &#92;去掉isam表类型支持，现在很少用了，isam表是一种依赖平台的表<br/>--without-innodb &#92;去掉innodb表支持，innodb是一种支持事务处理的表，适合企业级应用<br/><br/>make<br/>编译<br/>make install<br/>安装<br/>cp support-files/my-medium.cnf /etc/my.cnf<br/>将mysql的配置文件copy到/etc目录下，并更名为my.cnf<br/><br/>/home/mysql下面有5个my-xxxx.cnf文件<br/>my-small.cnf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最小配置安装，内存&lt;=64M，数据数量最少<br/>my-large.cnf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 内存=512M<br/>my-medium.cnf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 32M&lt;内存&lt;64M，或者内存有128M，但是数据库与web服务器公用内存<br/>my-huge.cnf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1G&lt;内存&lt;2G，服务器主要运行mysql<br/>my-innodb-heavy-4G.cnf&nbsp;&nbsp; 最大配置安装，内存至少4G<br/><br/>cd /home/mysql<br/>进入安装目录<br/>bin/mysql_install_db --user=mysql<br/>以mysql用户的身份建立数据表<br/>chown -R root&nbsp;&nbsp;.<br/>将mysql的主目录（即/home/mysql）的属主设为root用户。这是官方文档上的命令，但奇怪的是，如果将mysql的主目录属主设成root用户，在运行了下面的bin/mysqld_safe --user=mysql &amp;后则不能启动mysql。问题出在“权限”上，运行chown -R mysql .则可以用下面的命令正常启动mysql。难道官方文档有错？希望大家一起来探讨一下。<br/>chown -R mysql var<br/>将var目录的属主设为mysql用户<br/>chgrp -R mysql .<br/>将mysql的主目录的属主设为mysql用户组（注意：和前面的命令不一样，这个命令是对用户组进行赋权）<br/>bin/mysqld_safe --user=mysql &amp;<br/>启动mysql，如果一切正常的话，运行此命令后，不会有任何提示。<br/>bin/mysqladmin -u root password password<br/>修改root用户的密码，这里的root用户指的是mysql的root用户，与Linux的root用户无关。绿色的password就是你需要设置的新密码，牢记！<br/>bin/mysql -u root -p<br/>如果正常的话，用这个名字可以登录，在输入密码后，出现mysql &gt; 的提示符表明登录成功。用quit命令可退出<br/><br/>以下命令用于设置mysql开机自动运行<br/>cd mysql-VERSION<br/>再次进入解压后的目录，即源码目录。<br/>cp support-files/mysql.server /etc/init.d/mysql<br/>将mysql.server这个文件copy到/etc/init.d/目录下，并更名为mysql<br/>chmod 755 /etc/init.d/mysql<br/>给/etc/init.d/mysql这个文件赋予“执行”权限<br/>chkconfig --level 345 mysql on<br/>加入到开机自动运行，运行级别为3 4 5<br/>service mysql restart<br/>重启mysql服务<br/><br/>Q：为什么我用PHP连接Mysql时提示“connect fail:Can&#039;t connect to local MySQL server through socket &#039;/home/mysql/tmp/mysql.sock&#039; (13)”<br/>A：这是因为PHP没能正常的连接到Mysql套接字，即mysql.sock文件。首先，检查/home/mysql/tmp/目录下是否有 mysql.sock这个文件。如果没有，可能是mysql没有正常启动；如果有，可能是/home/mysql/tmp/这个目录的权限不够，用chmod 755 /home/mysql/tmp可解决此问题。<br/><br/>-----------------------------------------------------------------------------------------------<br/>Mysql的优化设置<br/><br/>打开/etc/my.cnf文件，修改以下设置，如果没有，可手动添加。调整设置时，请量力而行，这与你的服务器的配置有关，特别是内存大小。以下设置比较适合于1G内存的服务器，但并不绝对。<br/><br/># 指定索引缓冲区的大小，它决定索引处理的速度，尤其是索引读的速度。通过检查状态值Key_read_requests和Key_reads，可以知道 key_buffer_size设置是否合理。比例key_reads / key_read_requests应该尽可能的低，至少是1:100，1:1000更好（上述状态值可以使用show status like &#039;key_reads&#039;获得）。key_buffer_size只对MyISAM表起作用。即使你不使用MyISAM表，但是内部的临时磁盘表是 MyISAM表，也要使用该值。可以使用检查状态值created_tmp_disk_tables得知详情。<br/>key_buffer = 384M<br/><br/># 要求MySQL能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求，这就起作用，然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接，你需要增加它，换句话说，这值对到来的TCP/IP连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。试图设定back_log高于你的操作系统的限制将是无效的。默认数值是50<br/>back_log = 200<br/><br/># 一个包的最大尺寸。消息缓冲区被初始化为net_buffer_length字节，但是可在需要时增加到max_allowed_packet个字节。缺省地，该值太小必能捕捉大的(可能错误)包。如果你正在使用大的BLOB列，你必须增加该值。它应该象你想要使用的最大BLOB的那么大。<br/>max_allowed_packet = 4M<br/><br/>#允许的同时客户的数量。增加该值增加 mysqld要求的文件描述符的数量。这个数字应该增加，否则，你将经常看到 Too many connections 错误。 默认数值是100<br/>max_connections = 1024<br/><br/># 指定表高速缓存的大小。每当MySQL访问一个表时，如果在表缓冲区中还有空间，该表就被打开并放入其中，这样可以更快地访问表内容。通过检查峰值时间的状态值Open_tables和Opened_tables，可以决定是否需要增加table_cache的值。如果你发现open_tables等于 table_cache，并且opened_tables在不断增长，那么你就需要增加table_cache的值了（上述状态值可以使用show status like &#039;Open_tables&#039;获得）。注意，不能盲目地把table_cache设置成很大的值。如果设置得太高，可能会造成文件描述符不足，从而造成性能不稳定或者连接失败。<br/>table_cache = 512<br/><br/>#每个线程排序所需的缓冲<br/>sort_buffer_size = 4M<br/><br/>#当一个查询不断地扫描某一个表，MySQL会为它分配一段内存缓冲区。read_buffer_size变量控制这一缓冲区的大小。如果你认为连续扫描进行得太慢，可以通过增加该变量值以及内存缓冲区大小提高其性能。<br/>read_buffer_size = 4M<br/><br/>#加速排序操作后的读数据，提高读分类行的速度。如果正对远远大于可用内存的表执行GROUP BY或ORDER BY操作，应增加read_rnd_buffer_size的值以加速排序操作后面的行读取。仍然不明白这个选项的用处……<br/>read_rnd_buffer_size = 8M<br/><br/>#用于REPAIR TABLE。不明白这个选项的用处，百度上找到的设置方向也是五花八门，有128M、64M、32M等，折中选一个。<br/>myisam_sort_buffer_size = 64M<br/><br/># 可以复用的保存在中的线程的数量。如果有，新的线程从缓存中取得，当断开连接的时候如果有空间，客户的线置在缓存中。如果有很多新的线程，为了提高性能可以这个变量值。通过比较 Connections 和 Threads_created 状态的变量，可以看到这个变量的作用。<br/>thread_cache_size = 128<br/><br/>#查询结果缓存。第一次执行某条SELECT语句的时候，服务器记住该查询的文本内容和它返回的结果。服务器下一次碰到这个语句的时候，它不会再次执行该语句。作为代替，它直接从查询缓存中的得到结果并把结果返回给客户端。<br/>query_cache_size = 32M<br/><br/>#最大并发线程数,cpu数量*2<br/>thread_concurrency = 2<br/><br/>#设置超时时间,能避免长连接<br/>wait_timeout = 120<br/><br/>#关闭不需要的表类型,如果你需要,就不要加上这个<br/>skip-innodb<br/>skip-bdb<br/><br/>关于mysql的优化设置及检查，这篇文章很值得一看&nbsp;&nbsp;http://tech.itdb.cn/n/200607/27/n20060727_30398.shtml<br/>-----------------------------------------------------------------------------------------------<br/>Mysql的安全设置<br/><br/>打开/etc/my.cnf文件，修改以下设置，如果没有，可手动添加。<br/>#取消文件系统的外部锁<br/>skip-locking<br/><br/>#不进行域名反解析,注意由此带来的权限/授权问题<br/>skip-name-resolve<br/><br/>#禁止MySQL中用“LOAD DATA LOCAL INFILE”命令。这个命令会利用MySQL把本地文件读到数据库中，然后用户就可以非法获取敏感信息了。网络上流传的一些攻击方法中就有用它的，它也是很多新发现的SQL Injection攻击利用的手段！<br/>local-infile = 0<br/><br/>#关闭远程连接，即3306端口。这是MySQL的默认监听端口。由于此处MySQL只服务于本地脚本，所以不需要远程连接。尽管MySQL内建的安全机制很严格，但监听一个TCP端口仍然是危险的行为，因为如果MySQL程序本身有问题，那么未授权的访问完全可以绕过MySQL的内建安全机制。（你必须确定，你是否真的不需要远程连接mysql）<br/>skip-networking<br/><br/>修改完my.cnf后，还需要对mysql的用户名、帐号、及默认数据库进行调整<br/>首先先登录mysql，在终端窗口输入&nbsp;&nbsp;/home/mysql/bin/mysql -u root -p<br/>然后会提示输入密码，输入正确密码后，会出现mysql&gt;提示符。<br/><br/>输入以下命令：<br/>mysql&gt;use mysql;<br/>mysql&gt;update user set user=&quot;centos&quot; where user=&quot;root&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (将mysql的root用户名修改成centos，防止root的密码被暴力破解)<br/>mysql&gt;select Host,User,Password,Select_priv,Grant_priv from user;<br/>mysql&gt;delete from user where user=&#039;&#039;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（删除user用户）<br/>mysql&gt;delete from user where password=&#039;&#039;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （删除user用户）<br/>mysql&gt;delete from user where host=&#039;&#039;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （删除user用户）<br/>mysql&gt;drop database test;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (删除默认的test数据库)<br/>mysql&gt;flush privileges;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（刷新mysql的缓存，让以上设置立即生效）<br/>mysql&gt;quit;<br/><br/>为了使以上优化和安全设置生效，请重启Mysql服务或Linux。<br/><br/>关于Mysql的安全设置，这篇文章很值得一看<br/>http://www.unixren.com/linux/bencandy.php?fid=21&amp;id=459<br/>-----------------------------------------------------------------------------------------------<br/><br/>phpMyAdmin 2.9.x的安装与配置<br/><br/>phpMyAdmin是一个用PHP编写的，可以通过互联网控制和操作MySQL数据库的软件。通过phpMyAdmin可以完全对数据库进行操作，例如建立、复制/删除数据等等。<br/><br/>下载地址： http://www.phpmyadmin.net<br/>目前的最新版本是 2.9.1.1<br/>使用phpMyAdmin的先决条件：Apache(或者是Zeus、IIS)、PHP、MySql必须已经安装好，并且能够正常运行。因为phpMyAdmin是用PHP程序编写的，所以，你必须确定你的PHP可以正常连接到MySql。<br/><br/>下面开始安装：<br/><br/>1、解压下载到的文件，会得到一个目录，如 phpMyAdmin-2.9.1.1-all-languages-utf-8-only<br/><br/>2、将这个目录移动到你的网站根目录下<br/>mv ./phpMyAdmin-2.9.1.1-all-languages-utf-8-only /var/www/<br/><br/>3、为了安全起见，建议修改目录名，这样只有你自己知道phpMyAdmin的所在位置<br/>mv /var/www/phpMyAdmin-2.9.1.1-all-languages-utf-8-only /var/www/MyphpAdmin<br/><br/>4、修改phpMyAdmin的配置文件<br/>cd /var/www/MyphpAdmin<br/>mv config.sample.inc.php config.inc.php<br/>config.inc.php就是配置文件，需要将config.sample.inc.php更名过来，才能生效。<br/>kate config.inc.php<br/><br/>以$cfg开头的选项都是可以修改的，根据你的实际情况，参与下面的文档来修改<br/>$cfg[&#039;blowfish_secret&#039;] = &#039;http&#039;; /* cookie认证的加密算法，随便填一串字符即可 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;auth_type&#039;] = &#039;cookie&#039;; /* 登录时的认证方式。本机登录的设置成config，网络远程登录的需要设置成cookie */<br/>$cfg[&#039;Servers&#039;][$i][&#039;host&#039;] = &#039;localhost&#039;; /* 主机名，可在终端下输入uname -n查看 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;connect_type&#039;] = &#039;socket&#039;; /* 使用tcp（Mysql在远程服务器上）或socket（Mysql在本机）方式来连接 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;compress&#039;] = true; /* 启用压缩以提高速度，如果访问不正常请改回false（php的版本必须高于4.3.0） */<br/>$cfg[&#039;Servers&#039;][$i][&#039;extension&#039;] = &#039;mysql&#039;; /* 设定phpMyAdmin所支持的数据库类型 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;controluser&#039;] = &#039;&#039;; /* Mysql的root用户名，不要填写 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;controlpass&#039;] = &#039;&#039;; /* Mysql的root用户密码，不要填写 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;pmadb&#039;] = &#039;phpmyadmin&#039;; /* 包含连接表结构的数据库名称。不用修改 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;bookmarktable&#039;] = &#039;pma_bookmark&#039;; /* 从 2.2.0 版本开始，phpMyAdmin 允许将经常使用的查询存储在书签中。不用修改 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;relation&#039;] = &#039;pma_relation&#039;; /* 从 2.2.4 版本开始，您可以定义一个关联表，它的字段是另一个表（外部表）的主键。不用修改 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;table_info&#039;] = &#039;pma_table_info&#039;; /* 不用修改 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;table_coords&#039;] = &#039;pma_table_coords&#039;; /* 不用修改 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;pdf_pages&#039;] = &#039;pma_pdf_pages&#039;; /* 不用修改 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;column_info&#039;] = &#039;pma_column_info&#039;; /* 不用修改 */<br/>$cfg[&#039;Servers&#039;][$i][&#039;history&#039;] = &#039;pma_history&#039;; /* 不用修改 */<br/>$cfg[&#039;UploadDir&#039;] = &#039;&#039;; /* 不用修改 */<br/>$cfg[&#039;SaveDir&#039;] = &#039;&#039;; /* 不用修改 */<br/><br/>5、配置完毕后，就可以在浏览器里使用了。<br/>如 http://192.168.0.1/MyphpAdmin/&nbsp;&nbsp; (注意大小写要输入正确，否则会提示找不到页面)<br/>如果安装没有问题的话，就会出现登录对话框，输入MySql的帐号和密码就可以登陆了。<br/><br/>如果在登陆时出现[size=-1]session_start(): Failed to initialize storage module.<br/>请将php.ini文件中如下两句进行修改<br/>session.save_handler = files<br/>session.save_path = &quot;/tmp&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（请确认/tmp目录的读写权限）<br/>改成这样就行了，然后重启apache。<br/><br/>如果遇到 #2002 - 服务器没有响应 (or the local MySQL server&#039;s socket is not correctly configured) 这类问题<br/><br/>我 google 了一下，发现很多人被这个问题困扰，大家解决方法的思路都是围绕 mysql.sock。实际上，通过修改 mysql.sock 路径解决问题的可能性很小。大部分这类问题是由于 mysql 做了 ip 绑定（bind-address = 127.0.0.1）造成的。这里只需要将 $cfg[&#039;Servers&#039;][$i][&#039;host&#039;] = &#039;localhost&#039; 改为 &#039;127.0.0.1&#039; 就可以了。或者改成localhost.localdomain，这样改的依据是more /etc/hosts
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] CentOS下MySql 5.0.x的安装、优化及安全设置]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>