<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/wubx" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/wubx" type="application/rss+xml"></fs:self_link><lastBuildDate>Mon, 06 Feb 2012 06:08:26 GMT</lastBuildDate><title>MySQL支持</title><description>MySQL支持，提供专业技术支持性能调优，架构设计</description><link>http://www.mysqlsupport.cn</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Mon, 06 Feb 2012 06:09:23 GMT</pubDate><item><title>从MySQL源码学习运维Innodb buffer命中率计算</title><link>http://item.feedsky.com/~feedsky/wubx/~7941423/602612007/6051301/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;作者：吴炳锡　来源：http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注明作/译者和出处，并且不能用于商业用途，违者必究.&lt;/strong&gt;&lt;br /&gt;
按官方手册推荐Innodb buffer Hit Ratios的计算是:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;100-((iReads / iReadRequests)*100)
iReads : mysql-&amp;gt;status-&amp;gt;Innodb_buffer_pool_reads
iReadRequests: mysql-&amp;gt;status-&amp;gt;Innodb_buffer_pool_read_requests&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;出处: http://dev.mysql.com/doc/mysql-monitor/2.0/en/mem_graphref.html&lt;br /&gt;
搜”Hit Ratios”&lt;br /&gt;
推荐有兴趣的同学把这个页面都看一下应该也会有很大收获.&lt;br /&gt;
另外在hackmysql: www.hackmysql.com网站上的: mysqlsqlreport中关于buffer命中计算是:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;perl&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$ib_bp_read_ratio&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;sprintf&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;%.2f&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$stats&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Innodb_buffer_pool_read_requests'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;?&lt;/span&gt;
&lt;span style=&quot;color: #cc66cc;&quot;&gt;100&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$stats&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Innodb_buffer_pool_reads'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;/&lt;/span&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;$stats&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'Innodb_buffer_pool_read_requests'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;100&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;即:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;ib_bp_hit=100-(Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests)*100&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;另外我们知道查看Innodb Buffer Hit Ratios的地方是:&lt;br /&gt;
show engine innodb status\G;&lt;br /&gt;
Buffer pool hit rate : XXXX/1000;&lt;br /&gt;
那个XXX/1000即是buffer pool hit ratios的命中.&lt;br /&gt;
这样也可以从代码里看一下这个bp命中计算:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;storage/innobase/buf/buf0buf.c # void buf_print_io
storage/innodbase/include/buf0buf.h #struct buf_block_struct&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;在buf0buf.c 中的buf_print_io函数中可以看到:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;c&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt;
buf_print_io&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;
…
&amp;nbsp;
&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;buf_pool&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;n_page_gets &lt;span style=&quot;color: #339933;&quot;&gt;&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; buf_pool&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;n_page_gets_old&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
fprintf&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;file&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Buffer pool hit rate %lu / 1000&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;ulong&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000dd;&quot;&gt;1000&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000dd;&quot;&gt;1000&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;buf_pool&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;n_pages_read
&lt;span style=&quot;color: #339933;&quot;&gt;-&lt;/span&gt; buf_pool&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;n_pages_read_old&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;/&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;buf_pool&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;n_page_gets
&lt;span style=&quot;color: #339933;&quot;&gt;-&lt;/span&gt; buf_pool&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;n_page_gets_old&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
fputs&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;No buffer pool page gets since the last printout&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
file&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
buf_pool&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;n_page_gets_old &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; buf_pool&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;n_page_gets&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
buf_pool&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;n_pages_read_old &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; buf_pool&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;n_pages_read&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
…
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;结合:&lt;br /&gt;
storage\innobase\include\buf0buf.h中&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;c&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #993333;&quot;&gt;struct&lt;/span&gt; buf_block_struct&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
…
ulint n_pages_read&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* number read operations */&lt;/span&gt;
…
ulint n_page_gets&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* number of page gets performed;
also successful searches through
the adaptive hash index are
counted as page gets; this field
is NOT protected by the buffer
pool mutex */&lt;/span&gt;
…
ulint n_page_gets_old&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* n_page_gets when buf_print was
last time called: used to calculate
hit rate */&lt;/span&gt;
…
ulint n_pages_read_old&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* n_pages_read when buf_print was
last time called */&lt;/span&gt;
…
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;从这个来看innodb buffer hit Ratios的命中计算需要本次取的值和上次值做一个减法公式应该为&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;ib_bp_hit=1000 – (t2.iReads – t1.iReads)/(t2.iReadRequest – t1.iReadRequest)*1000&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;t(n): 时间点 两个时间间隔最少是30秒以上,在小意义不大.&lt;br /&gt;
iReads: Innodb_buffer_pool_reads&lt;br /&gt;
iReadRequest: Innodb_buffer_pool_read_requests&lt;/p&gt;
&lt;p&gt;对innodb的输出参数有兴趣的可以关注: storage/innobase/buf/Srv0srv.c 中的:&lt;br /&gt;
void srv_export_innodb_status()&lt;/p&gt;
&lt;p&gt;思考:&lt;br /&gt;
对于innodb_buffer_pool_read_requests, innodb_buffer_pool_reads这种累加值,当很大时进行: innodb_buffer_pool_reads/innodb_buffer_pool_read_requests 相来讲只能得到从开始到现在的命中率的表现了. 如果想得到现在近五分钟,近一分钟或是8点到9点每分钟的命中率情况,如果还是按着innodb_buffer_pool_reads/innodb_buffer_pool_read_requests 进行计算,只能得到mysqld开起累计在8点-9点的每分钟的累计平均命中情况.&lt;br /&gt;
所以如果想到每(五)分钟的命中情况,就需要本次取得的值和一(五)分钟前的值进行相减,然后进行运算.这样才能得到一个当下的bp命中情况.&lt;br /&gt;
两种方法没实质的对错的问题,但相对于源码中的那种计算方式更容让发现数据库的抖动问题.&lt;/p&gt;
&lt;p&gt;能解决的问题:&lt;br /&gt;
偶而的数据库性能抖动能直观的反应出来.&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602612007/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612007/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.mysqlsupport.cn/mysql_innodb_buffer_pool_hit/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>作者：吴炳锡　来源：http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注明作/译者和出处，并且不能用于商业用途，违者必究. 按官方手册推荐Innodb buffer Hit Ratios的计算是: 100-((iReads / iReadRequests)*100) iReads : mysql-&amp;#62;status-&amp;#62;Innodb_buffer_pool_reads iReadRequests: mysql-&amp;#62;status-&amp;#62;Innodb_buffer_pool_read_requests 出处: http://dev.mysql.com/doc/mysql-monitor/2.0/en/mem_graphref.html 搜”Hit Ratios” 推荐有兴趣的同学把这个页面都看一下应该也会有很大收获. 另外在hackmysql: www.hackmysql.com网站上的: mysqlsqlreport中关于buffer命中计算是: $ib_bp_read_ratio = sprintf &amp;#34;%.2f&amp;#34;, &amp;#40;$stats&amp;#123;'Innodb_buffer_pool_read_requests'&amp;#125; ? 100 - &amp;#40;$stats&amp;#123;'Innodb_buffer_pool_reads'&amp;#125; / $stats&amp;#123;'Innodb_buffer_pool_read_requests'&amp;#125;&amp;#41; * 100 :0&amp;#41;; 即: ib_bp_hit=100-(Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests)*100 另外我们知道查看Innodb Buffer Hit Ratios的地方是: show engine innodb status\G; Buffer pool hit rate : XXXX/1000; 那个XXX/1000即是buffer [...]&lt;img src=&quot;http://www1.feedsky.com/t1/602612007/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612007/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>innodb buffer pool hite</category><category>Innodb</category><category>MySQL基础</category><pubDate>Mon, 06 Feb 2012 14:08:26 +0800</pubDate><author>wubx</author><comments>http://www.mysqlsupport.cn/mysql_innodb_buffer_pool_hit/#comments</comments><guid isPermaLink="false">http://www.mysqlsupport.cn/?p=195</guid><dc:creator>wubx</dc:creator><fs:srclink>http://www.mysqlsupport.cn/mysql_innodb_buffer_pool_hit/</fs:srclink><fs:srcfeed>http://www.mysqlsupport.cn/feed/</fs:srcfeed><fs:itemid>feedsky/wubx/~7941423/602612007/6051301</fs:itemid></item><item><title>MySQL版本和SSIS不兼容问题分析及解决办法</title><link>http://item.feedsky.com/~feedsky/wubx/~7941423/602612008/6051301/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究.&lt;/strong&gt;&lt;br /&gt;
线上替换Percona版本和SSIS不兼容问题分析及解决办法&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;现象：&lt;/strong&gt;&lt;br /&gt;
利用SSIS(SQL Server Intelligence Services)访问Percona-Server 5.1 原来的SQL取不到数据。&lt;br /&gt;
如果加上limit后就能取到数据。但原来的MySQL版本(MySQL-5.1.43sp1)就可以取到数据。&lt;br /&gt;
MySQL版本：Percona-Server-5.1.55 or MySQL-5.1.55后&lt;br /&gt;
SSIS 从MySQL中取不到数据。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;分析：&lt;/strong&gt;&lt;br /&gt;
从WireShark抓包分SSIS执行SQL的流程：&lt;br /&gt;
1. PING 包&lt;br /&gt;
2. INIT_DB连接上数据库&lt;br /&gt;
3. 发送：set sql_select_limit=0;&lt;br /&gt;
4. 执行SSIS中定义的SQL;&lt;br /&gt;
5. 发送: set sql_select_limit=-1;&lt;br /&gt;
6. 再执行SSIS中定义的SQL;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;问题发生在哪呢？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;第一次set sql_select_limit=0 是因为在早期的数据库交互中，因为mysql没有SQL编译的及SQL正确否的校验，&lt;br /&gt;
所以很多程序员会用set sql_select_limit=0这个然后再执行SQL看有返回的错误不。&lt;br /&gt;
从协义上看第一次set sql_select_limit=0在Percona-Server-5.1.55及后面的SQL执行都是正确执行的。&lt;br /&gt;
然后第二次调用：set sql_select_limit=-1;　目的是把环境变量sql_select_limit还原成default值。&lt;br /&gt;
然后再执行SSIS中的SQL.读取读取不到信息。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;猜测：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　在执行set sql_select_limit=-1没能执行成功造成后面SSIS再次执行SQL没返回。&lt;/p&gt;
&lt;p&gt;有了以上的信息去验证一下：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;mysql&quot; style=&quot;font-family:monospace;&quot;&gt;mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;select&lt;/span&gt; @@version_comment&lt;span style=&quot;color: #000033;&quot;&gt;,&lt;/span&gt; @@&lt;span style=&quot;color: #000099;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+--------------------------------------------------------------+--------------------+&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; @@version_comment &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; @@&lt;span style=&quot;color: #000099;&quot;&gt;version&lt;/span&gt; &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+--------------------------------------------------------------+--------------------+&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; Percona Server &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;with&lt;/span&gt; XtraDB &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;GPL&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;Release&lt;/span&gt; &lt;span style=&quot;color: #008080;&quot;&gt;12.6&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;,&lt;/span&gt; Revision &lt;span style=&quot;color: #008080;&quot;&gt;200&lt;/span&gt; &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; 5.1.55&lt;span style=&quot;color: #CC0099;&quot;&gt;-&lt;/span&gt;rel12.6&lt;span style=&quot;color: #CC0099;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000099;&quot;&gt;log&lt;/span&gt; &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+--------------------------------------------------------------+--------------------+&lt;/span&gt;
&lt;span style=&quot;color: #008080;&quot;&gt;1&lt;/span&gt; row &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;
mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;select&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;from&lt;/span&gt; mysql.&lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;where&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt;&lt;span style=&quot;color: #CC0099;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+------+&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+------+&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; root &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; root &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+------+&lt;/span&gt;
&lt;span style=&quot;color: #008080;&quot;&gt;2&lt;/span&gt; rows &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;
mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; sql_select_limit&lt;span style=&quot;color: #CC0099;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
Query OK&lt;span style=&quot;color: #000033;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #008080;&quot;&gt;0&lt;/span&gt; rows affected &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;
mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;select&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;from&lt;/span&gt; mysql.&lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;where&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt;&lt;span style=&quot;color: #CC0099;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
Empty &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;
mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; sql_select_limit&lt;span style=&quot;color: #CC0099;&quot;&gt;=-&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
Query OK&lt;span style=&quot;color: #000033;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #008080;&quot;&gt;0&lt;/span&gt; rows affected&lt;span style=&quot;color: #000033;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #008080;&quot;&gt;1&lt;/span&gt; warning &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;
mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;select&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;from&lt;/span&gt; mysql.&lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;where&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt;&lt;span style=&quot;color: #CC0099;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
Empty &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;
mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; sql_select_limit&lt;span style=&quot;color: #CC0099;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;default&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
Query OK&lt;span style=&quot;color: #000033;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #008080;&quot;&gt;0&lt;/span&gt; rows affected &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;
mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;select&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;from&lt;/span&gt; mysql.&lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;where&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt;&lt;span style=&quot;color: #CC0099;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+------+&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+------+&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; root &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; root &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+------+&lt;/span&gt;
&lt;span style=&quot;color: #008080;&quot;&gt;2&lt;/span&gt; rows &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;
mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; sql_select_limit&lt;span style=&quot;color: #CC0099;&quot;&gt;=-&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
Query OK&lt;span style=&quot;color: #000033;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #008080;&quot;&gt;0&lt;/span&gt; rows affected&lt;span style=&quot;color: #000033;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #008080;&quot;&gt;1&lt;/span&gt; warning &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;
mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;show&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;warnings&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+---------+------+--------------------------------------------------+&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; Level &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; Code &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; Message &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+---------+------+--------------------------------------------------+&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; Warning &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #008080;&quot;&gt;1292&lt;/span&gt; &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; Truncated incorrect sql_select_limit &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;value&lt;/span&gt;: &lt;span style=&quot;color: #008000;&quot;&gt;'-1'&lt;/span&gt; &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+---------+------+--------------------------------------------------+&lt;/span&gt;
&lt;span style=&quot;color: #008080;&quot;&gt;1&lt;/span&gt; row &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;可见在执行：set sql_select_limit=-1; 这个负１是不支持的。从手册上来看，也只是说了一个可以给的最大值，也没说最少值。该参数还是挺鬼疑的。&lt;br /&gt;
有兴趣的可以试一下mysql-5.1.54及以下版本或是MySQL-5.1.55以后的版本。&lt;br /&gt;
我试了MySQL-5.1.56一样对：set sql_select_limit=-1是不支持。&lt;br /&gt;
现在在来看为什么加上limit都可以显示数据呢？&lt;br /&gt;
手册里描述：If a SELECT has a LIMIT clause, the LIMIT takes precedence over the value of sql_select_limit.&lt;br /&gt;
可见SELECT中的limit运算优先于sql_select_limit。&lt;/p&gt;
&lt;p&gt;验证：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;mysql&quot; style=&quot;font-family:monospace;&quot;&gt;mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;select&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;from&lt;/span&gt; mysql.&lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;where&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt;&lt;span style=&quot;color: #CC0099;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;limit&lt;/span&gt; &lt;span style=&quot;color: #008080;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+------+&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+------+&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; root &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt; root &lt;span style=&quot;color: #CC0099;&quot;&gt;|&lt;/span&gt;
&lt;span style=&quot;color: #CC0099;&quot;&gt;+------+&lt;/span&gt;
&lt;span style=&quot;color: #008080;&quot;&gt;2&lt;/span&gt; rows &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;
mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt;  &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; sql_select_limit&lt;span style=&quot;color: #CC0099;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
Query OK&lt;span style=&quot;color: #000033;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #008080;&quot;&gt;0&lt;/span&gt; rows affected &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;
mysql&lt;span style=&quot;color: #CC0099;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;select&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;from&lt;/span&gt; mysql.&lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt; &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;where&lt;/span&gt; &lt;span style=&quot;color: #000099;&quot;&gt;user&lt;/span&gt;&lt;span style=&quot;color: #CC0099;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000033;&quot;&gt;;&lt;/span&gt;
Empty &lt;span style=&quot;color: #990099; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;0.00&lt;/span&gt; sec&lt;span style=&quot;color: #FF00FF;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;如何解决这个问题：&lt;/strong&gt;&lt;br /&gt;
原因是set sql_select_limit=-1没正确执行。&lt;br /&gt;
可以在SSIS中的SQL前添加set sql_selct_limit=default;该解决方法存在性能问题，但能正确执行了。&lt;br /&gt;
最彻底的解决办法：反溃给那MS支持方，SQL调用中的set sql_select_limit=-1改成 set sql_select_limit=default。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;影响：&lt;/strong&gt;&lt;br /&gt;
如果该问题不修正，目前这个SSIS只能使用MySQL-5.1.54前的版本了。&lt;br /&gt;
&lt;strong&gt;参考：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_sql_select_limit&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;感想：&lt;/strong&gt;&lt;br /&gt;
不是开源的东西，你知道为什么，知道怎么改，也无语啊。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602612008/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612008/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.mysqlsupport.cn/ssis-mysql-no-resulte/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究. 线上替换Percona版本和SSIS不兼容问题分析及解决办法 现象： 利用SSIS(SQL Server Intelligence Services)访问Percona-Server 5.1 原来的SQL取不到数据。 如果加上limit后就能取到数据。但原来的MySQL版本(MySQL-5.1.43sp1)就可以取到数据。 MySQL版本：Percona-Server-5.1.55 or MySQL-5.1.55后 SSIS 从MySQL中取不到数据。 分析： 从WireShark抓包分SSIS执行SQL的流程： 1. PING 包 2. INIT_DB连接上数据库 3. 发送：set sql_select_limit=0; 4. 执行SSIS中定义的SQL; 5. 发送: set sql_select_limit=-1; 6. 再执行SSIS中定义的SQL; 问题发生在哪呢？ 第一次set sql_select_limit=0 是因为在早期的数据库交互中，因为mysql没有SQL编译的及SQL正确否的校验， 所以很多程序员会用set sql_select_limit=0这个然后再执行SQL看有返回的错误不。 从协义上看第一次set sql_select_limit=0在Percona-Server-5.1.55及后面的SQL执行都是正确执行的。 然后第二次调用：set sql_select_limit=-1;　目的是把环境变量sql_select_limit还原成default值。 然后再执行SSIS中的SQL.读取读取不到信息。 猜测： 　　在执行set sql_select_limit=-1没能执行成功造成后面SSIS再次执行SQL没返回。 有了以上的信息去验证一下： mysql&amp;#62; select @@version_comment, @@version; [...]&lt;img src=&quot;http://www1.feedsky.com/t1/602612008/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612008/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>优化案例</category><category>SSIS</category><category>SQL Server Intelligence Services</category><pubDate>Fri, 05 Aug 2011 22:43:18 +0800</pubDate><author>wubx</author><comments>http://www.mysqlsupport.cn/ssis-mysql-no-resulte/#comments</comments><guid isPermaLink="false">http://www.mysqlsupport.cn/?p=188</guid><dc:creator>wubx</dc:creator><fs:srclink>http://www.mysqlsupport.cn/ssis-mysql-no-resulte/</fs:srclink><fs:srcfeed>http://www.mysqlsupport.cn/feed/</fs:srcfeed><fs:itemid>feedsky/wubx/~7941423/602612008/6051301</fs:itemid></item><item><title>如何查看mysqld进程的Profiler</title><link>http://item.feedsky.com/~feedsky/wubx/~7941423/602612009/6051301/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;    作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;   在mysqld中运行中有时偶而出有点看不出来原因的问题,想看看MySQLD中在执行什么,可以用下来的脚本查一下profiler&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;#PMP 
#http://poormansprofiler.org/
#!/bin/bash
nsamples=1
sleeptime=0
pid=$(pidof mysqld)
&amp;nbsp;
for x in $(seq 1 $nsamples)
  do
    gdb -ex &amp;quot;set pagination 0&amp;quot; -ex &amp;quot;thread apply all bt&amp;quot; -batch -p $pid
    sleep $sleeptime
  done | \
awk '
  BEGIN { s = &amp;quot;&amp;quot;; } 
  /Thread/ { print s; s = &amp;quot;&amp;quot;; } 
  /^\#/ { if (s != &amp;quot;&amp;quot; ) { s = s &amp;quot;,&amp;quot; $4} else { s = $4 } } 
  END { print s }' | \
sort | uniq -c | sort -r -n -k 1,1&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602612009/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612009/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.mysqlsupport.cn/find_mysqld_profiler/feed/</wfw:commentRss><slash:comments>1</slash:comments><description>作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究. 在mysqld中运行中有时偶而出有点看不出来原因的问题,想看看MySQLD中在执行什么,可以用下来的脚本查一下profiler #PMP #http://poormansprofiler.org/ #!/bin/bash nsamples=1 sleeptime=0 pid=$(pidof mysqld) &amp;#160; for x in $(seq 1 $nsamples) do gdb -ex &amp;#34;set pagination 0&amp;#34; -ex &amp;#34;thread apply all bt&amp;#34; -batch -p $pid sleep $sleeptime done &amp;#124; \ awk ' BEGIN { s = &amp;#34;&amp;#34;; } /Thread/ { print s; s = &amp;#34;&amp;#34;; } /^\#/ [...]&lt;img src=&quot;http://www1.feedsky.com/t1/602612009/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612009/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>MySQLD Profiler</category><category>Linux/Unix技术</category><category>MySQL TIPS/FAQ</category><pubDate>Thu, 09 Dec 2010 11:11:33 +0800</pubDate><author>wubx</author><comments>http://www.mysqlsupport.cn/find_mysqld_profiler/#comments</comments><guid isPermaLink="false">http://www.mysqlsupport.cn/?p=184</guid><dc:creator>wubx</dc:creator><fs:srclink>http://www.mysqlsupport.cn/find_mysqld_profiler/</fs:srclink><fs:srcfeed>http://www.mysqlsupport.cn/feed/</fs:srcfeed><fs:itemid>feedsky/wubx/~7941423/602612009/6051301</fs:itemid></item><item><title>Perl DBI操作MySQL的Tips</title><link>http://item.feedsky.com/~feedsky/wubx/~7941423/602612010/6051301/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　使用perl连接mysql，这个网上有很多案例了，一般大家都是DBI下的DBD::MySQL这个模块进行．这里做一个mask弄一个TIPS:&lt;br /&gt;
&lt;strong&gt; Perl DBI MySQL的字符集为UTF8&lt;br /&gt;
 Perl DBI 特殊字符写入时报错&lt;br /&gt;
 Perl DBI 连接自动重连或是连接超时&lt;/strong&gt;&lt;br /&gt;
 &lt;br /&gt;
１.　当MySQL的字符集是UTF8时需要引入：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;perl&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;use&lt;/span&gt; utf8&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #000066;&quot;&gt;binmode&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;STDOUT&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;':encoding(utf8)'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #000066;&quot;&gt;binmode&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;STDIN&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;':encoding(utf8)'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #000066;&quot;&gt;binmode&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;STDERR&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;':encoding(utf8)'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;目的:&lt;/strong&gt; &lt;br /&gt;
解决perl连接mysql到数据后读取显示结果为乱码的问题．&lt;br /&gt;
 &lt;br /&gt;
２．对于特殊字符的写入，最好使用：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;perl&quot; style=&quot;font-family:monospace;&quot;&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;my&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;$sth&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$dbh&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;prepare&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;insert into wubx.WeekEvent values(?,?,?,?,?,?,?)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
 &lt;span style=&quot;color: #0000ff;&quot;&gt;$sth&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;execute&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$OId&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$CId&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #000066;&quot;&gt;qq&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$Time&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;/,&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$EventType&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #000066;&quot;&gt;qq&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$CDesc&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;/,&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$PId&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$RFlag&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;对于字符串有可能是用户提交的用qq//包裹，减少特殊字符造成SQL不能执行的情况&lt;/strong&gt;．&lt;br /&gt;
３.　如果连接两个数据库有交换的操作或是迁数据，要考虑连连超时的情况．&lt;br /&gt;
 报错：　MySQL server has gone away&lt;br /&gt;
　　处理办法：&lt;br /&gt;
  在DBD::mysql 4.012以后支持DBI连接的自动重连．需要设置：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;perl&quot; style=&quot;font-family:monospace;&quot;&gt;  &lt;span style=&quot;color: #0000ff;&quot;&gt;$dbh&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;mysql_auto_reconnect&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;  在早期的模块中不支持，简单的方法：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;perl&quot; style=&quot;font-family:monospace;&quot;&gt;   &lt;span style=&quot;color: #0000ff;&quot;&gt;$dbh&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;do&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'set SESSION wait_timeout=72000'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
   &lt;span style=&quot;color: #0000ff;&quot;&gt;$dbh&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #006600;&quot;&gt;do&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'set SESSION interactive_timeout=72000'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;；&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;  此方法适用别的语言连MySQL连接短期丢失或是Server的timeout时间设置太短．&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602612010/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612010/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.mysqlsupport.cn/perl-dbi-operate-mysql-tips/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>Perl DBI MySQL的字符集为UTF8
 Perl DBI 特殊字符写入时报错
 Perl DBI 连接自动重连或是连接超时&lt;img src=&quot;http://www1.feedsky.com/t1/602612010/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612010/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Linux/Unix技术</category><category>DBI连接超时，DBI mysql utf8</category><category>DBI　特殊字符写入</category><pubDate>Tue, 07 Dec 2010 10:57:19 +0800</pubDate><author>wubx</author><comments>http://www.mysqlsupport.cn/perl-dbi-operate-mysql-tips/#comments</comments><guid isPermaLink="false">http://www.mysqlsupport.cn/?p=178</guid><dc:creator>wubx</dc:creator><fs:srclink>http://www.mysqlsupport.cn/perl-dbi-operate-mysql-tips/</fs:srclink><fs:srcfeed>http://www.mysqlsupport.cn/feed/</fs:srcfeed><fs:itemid>feedsky/wubx/~7941423/602612010/6051301</fs:itemid></item><item><title>Innodb Log写入方式分析</title><link>http://item.feedsky.com/~feedsky/wubx/~7941423/602612011/6051301/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;作者&lt;/strong&gt;&lt;strong&gt;/&lt;/strong&gt;&lt;strong&gt;译者：王佳隆　来源&lt;/strong&gt;&lt;strong&gt;:&lt;/strong&gt;&lt;strong&gt;　&lt;/strong&gt;&lt;strong&gt;http://www.mysqlsupport.cn/ &lt;/strong&gt;&lt;strong&gt;联系方式：&lt;/strong&gt;&lt;strong&gt;enjoylonely#live.cn  &lt;/strong&gt;&lt;strong&gt;转载请注&lt;/strong&gt;&lt;strong&gt;:&lt;/strong&gt;&lt;strong&gt;译者和出处，并且不能用于商业用途，违者必究&lt;/strong&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;原文URL：http://www.mysqlperformanceblog.com/2010/07/16/analyzing-the-distribution-of-innodb-log-file-writes/&lt;/p&gt;
&lt;p&gt;    最近我分析了一下Innodb是如何写多个日志的。我这里有个流量比较高的MySQL系统，使用的是Percona XtraDB存储引擎，&lt;/p&gt;
&lt;p&gt;我使用strace命令分别跟踪了innodb如何去日志文件的。通常来说，innodb是以512bytes的大小来写入日志的。&lt;/p&gt;
&lt;p&gt;关于这个可以参考：&lt;a href=&quot;http://mysqlha.blogspot.com/2009/06/buffered-versus-direct-io-for-innodb.html&quot; target=&quot;_blank&quot;&gt;Mark Callaghan explained this and some of its performance implications&lt;/a&gt; 。那么innodb什么时候情况下会以大于512bytes者小于512bytes的请求写到日志里呢？&lt;/p&gt;
&lt;p&gt;首先，我通过lsof命令找出日志的文件描述符(handle).&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;# lsof -p $(pidof mysqld) | grep ib_log
mysqld  29772 mysql    8uW  REG                8,2   268435456   7143989 /var/lib/mysql/ib_logfile0
mysqld  29772 mysql    9uW  REG                8,2   268435456   7143993 /var/lib/mysql/ib_logfile1&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;我们可以看到2个日志的handle为8和9，现在我们需要捕获innodb是如何写这2个日志的相关信息。Innodb轮循写日志就是通过这个文件描述符.&lt;/p&gt;
&lt;p&gt;The following grabs the write sizes out of 100k calls to pwrite() and aggregates them：&lt;/p&gt;
&lt;p&gt;# strace -f -p $(pidof mysqld) -e pwrite -s1 -xx 2&amp;gt;&amp;amp;1 \&lt;/p&gt;
&lt;p&gt;   | grep &amp;#8216;pwrite([89],&amp;#8217; |head -n 100000 \&lt;/p&gt;
&lt;p&gt;   | awk &amp;#8216;{writes[$5]++}END{for(w in writes){print w, ” “, writes[w]}}&amp;#8217;&lt;/p&gt;
&lt;p&gt;本来我可以写一个更好的脚本来捕获信息，但是下面的信息对我来说已经足够了。&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;&amp;lt;strong&amp;gt;bytes        count&amp;lt;/strong&amp;gt;
512           44067
1024         30740
1536         15221
2048         7094
2560         1810
3072         570
3584         219
4096         112
4608         39
5120         23
5632         16
6144         15
6656         5
7168         3
7680         8
8192         2
8704         2
9216         1
9728         2
10240       1
10752       2
11264       1
11776       1
14848       1
15360       1
15872       2
16384       4
16896       4
17408       2
17920       2
18432       2
18944       8
19456       7
19968       4
20480       4
21504       1
22016       2
24064       1
40960       1&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;总的来说，大致有3/4是以512和1024字节写入的。那么这到底什么意思呢？这里有很多有趣的而且复杂的东西需要我们去研究。&lt;/p&gt;
&lt;p&gt; 1. 我们可以看到，大部分的写入都小于4K。但是我们知道操作系统的page大小是4K的。如果要写入的page不在cache中，那么这个page最开始需要读出，然后再修改，最后再写回到磁盘。vadim曾经过做做一些测试，如果要性能最好，那么日志要在OS的cache中。&lt;/p&gt;
&lt;p&gt; 2.这台MySQL的innodb_flush_log_at_trx_commit设置是2.这就说明每个事务都会有一个日志写入请求，这个和设置为1是一样的。但是如果设置成0，那么写入的方法就大不相同&amp;#8212;这个时候写入请求会累计到一定程度，然后一起写入。&lt;/p&gt;
&lt;p&gt; 3.那么如果说log buffer小于一个事务要写的日志大小怎么办？这是另外一个需要研究的主题了。目前我还不清楚。&lt;/p&gt;
&lt;p&gt;4.从上面的信息来看，是否可以很容易知道log buffer大小应该给多少呢？最大的写入小于40K，这好像可以说明分配64K给log buffer就已经足够了。这是真的吗？我们需要去测试才可以知道。peter以前和我谈过这个问题，log buffer背后的机制其实是很复杂的，到底log buffer需要保留多少空间给写操作。这些都需要更深入的研究。但是有一点可以确认，即使最大的写入操作不是很大的情况下，如果log buffer设置太小，性能肯定是不好的，而且会造成而外的锁。这个问题或许我们同样需要去研究。&lt;/p&gt;
&lt;p&gt;最后，研究innodb是如何写日志的很容易，但是事实上innodb redo log机制是很复杂的，有时候我们很难说去猜想应该是什么样的，而应该去更深入的研究才可以知道的更多。也许我们可以按照上面这种步骤去研究不同LOG buufer大小，不同的日志参数设置，以及不同的服务器负载的情况下innodb到底是如何来写入日志的。&lt;/p&gt;
&lt;p&gt;参考地址：http://mysqlha.blogspot.com/2009/06/buffered-versus-direct-io-for-innodb.html&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602612011/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612011/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.mysqlsupport.cn/analyzing-the-distribution-of-innodb-log-file-writes/feed/</wfw:commentRss><slash:comments>1</slash:comments><description>作者/译者：王佳隆　来源:　http://www.mysqlsupport.cn/ 联系方式：enjoylonely#live.cn  转载请注:译者和出处，并且不能用于商业用途，违者必究. 原文URL：http://www.mysqlperformanceblog.com/2010/07/16/analyzing-the-distribution-of-innodb-log-file-writes/     最近我分析了一下Innodb是如何写多个日志的。我这里有个流量比较高的MySQL系统，使用的是Percona XtraDB存储引擎， 我使用strace命令分别跟踪了innodb如何去日志文件的。通常来说，innodb是以512bytes的大小来写入日志的。 关于这个可以参考：Mark Callaghan explained this and some of its performance implications 。那么innodb什么时候情况下会以大于512bytes者小于512bytes的请求写到日志里呢？ 首先，我通过lsof命令找出日志的文件描述符(handle). # lsof -p $(pidof mysqld) &amp;#124; grep ib_log mysqld  29772 mysql    8uW  REG                8,2   268435456   7143989 /var/lib/mysql/ib_logfile0 mysqld  29772 mysql    9uW  REG                8,2   268435456   7143993 /var/lib/mysql/ib_logfile1 我们可以看到2个日志的handle为8和9，现在我们需要捕获innodb是如何写这2个日志的相关信息。Innodb轮循写日志就是通过这个文件描述符. The following grabs the write sizes out of [...]&lt;img src=&quot;http://www1.feedsky.com/t1/602612011/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612011/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>innodb log</category><category>Linux/Unix技术</category><category>Innodb</category><category>MySQL TIPS/FAQ</category><pubDate>Thu, 19 Aug 2010 13:35:45 +0800</pubDate><author>tom_fans</author><comments>http://www.mysqlsupport.cn/analyzing-the-distribution-of-innodb-log-file-writes/#comments</comments><guid isPermaLink="false">http://www.mysqlsupport.cn/?p=174</guid><dc:creator>tom_fans</dc:creator><fs:srclink>http://www.mysqlsupport.cn/analyzing-the-distribution-of-innodb-log-file-writes/</fs:srclink><fs:srcfeed>http://www.mysqlsupport.cn/feed/</fs:srcfeed><fs:itemid>feedsky/wubx/~7941423/602612011/6051301</fs:itemid></item><item><title>mysqldump 的Tips</title><link>http://item.feedsky.com/~feedsky/wubx/~7941423/602612012/6051301/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;只导出表结构：&lt;br /&gt;
 mysqldump   -d &amp;#8211;trigger=false&lt;br /&gt;
只导出存储过程：&lt;br /&gt;
mysqldump -f  -Rtdn &amp;#8211;triggers=false&lt;br /&gt;
只导出触发器：&lt;br /&gt;
 mysqldump -f  -tdn &amp;#8211;triggers&lt;br /&gt;
只导出事件：&lt;br /&gt;
 mysqldump -f  -Etdn &amp;#8211;triggers=false&lt;br /&gt;
只导出数据：&lt;br /&gt;
mysqldump -f  &amp;#8211;single-transaction &amp;#8211;triggers=false  -t&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602612012/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612012/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.mysqlsupport.cn/mysqldump-%e7%9a%84tips/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究. 只导出表结构：  mysqldump   -d &amp;#8211;trigger=false 只导出存储过程： mysqldump -f  -Rtdn &amp;#8211;triggers=false 只导出触发器：  mysqldump -f  -tdn &amp;#8211;triggers 只导出事件：  mysqldump -f  -Etdn &amp;#8211;triggers=false 只导出数据： mysqldump -f  &amp;#8211;single-transaction &amp;#8211;triggers=false  -t&lt;img src=&quot;http://www1.feedsky.com/t1/602612012/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612012/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>MySQL TIPS/FAQ</category><pubDate>Fri, 13 Aug 2010 22:34:28 +0800</pubDate><author>wubx</author><comments>http://www.mysqlsupport.cn/mysqldump-%e7%9a%84tips/#comments</comments><guid isPermaLink="false">http://www.mysqlsupport.cn/?p=172</guid><dc:creator>wubx</dc:creator><fs:srclink>http://www.mysqlsupport.cn/mysqldump-%e7%9a%84tips/</fs:srclink><fs:srcfeed>http://www.mysqlsupport.cn/feed/</fs:srcfeed><fs:itemid>feedsky/wubx/~7941423/602612012/6051301</fs:itemid></item><item><title>案例:一个引号带来的查询性能提升</title><link>http://item.feedsky.com/~feedsky/wubx/~7941423/602612013/6051301/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt; 作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究.&lt;/strong&gt;&lt;br /&gt;
今天看了一个优化案例觉的挺有代表性,这里记录下来做一个标记，来纪念一下随便的字段定义的问题。&lt;/p&gt;
&lt;p&gt;回忆一下,在表的设计中很多人习惯的把表的结构设计成Varchar(64),Varchar(255)之类的,虽然大多数情况只存了5-15个字节.那么我看一下下面这个案例.&lt;br /&gt;
查询语句:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;	SELECT SQL_NO_CACHE channel, COUNT(channel) AS visitors FROM xxx_sources WHERE client_id = 1301 GROUP BY client_id, channel;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;该表(client_id,channel)是一个组合索引.&lt;br /&gt;
利用explain,看一下执行计划,对于索引使用上看上非常完美&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;mysql&amp;amp;gt; explain SELECT SQL_NO_CACHE channel, COUNT(channel) AS visitors FROM xxx_sources WHERE client_id = 1301 GROUP BY client_id, channel;
+----+-------------+-------------+-------+--------------------+--------------------+---------+------+----------+--------------------------+
| id | select_type | table       | type  | possible_keys      | key                | key_len | ref  | rows     | Extra                    |
+----+-------------+-------------+-------+--------------------+--------------------+---------+------+----------+--------------------------+
|  1 | SIMPLE      | xxx_sources | index | idx_client_channel | idx_client_channel | 1032    | NULL | 20207319 | Using where; Using index |
+----+-------------+-------------+-------+--------------------+--------------------+---------+------+----------+--------------------------+
1 row in set (0.00 sec)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;看一下实际执行:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;mysql&amp;amp;gt; SELECT SQL_NO_CACHE channel, COUNT(channel) AS visitors FROM xxx_sources WHERE client_id = 1301 GROUP BY client_id, channel;
+---------+----------+
| channel | visitors |
+---------+----------+
| NULL    |        0 |
+---------+----------+
1 row in set (11.69 sec)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;实际执行的情况非常的糟糕.传通的想法,这个执行从索引上执行计划上看非常完美了,好象和MySQL没什么关系了. 在去看一下表的设计会发现client_id也是设计成了&lt;br /&gt;
varchar(255).看到这里不防可以使用下面的方法试一下:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;mysql&amp;amp;gt; explain SELECT SQL_NO_CACHE channel, COUNT(channel) AS visitors FROM xxx_sources WHERE client_id = '1301' GROUP BY client_id, channel;
+----+-------------+-------------+------+--------------------+--------------------+---------+-------+--------+--------------------------+
| id | select_type | table       | type | possible_keys      | key                | key_len | ref   | rows   | Extra                    |
+----+-------------+-------------+------+--------------------+--------------------+---------+-------+--------+--------------------------+
|  1 | SIMPLE      | xxx_sources | ref  | idx_client_channel | idx_client_channel | 258     | const | 457184 | Using where; Using index |
+----+-------------+-------------+------+--------------------+--------------------+---------+-------+--------+--------------------------+
1 row in set (0.00 sec)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;从执行计划上来看,差不多,但实际差多了.具体上来看key_len从1032降到了258,执行计划变成了const基于等于的查找,行数从原来千万级到了十万级了.不算也能明白IO&lt;br /&gt;
节省了很多.&lt;br /&gt;
再来看实际执行:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;mysql&amp;amp;gt; SELECT SQL_NO_CACHE channel, COUNT(channel) AS visitors FROM xxx_sources WHERE client_id = '1301' GROUP BY client_id, channel;
+---------+----------+
| channel | visitors |
+---------+----------+
| NULL    |        0 |
+---------+----------+
1 row in set (0.25 sec)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;哇,从11.69秒变成了0.25秒,这是什么概念,优化了多少倍,算一下吧.&lt;/p&gt;
&lt;p&gt;看到这里在想什么呢,记住这个案例,嗯,不错,以后还可以加引号优化一下.那为什么不问一下,能不能在优化了,为什么会这样呢?&lt;br /&gt;
我们先来看一下第一个问题：&lt;br /&gt;
能不能在优化了?&lt;br /&gt;
答案是当然可以了.从索引的长度上来看258还是一个非常大的数据,对于client_id这个字段从名字上来看,也只会存数据型的值,那为什么不用的一个int unsigned去存呢,&lt;br /&gt;
索引的长度马上会从258降到4。这样不是又节省了很多吗？&lt;br /&gt;
接下来看一下第二个问题，为什么会这样呢？&lt;br /&gt;
原因有两点，同时基于一个原则，基于成本的优化器。对于client_id在表的定义时定义成了字符型的值，在查询时传入了数值型的值，需要经过一个数值转换，悲剧的开始，最终&lt;br /&gt;
导致MySQL选择了一个完成的索引去扫描。&lt;/p&gt;
&lt;p&gt;从这个案例上，我们需要注意什么呢？&lt;br /&gt;
合理的选择数据类型，基本工太重要了，就这叫赢在起跑线，一切都不能随便了，别把一个表定义成了降了主建外其它全是Varchar(255)。对数据库的double/float这种字&lt;br /&gt;
段做索引时一定要小心。&lt;/p&gt;
&lt;p&gt;待思考：&lt;br /&gt;
为什么加一个引号后索引长度执行计划变成了258，为什么是258呢，不是别的呢。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602612013/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612013/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.mysqlsupport.cn/quotes-performance/feed/</wfw:commentRss><slash:comments>6</slash:comments><description>作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究. 今天看了一个优化案例觉的挺有代表性,这里记录下来做一个标记，来纪念一下随便的字段定义的问题。 回忆一下,在表的设计中很多人习惯的把表的结构设计成Varchar(64),Varchar(255)之类的,虽然大多数情况只存了5-15个字节.那么我看一下下面这个案例. 查询语句: SELECT SQL_NO_CACHE channel, COUNT(channel) AS visitors FROM xxx_sources WHERE client_id = 1301 GROUP BY client_id, channel; 该表(client_id,channel)是一个组合索引. 利用explain,看一下执行计划,对于索引使用上看上非常完美 mysql&amp;#38;gt; explain SELECT SQL_NO_CACHE channel, COUNT(channel) AS visitors FROM xxx_sources WHERE client_id = 1301 GROUP BY client_id, channel; +----+-------------+-------------+-------+--------------------+--------------------+---------+------+----------+--------------------------+ &amp;#124; id &amp;#124; select_type &amp;#124; table &amp;#124; type &amp;#124; possible_keys &amp;#124; [...]&lt;img src=&quot;http://www1.feedsky.com/t1/602612013/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612013/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>引号优能提升</category><category>优化案例</category><pubDate>Wed, 12 May 2010 11:11:09 +0800</pubDate><author>wubx</author><comments>http://www.mysqlsupport.cn/quotes-performance/#comments</comments><guid isPermaLink="false">http://www.mysqlsupport.cn/?p=163</guid><dc:creator>wubx</dc:creator><fs:srclink>http://www.mysqlsupport.cn/quotes-performance/</fs:srclink><fs:srcfeed>http://www.mysqlsupport.cn/feed/</fs:srcfeed><fs:itemid>feedsky/wubx/~7941423/602612013/6051301</fs:itemid></item><item><title>Linux运维Tips(－)</title><link>http://item.feedsky.com/~feedsky/wubx/~7941423/602612014/6051301/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;        作者：吴炳锡　来源&lt;/strong&gt;&lt;strong&gt;:http://www.mysqlsupport.cn/ &lt;/strong&gt;&lt;strong&gt;联系方式：&lt;/strong&gt;&lt;strong&gt; wubingxi#gmail.com &lt;/strong&gt;&lt;strong&gt;转载请注&lt;/strong&gt;&lt;strong&gt;:&lt;/strong&gt;&lt;strong&gt;译者和出处，并且不能用于商业用途，违者必究&lt;/strong&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;       对于一个Linux运维团队，在管理一些机器时，难免会出现一些尴嘎的事情，A同事在操作的时间，B同事也上去操作了;本来工作时间上去时，如果看一下磁盘使用状态，也许就必免了假日收到了短信报警。对于这些问题怎么处理呢？&lt;/p&gt;
&lt;p&gt;      聪明的朋友说，登录到系统后运行一下w 和df -h不就行了。是的，这是一个很好的解决方法。但人总是懒惰的。要不，也不会出那么事了。&lt;/p&gt;
&lt;p&gt;        这里提供一个自动化每一个用户登录上去，自动把df  -h 和w的结果输出到终端。实现方法： 编辑~/.profile 或是 ~/.bashrc （提倡改.profile）在最后添加：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;echo &amp;quot;=============================&amp;quot;
&amp;nbsp;
df -h
&amp;nbsp;
echo &amp;quot;=============================&amp;quot;
&amp;nbsp;
w&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;       然后再登录到系统中时就会自动显示：&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;=============================
&amp;nbsp;
Filesystem            Size  Used Avail Use% Mounted on
&amp;nbsp;
/dev/sda2             3.9G  2.4G  1.4G  65% /
&amp;nbsp;
/dev/sda1             122M   12M  104M  11% /boot
&amp;nbsp;
tmpfs                 250M     0  250M   0% /dev/shm
&amp;nbsp;
/dev/sdb1           11G  1.9G  9.1G  17% /data
&amp;nbsp;
=============================
&amp;nbsp;
 09:15:00 up 28 days, 20 min,  1 user,  load average: 0.00, 0.00, 0.00
&amp;nbsp;
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
wubx     pts/0    10.10.15.72      09:15    0.00s  0.02s  0.02s -bash&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602612014/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612014/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.mysqlsupport.cn/linux-tps-1/feed/</wfw:commentRss><slash:comments>2</slash:comments><description>        作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究.        对于一个Linux运维团队，在管理一些机器时，难免会出现一些尴嘎的事情，A同事在操作的时间，B同事也上去操作了;本来工作时间上去时，如果看一下磁盘使用状态，也许就必免了假日收到了短信报警。对于这些问题怎么处理呢？       聪明的朋友说，登录到系统后运行一下w 和df -h不就行了。是的，这是一个很好的解决方法。但人总是懒惰的。要不，也不会出那么事了。         这里提供一个自动化每一个用户登录上去，自动把df  -h 和w的结果输出到终端。实现方法： 编辑~/.profile 或是 ~/.bashrc （提倡改.profile）在最后添加： echo &amp;#34;=============================&amp;#34; &amp;#160; df -h &amp;#160; echo &amp;#34;=============================&amp;#34; &amp;#160; w        然后再登录到系统中时就会自动显示： ============================= &amp;#160; Filesystem            Size  Used Avail Use% Mounted on &amp;#160; /dev/sda2             3.9G  2.4G  1.4G  65% / &amp;#160; /dev/sda1             122M   12M  104M  11% /boot &amp;#160; [...]&lt;img src=&quot;http://www1.feedsky.com/t1/602612014/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612014/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Linux/Unix技术</category><pubDate>Thu, 08 Apr 2010 09:21:00 +0800</pubDate><author>wubx</author><comments>http://www.mysqlsupport.cn/linux-tps-1/#comments</comments><guid isPermaLink="false">http://www.mysqlsupport.cn/?p=156</guid><dc:creator>wubx</dc:creator><fs:srclink>http://www.mysqlsupport.cn/linux-tps-1/</fs:srclink><fs:srcfeed>http://www.mysqlsupport.cn/feed/</fs:srcfeed><fs:itemid>feedsky/wubx/~7941423/602612014/6051301</fs:itemid></item><item><title>利用tcpflow抓取SQL</title><link>http://item.feedsky.com/~feedsky/wubx/~7941423/602612015/6051301/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt; 作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;以前介绍过利用tcpdump抓取相关的SQL，但是在识别方面并不友好，只是能看到相关的SQL。今天推荐一个强劲的工具：tcpflow加一些牛人们开发的工具从而实现友好的显示相关的SQL。&lt;br /&gt;
相关工具下载，功先欲其事，必先利其器：&lt;br /&gt;
Tcpflow 下载：http://www.circlemud.org/~jelson/software/tcpflow/&lt;br /&gt;
extract_queries.： http://mysqldump.azundris.com/uploads/extract_queries.c&lt;br /&gt;
&lt;strong&gt; 使用方法：&lt;/strong&gt;&lt;br /&gt;
#mkdir flow&lt;br /&gt;
#cd flow&lt;br /&gt;
#tcpflow –i eth0 dst MasterIP and port 3306&lt;br /&gt;
等待一会 Ctrl+c&lt;/p&gt;
&lt;p&gt;#cd ..&lt;br /&gt;
# find flow –print0 |xargs -0 extract_queries –u &amp;gt;slow&lt;br /&gt;
#mysqldumpslow  -s c slow &amp;gt;stats&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;不足之处：&lt;/strong&gt;&lt;br /&gt;
不能真正把SQL的执行时间记录下来，因为这个只是网络IO的流量抓取，同时这个也不能把真正的连接数据库的用户抓下来。&lt;br /&gt;
原文地址：http://mysqldump.azundris.com/archives/85-Getting-SQL-from-a-SPAN-port.html&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602612015/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612015/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.mysqlsupport.cn/tcpflow-dump-sql/feed/</wfw:commentRss><slash:comments>2</slash:comments><description>作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究. 以前介绍过利用tcpdump抓取相关的SQL，但是在识别方面并不友好，只是能看到相关的SQL。今天推荐一个强劲的工具：tcpflow加一些牛人们开发的工具从而实现友好的显示相关的SQL。 相关工具下载，功先欲其事，必先利其器： Tcpflow 下载：http://www.circlemud.org/~jelson/software/tcpflow/ extract_queries.： http://mysqldump.azundris.com/uploads/extract_queries.c 使用方法： #mkdir flow #cd flow #tcpflow –i eth0 dst MasterIP and port 3306 等待一会 Ctrl+c #cd .. # find flow –print0 &amp;#124;xargs -0 extract_queries –u &amp;#62;slow #mysqldumpslow -s c slow &amp;#62;stats 不足之处： 不能真正把SQL的执行时间记录下来，因为这个只是网络IO的流量抓取，同时这个也不能把真正的连接数据库的用户抓下来。 原文地址：http://mysqldump.azundris.com/archives/85-Getting-SQL-from-a-SPAN-port.html&lt;img src=&quot;http://www1.feedsky.com/t1/602612015/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612015/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Linux/Unix技术</category><category>抓取SQL</category><pubDate>Wed, 31 Mar 2010 15:36:40 +0800</pubDate><author>wubx</author><comments>http://www.mysqlsupport.cn/tcpflow-dump-sql/#comments</comments><guid isPermaLink="false">http://www.mysqlsupport.cn/?p=154</guid><dc:creator>wubx</dc:creator><fs:srclink>http://www.mysqlsupport.cn/tcpflow-dump-sql/</fs:srclink><fs:srcfeed>http://www.mysqlsupport.cn/feed/</fs:srcfeed><fs:itemid>feedsky/wubx/~7941423/602612015/6051301</fs:itemid></item><item><title>FaceBook开始关注MySQL5.1了</title><link>http://item.feedsky.com/~feedsky/wubx/~7941423/602612016/6051301/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt; 作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; &lt;/strong&gt; FaceBook开始关注MySQL5.1了 ,说明MySQL5.1开始靠谱了。&lt;/p&gt;
&lt;p&gt;MySQL-5.1面世将近一年多的时间了，在2009年大家对MySQL-5.1试用，放弃，最终的无耐。但MySQL总的还是在进步的，差不多到MySQL-5.1.41基本上处于稳定阶段了。到了MySQL-5.1.44好象更是稳定了，本人觉的可以试着用到生产环境了。在Mail列表中，看到好多人对MySQL5-1.44和MySQL-5.1.45有了很高的信心。&lt;/p&gt;
&lt;p&gt;FaceBook的关注毕将会把自已对MySQL的改善也会加入到他使用的版本，Facebook将会使用MySQL-5.1.44做会一个基本版本进行Patch。项目网址：&lt;a href=&quot;https://launchpad.net/mysqlatfacebook/51&quot;&gt;https://launchpad.net/mysqlatfacebook/51&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;如果对MySQL5.1比较关注，也请保持对这个项目关注。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602612016/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612016/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.mysqlsupport.cn/facebook-mysql/feed/</wfw:commentRss><slash:comments>2</slash:comments><description>作者：吴炳锡　来源:http://www.mysqlsupport.cn/ 联系方式： wubingxi#gmail.com 转载请注:译者和出处，并且不能用于商业用途，违者必究. FaceBook开始关注MySQL5.1了 ,说明MySQL5.1开始靠谱了。 MySQL-5.1面世将近一年多的时间了，在2009年大家对MySQL-5.1试用，放弃，最终的无耐。但MySQL总的还是在进步的，差不多到MySQL-5.1.41基本上处于稳定阶段了。到了MySQL-5.1.44好象更是稳定了，本人觉的可以试着用到生产环境了。在Mail列表中，看到好多人对MySQL5-1.44和MySQL-5.1.45有了很高的信心。 FaceBook的关注毕将会把自已对MySQL的改善也会加入到他使用的版本，Facebook将会使用MySQL-5.1.44做会一个基本版本进行Patch。项目网址：https://launchpad.net/mysqlatfacebook/51 如果对MySQL5.1比较关注，也请保持对这个项目关注。&lt;img src=&quot;http://www1.feedsky.com/t1/602612016/wubx/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/wubx/~7941423/602612016/6051301/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>新闻</category><pubDate>Fri, 19 Mar 2010 10:08:18 +0800</pubDate><author>wubx</author><comments>http://www.mysqlsupport.cn/facebook-mysql/#comments</comments><guid isPermaLink="false">http://www.mysqlsupport.cn/?p=151</guid><dc:creator>wubx</dc:creator><fs:srclink>http://www.mysqlsupport.cn/facebook-mysql/</fs:srclink><fs:srcfeed>http://www.mysqlsupport.cn/feed/</fs:srcfeed><fs:itemid>feedsky/wubx/~7941423/602612016/6051301</fs:itemid></item></channel></rss>
