﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-miaoyachun-随笔分类-MySQL</title><link>http://www.blogjava.net/miaoyachun/category/50698.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 04 Jul 2012 07:07:42 GMT</lastBuildDate><pubDate>Wed, 04 Jul 2012 07:07:42 GMT</pubDate><ttl>60</ttl><item><title>SQL连接查询</title><link>http://www.blogjava.net/miaoyachun/archive/2012/07/04/382161.html</link><dc:creator>Milo的海域</dc:creator><author>Milo的海域</author><pubDate>Wed, 04 Jul 2012 01:35:00 GMT</pubDate><guid>http://www.blogjava.net/miaoyachun/archive/2012/07/04/382161.html</guid><wfw:comment>http://www.blogjava.net/miaoyachun/comments/382161.html</wfw:comment><comments>http://www.blogjava.net/miaoyachun/archive/2012/07/04/382161.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/miaoyachun/comments/commentRss/382161.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/miaoyachun/services/trackbacks/382161.html</trackback:ping><description><![CDATA[关于SQL连接查询的图形表示<a title="SQL连接查询" href="http://www.dbabeta.com/2011/visual-sql-joins.html">SQL连接查询</a><img src ="http://www.blogjava.net/miaoyachun/aggbug/382161.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/miaoyachun/" target="_blank">Milo的海域</a> 2012-07-04 09:35 <a href="http://www.blogjava.net/miaoyachun/archive/2012/07/04/382161.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>About cannot core dump after setuid on linux server</title><link>http://www.blogjava.net/miaoyachun/archive/2012/05/30/379560.html</link><dc:creator>Milo的海域</dc:creator><author>Milo的海域</author><pubDate>Wed, 30 May 2012 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/miaoyachun/archive/2012/05/30/379560.html</guid><wfw:comment>http://www.blogjava.net/miaoyachun/comments/379560.html</wfw:comment><comments>http://www.blogjava.net/miaoyachun/archive/2012/05/30/379560.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/miaoyachun/comments/commentRss/379560.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/miaoyachun/services/trackbacks/379560.html</trackback:ping><description><![CDATA[<div><pre>In many cases, binaries can no longer dump core after calling setuid(). <br />Under Linux it is possible to re-enable this with a system call.<br /><br />e.g.<br /><br /></pre><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">+</span><span style="color: #000000; ">#ifdef&nbsp;__linux__<br /></span><span style="color: #000000; ">+</span><span style="color: #000000; ">#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">sys</span><span style="color: #000000; ">/</span><span style="color: #000000; ">prctl.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">+</span><span style="color: #0000FF; ">#endif</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">+</span><span style="color: #000000; "><br />&nbsp;#ifdef&nbsp;HAVE_purify<br />&nbsp;</span><span style="color: #0000FF; ">#define</span><span style="color: #000000; ">&nbsp;IF_PURIFY(A,B)&nbsp;(A)</span><span style="color: #000000; "><br />&nbsp;</span><span style="color: #0000FF; ">#else</span><span style="color: #000000; "><br />@@&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1362</span><span style="color: #000000; ">,</span><span style="color: #000000; ">6</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1366</span><span style="color: #000000; ">,</span><span style="color: #000000; ">10</span><span style="color: #000000; ">&nbsp;@@<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql_perror(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">setuid</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unireg_abort(</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #000000; ">+</span><span style="color: #000000; ">#ifdef&nbsp;__linux__<br /></span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;&nbsp;</span><span style="color: #008000; ">/*</span><span style="color: #008000; ">&nbsp;inform&nbsp;kernel&nbsp;that&nbsp;process&nbsp;is&nbsp;dumpable&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;&nbsp;prctl(PR_SET_DUMPABLE,</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br /></span><span style="color: #000000; ">+</span><span style="color: #0000FF; ">#endif</span><span style="color: #000000; ">&nbsp;/*&nbsp;__linux__&nbsp;*/</span><span style="color: #000000; "><br />&nbsp;</span><span style="color: #0000FF; ">#endif</span></div><pre>Manual of prctl<br /></pre><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PR_SET_DUMPABLE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Since&nbsp;Linux&nbsp;</span><span style="color: #000000; ">2.4</span><span style="color: #000000; ">)&nbsp;Set&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;flag&nbsp;determining&nbsp;whether&nbsp;core&nbsp;dumps&nbsp;are&nbsp;produced&nbsp;for&nbsp;this&nbsp;process&nbsp;&nbsp;upon&nbsp;&nbsp;delivery&nbsp;&nbsp;of&nbsp;&nbsp;a<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signal&nbsp;&nbsp;whose&nbsp;&nbsp;default&nbsp;&nbsp;behaviour&nbsp;&nbsp;is&nbsp;&nbsp;to&nbsp;&nbsp;produce&nbsp;a&nbsp;core&nbsp;dump.&nbsp;&nbsp;(Normally&nbsp;this&nbsp;flag&nbsp;is&nbsp;set&nbsp;for&nbsp;a&nbsp;process&nbsp;by&nbsp;default</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;but&nbsp;it&nbsp;is<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cleared&nbsp;when&nbsp;a&nbsp;set-user-ID&nbsp;or&nbsp;set-group-ID&nbsp;program&nbsp;is&nbsp;executed&nbsp;and&nbsp;also&nbsp;by&nbsp;various&nbsp;system&nbsp;calls&nbsp;that&nbsp;&nbsp;manipulate&nbsp;&nbsp;process&nbsp;&nbsp;UIDs<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;&nbsp;GIDs).&nbsp;&nbsp;In&nbsp;kernels&nbsp;up&nbsp;to&nbsp;and&nbsp;including&nbsp;</span><span style="color: #000000; ">2.6.12</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;arg2&nbsp;must&nbsp;be&nbsp;either&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;(process&nbsp;is&nbsp;not&nbsp;dumpable)&nbsp;or&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&nbsp;(process&nbsp;is&nbsp;dumpable).<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Since&nbsp;kernel&nbsp;</span><span style="color: #000000; ">2.6.13</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;the&nbsp;value&nbsp;</span><span style="color: #000000; ">2</span><span style="color: #000000; ">&nbsp;is&nbsp;also&nbsp;permitted</span><span style="color: #008000; ">;</span><span style="color: #008000; ">&nbsp;this&nbsp;causes&nbsp;any&nbsp;binary&nbsp;which&nbsp;normally&nbsp;would&nbsp;not&nbsp;&nbsp;be&nbsp;&nbsp;dumped&nbsp;&nbsp;to&nbsp;&nbsp;be&nbsp;&nbsp;dumped</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readable&nbsp;by&nbsp;root&nbsp;only.&nbsp;&nbsp;(See&nbsp;also&nbsp;the&nbsp;description&nbsp;of&nbsp;/proc/sys/fs/suid_dumpable&nbsp;in&nbsp;proc(</span><span style="color: #000000; ">5</span><span style="color: #000000; ">).)<br /></span></div><pre><br /><br />Ref: <a href="http://bugs.mysql.com/bug.php?id=21723">http://bugs.mysql.com/bug.php?id=21723</a><br />Some files about linux core dump:<br /></pre><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">/proc/sys/fs/suid_dumpable<br />/etc/profile<br />/etc/security/limits.conf<br />/proc/sys/kernel/core_pattern</span></div><pre><br /></pre></div><img src ="http://www.blogjava.net/miaoyachun/aggbug/379560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/miaoyachun/" target="_blank">Milo的海域</a> 2012-05-30 15:32 <a href="http://www.blogjava.net/miaoyachun/archive/2012/05/30/379560.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sysbench 0.5介绍</title><link>http://www.blogjava.net/miaoyachun/archive/2012/05/14/378114.html</link><dc:creator>Milo的海域</dc:creator><author>Milo的海域</author><pubDate>Mon, 14 May 2012 08:10:00 GMT</pubDate><guid>http://www.blogjava.net/miaoyachun/archive/2012/05/14/378114.html</guid><wfw:comment>http://www.blogjava.net/miaoyachun/comments/378114.html</wfw:comment><comments>http://www.blogjava.net/miaoyachun/archive/2012/05/14/378114.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/miaoyachun/comments/commentRss/378114.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/miaoyachun/services/trackbacks/378114.html</trackback:ping><description><![CDATA[0.5版本的sysbench已经支持multi-table<br /><br />Download src code<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">bzr&nbsp;branch&nbsp;lp:sysbench</span></div><br />make后就可以执行了<br /><br />Percona对这个版本的sysbench的参数有个不错的wiki page:<br /><a href="http://www.percona.com/docs/wiki/benchmark:sysbench:olpt.lua">http://www.percona.com/docs/wiki/benchmark:sysbench:olpt.lua</a><br /><br />下面这个文章对0.5的sysbench有个比较全面的介绍:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">./sysbench&nbsp;--mysql-host</span><span style="color: #000000; ">=</span><span style="color: #000000; ">$host1&nbsp;--mysql-port</span><span style="color: #000000; ">=</span><span style="color: #000000; ">3306</span><span style="color: #000000; ">&nbsp;--mysql-user</span><span style="color: #000000; ">=</span><span style="color: #000000; ">***&nbsp;--mysql-password</span><span style="color: #000000; ">=</span><span style="color: #000000; ">***&nbsp;--test</span><span style="color: #000000; ">=</span><span style="color: #000000; ">/path/to/sysbench/tests/db/oltp.lua&nbsp;--oltp-tables-count</span><span style="color: #000000; ">=</span><span style="color: #000000; ">$oltp_table_num&nbsp;--num-threads</span><span style="color: #000000; ">=</span><span style="color: #000000; ">$num_thread&nbsp;--max-requests</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;--max-time</span><span style="color: #000000; ">=</span><span style="color: #000000; ">$max_time&nbsp;prepare<br /><br />./sysbench&nbsp;--mysql-host</span><span style="color: #000000; ">=</span><span style="color: #000000; ">$host1&nbsp;--mysql-port</span><span style="color: #000000; ">=</span><span style="color: #000000; ">3306</span><span style="color: #000000; ">&nbsp;--mysql-user</span><span style="color: #000000; ">=</span><span style="color: #000000; ">***&nbsp;--mysql-password</span><span style="color: #000000; ">=</span><span style="color: #000000; ">***&nbsp;--test</span><span style="color: #000000; ">=</span><span style="color: #000000; ">/path/to/sysbench/tests/db/oltp.lua&nbsp;--oltp-tables-count</span><span style="color: #000000; ">=</span><span style="color: #000000; ">$oltp_table_num&nbsp;--num-threads</span><span style="color: #000000; ">=</span><span style="color: #000000; ">$num_thread&nbsp;--max-requests</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;--max-time</span><span style="color: #000000; ">=</span><span style="color: #000000;">$max_time&nbsp;run</span></div><br /><br />补充下，如果要使用 --max-time这个参数， 需要配合--max-requests=0。<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;--max-requests</span><span style="color: #000000; ">=</span><span style="color: #000000; ">N&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;limit&nbsp;for&nbsp;total&nbsp;number&nbsp;of&nbsp;requests&nbsp;</span><span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">10000</span><span style="color: #800000; font-weight: bold;">]</span><span style="color: #000000; "><br /></span></div>如果N=0将取消max-requests的限制<br /><img src ="http://www.blogjava.net/miaoyachun/aggbug/378114.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/miaoyachun/" target="_blank">Milo的海域</a> 2012-05-14 16:10 <a href="http://www.blogjava.net/miaoyachun/archive/2012/05/14/378114.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>About mysqldump of MySQL 5.5 backup information_schema &amp; performance_schema databases</title><link>http://www.blogjava.net/miaoyachun/archive/2012/05/11/377894.html</link><dc:creator>Milo的海域</dc:creator><author>Milo的海域</author><pubDate>Fri, 11 May 2012 06:01:00 GMT</pubDate><guid>http://www.blogjava.net/miaoyachun/archive/2012/05/11/377894.html</guid><wfw:comment>http://www.blogjava.net/miaoyachun/comments/377894.html</wfw:comment><comments>http://www.blogjava.net/miaoyachun/archive/2012/05/11/377894.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/miaoyachun/comments/commentRss/377894.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/miaoyachun/services/trackbacks/377894.html</trackback:ping><description><![CDATA[<div>MySQL 5.5多出了两个新数据库<span style="color: #000000; "> information_schema</span> ＆<span style="color: #000000;"> performance_schema<br /><div><br /> <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #000000; ">mysql&gt;&nbsp;show&nbsp;databases</span><span style="color: #008000; ">;<br /></span><span style="color: #000000;">+--------------------+<br />|&nbsp;Database&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br />+--------------------+<br />|&nbsp;information_schema&nbsp;|&nbsp;<br />|&nbsp;mysql&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;<br />|&nbsp;performance_schema&nbsp;|&nbsp;<br />|&nbsp;test&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;<br />+--------------------+</span>&nbsp;&nbsp;&nbsp; </div></div><br />但是用mysqldump去备份这两个数据库的时候都会报错<br /><div><br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><span style="color: #000000; ">mysqldump:&nbsp;Got&nbsp;error:&nbsp;</span><span style="color: #000000; ">1044</span><span style="color: #000000; ">:&nbsp;Access&nbsp;denied&nbsp;for&nbsp;user&nbsp;'root'@'localhost'&nbsp;to&nbsp;database&nbsp;'information_schema'&nbsp;when&nbsp;using&nbsp;LOCK&nbsp;TABLES<br /><br />mysqldump:&nbsp;Got&nbsp;error:&nbsp;</span><span style="color: #000000; ">1142</span><span style="color: #000000; ">:&nbsp;SELECT</span><span style="color: #000000; ">,</span><span style="color: #000000; ">LOCK&nbsp;TABL&nbsp;command&nbsp;denied&nbsp;to&nbsp;user&nbsp;'root'@'localhost'&nbsp;for&nbsp;table&nbsp;'cond_instances'&nbsp;when&nbsp;using&nbsp;LOCK&nbsp;TABLES</span></div> </div><br />用--all-databases备份时也不会备份这两个数据库<br />官方文档里解释到：<br /><div>http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html<br /><br />总结一下，如果一定要用mysqldump去备份这两个数据库不是不可以，但是得disable lock tables。 我用的是：<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">--database&nbsp;information_schema&nbsp;--lock-tables</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span></div></div><br /><br /></span></div><img src ="http://www.blogjava.net/miaoyachun/aggbug/377894.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/miaoyachun/" target="_blank">Milo的海域</a> 2012-05-11 14:01 <a href="http://www.blogjava.net/miaoyachun/archive/2012/05/11/377894.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几个ssh管道用法</title><link>http://www.blogjava.net/miaoyachun/archive/2012/05/09/377721.html</link><dc:creator>Milo的海域</dc:creator><author>Milo的海域</author><pubDate>Wed, 09 May 2012 09:13:00 GMT</pubDate><guid>http://www.blogjava.net/miaoyachun/archive/2012/05/09/377721.html</guid><wfw:comment>http://www.blogjava.net/miaoyachun/comments/377721.html</wfw:comment><comments>http://www.blogjava.net/miaoyachun/archive/2012/05/09/377721.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/miaoyachun/comments/commentRss/377721.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/miaoyachun/services/trackbacks/377721.html</trackback:ping><description><![CDATA[原来ssh可以这样用<br /><br /><strong>1.</strong> <strong>remote file copy</strong><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">root@xen74v01&nbsp;~</span><span style="color: #800000; font-weight: bold; ">]</span><span style="color: #000000; ">#&nbsp;cat&nbsp;test.pl<br />#!/usr/bin/perl<br />print&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">eth0.74</span><span style="color: #000000; ">"</span><span style="color: #000000; ">=</span><span style="color: #000000; ">~/(\w+)/</span><span style="color: #008000; ">;<br /></span><span style="color: #000000; ">print&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br /></span><span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">root@xen74v01&nbsp;~</span><span style="color: #800000; font-weight: bold; ">]</span><span style="color: #000000; ">#&nbsp;cat&nbsp;test.pl&nbsp;|&nbsp;ssh&nbsp;</span><span style="color: #000000; ">10.1.74.76</span><span style="color: #000000; ">&nbsp;'cat&nbsp;-&nbsp;&gt;&nbsp;/tmp/test.pl'</span></div><br />拷贝文件时，如果文件很大，又不想影响网络IO可以用pv工具进行流量控制<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">pv&nbsp;-L10m&nbsp;test.pl&nbsp;|&nbsp;ssh&nbsp;</span><span style="color: #000000; ">10.1.74.76</span><span style="color: #000000;">&nbsp;'cat&nbsp;-&nbsp;&gt;&nbsp;/tmp/test.pl'</span></div>这里pv的行为跟cat比较类似，但是支持IO流量控制，这里设置10M/s.<br /><br /><strong>2. local script remote execute</strong><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">root@xen74v01&nbsp;~</span><span style="color: #800000; font-weight: bold; ">]</span><span style="color: #000000; ">#&nbsp;cat&nbsp;test.pl<br />#!/usr/bin/perl<br />print&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">eth0.74</span><span style="color: #000000; ">"</span><span style="color: #000000; ">=</span><span style="color: #000000; ">~/(\w+)/</span><span style="color: #008000; ">;<br /></span><span style="color: #000000; ">print&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">\n</span><span style="color: #000000; ">"</span><span style="color: #008000; ">;<br /></span><span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">root@xen74v01&nbsp;~</span><span style="color: #800000; font-weight: bold; ">]</span><span style="color: #000000; ">#&nbsp;perl&nbsp;test.pl<br />eth0<br /></span><span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">root@xen74v01&nbsp;~</span><span style="color: #800000; font-weight: bold; ">]</span><span style="color: #000000; ">#&nbsp;cat&nbsp;test.pl&nbsp;|&nbsp;ssh&nbsp;</span><span style="color: #000000; ">10.1.74.76</span><span style="color: #000000; ">&nbsp;'perl'<br />eth0<br /></span><span style="color: #800000; font-weight: bold; ">[</span><span style="color: #800000; ">root@xen74v01&nbsp;~</span><span style="color: #800000; font-weight: bold; ">]</span><span style="color: #000000; ">#&nbsp;ssh&nbsp;</span><span style="color: #000000; ">10.1.74.76</span><span style="color: #000000; ">&nbsp;'perl'&nbsp;&lt;&nbsp;test.pl<br />eth0<br /></span></div><br />这样就不用把脚本拷贝到远端去执行了<br /><br />参考：<br /><div>http://linux.icydog.net/ssh/piping.php</div><div>http://www.ivarch.com/programs/quickref/pv.shtml</div><div>http://www.mysqlperformanceblog.com/2009/05/20/hint-throttling-xtrabackup/</div><img src ="http://www.blogjava.net/miaoyachun/aggbug/377721.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/miaoyachun/" target="_blank">Milo的海域</a> 2012-05-09 17:13 <a href="http://www.blogjava.net/miaoyachun/archive/2012/05/09/377721.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>innobackupex &amp; FLUSH TABLES WITH READ LOCK</title><link>http://www.blogjava.net/miaoyachun/archive/2012/04/10/373726.html</link><dc:creator>Milo的海域</dc:creator><author>Milo的海域</author><pubDate>Tue, 10 Apr 2012 09:19:00 GMT</pubDate><guid>http://www.blogjava.net/miaoyachun/archive/2012/04/10/373726.html</guid><wfw:comment>http://www.blogjava.net/miaoyachun/comments/373726.html</wfw:comment><comments>http://www.blogjava.net/miaoyachun/archive/2012/04/10/373726.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/miaoyachun/comments/commentRss/373726.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/miaoyachun/services/trackbacks/373726.html</trackback:ping><description><![CDATA[<div>当innobackupex 做全备的时候(my version 1.6.5), 当备份到MyISAM数据时, innobackupex 会flush tables with read lock, 来禁止MyISAM的写操作. (假设没有--no-lock选项)<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">sub&nbsp;backup&nbsp;{<br /></span><span style="color: #000000; "><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">!</span><span style="color: #800080; ">$option_incremental</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&amp;&amp;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!</span><span style="color: #800080; ">$option_no_lock</span><span style="color: #000000; ">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;make&nbsp;a&nbsp;prep&nbsp;copy&nbsp;before&nbsp;locking&nbsp;tables,&nbsp;if&nbsp;using&nbsp;rsync</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;backup_files(</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;flush&nbsp;tables&nbsp;with&nbsp;read&nbsp;lock</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_lockall();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #800080; ">$option_slave_info</span><span style="color: #000000; ">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;write_slave_info();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #000000; "><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #000000; "><br />}<br /><br />sub&nbsp;mysql_lockall&nbsp;{<br /></span><span style="color: #000000; "><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(compare_versions(</span><span style="color: #800080; ">$mysql_server_version</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">4.0.22</span><span style="color: #000000; ">'</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">||</span><span style="color: #000000; ">&nbsp;compare_versions(</span><span style="color: #800080; ">$mysql_server_version</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">4.1.7</span><span style="color: #000000; ">'</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;MySQL&nbsp;server&nbsp;version&nbsp;is&nbsp;4.0.22&nbsp;or&nbsp;4.1.7</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_send&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">COMMIT;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_send&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">FLUSH&nbsp;TABLES&nbsp;WITH&nbsp;READ&nbsp;LOCK;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;MySQL&nbsp;server&nbsp;version&nbsp;is&nbsp;other&nbsp;than&nbsp;4.0.22&nbsp;or&nbsp;4.1.7</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_send&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">FLUSH&nbsp;TABLES&nbsp;WITH&nbsp;READ&nbsp;LOCK;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_send&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">COMMIT;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;write_binlog_info;<br /><br /></span><span style="color: #000000; "><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #000000;"><br />}</span></div><br />但是如果备份的时候还有很重的workload, "flush tables with read lock" 可能会比较耗时. 这里参考了：<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">http://www.mysqlperformanceblog.com/</span><span style="color: #000000; ">2010</span><span style="color: #000000; ">/</span><span style="color: #000000; ">04</span><span style="color: #000000; ">/</span><span style="color: #000000; ">24</span><span style="color: #000000; ">/how-fast-is-flush-tables-with-read-lock/</span></div><br />看了下--no-lock的选项说明：<br />  </div><div><br /> <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;--no-lock<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use&nbsp;this&nbsp;option&nbsp;to&nbsp;disable&nbsp;table&nbsp;lock&nbsp;with&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">FLUSH&nbsp;TABLES&nbsp;WITH&nbsp;READ<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LOCK</span><span style="color: #000000; ">"</span><span style="color: #000000; ">.&nbsp;Use&nbsp;it&nbsp;only&nbsp;if&nbsp;ALL&nbsp;your&nbsp;tables&nbsp;are&nbsp;InnoDB&nbsp;and&nbsp;you&nbsp;DO&nbsp;NOT&nbsp;CARE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;about&nbsp;the&nbsp;binary&nbsp;log&nbsp;position&nbsp;of&nbsp;the&nbsp;backup.</span></div></div><br />如果我们能保证workload仅仅是innodb相关的，我们可以使用这个选项。<br /><br />记得在1.5版本的时候，使用--no-lock选项会导致xtrabackup_slave_info没有保存备份时的logfile &amp; pos. 这个问题在1.6.5被解决了<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #800080; ">$option_slave_info</span><span style="color: #000000; ">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;write_slave_info();<br />&nbsp;&nbsp;&nbsp;&nbsp;}</span></div><br />xtrabackup_slave_info &amp; xtrabackup_binlog_info文件在1.5版本是在<span style="color: #000000; ">mysql_lockall</span>函数里更新的。但是新版本已经把<span style="color: #000000; ">write_slave_info</span>提到<span style="color: #000000; ">mysql_lockall</span>外面了。<br /><img src ="http://www.blogjava.net/miaoyachun/aggbug/373726.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/miaoyachun/" target="_blank">Milo的海域</a> 2012-04-10 17:19 <a href="http://www.blogjava.net/miaoyachun/archive/2012/04/10/373726.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>innobackupex 1.6.4 need empty datadir when copy-back</title><link>http://www.blogjava.net/miaoyachun/archive/2012/04/03/373276.html</link><dc:creator>Milo的海域</dc:creator><author>Milo的海域</author><pubDate>Tue, 03 Apr 2012 05:01:00 GMT</pubDate><guid>http://www.blogjava.net/miaoyachun/archive/2012/04/03/373276.html</guid><wfw:comment>http://www.blogjava.net/miaoyachun/comments/373276.html</wfw:comment><comments>http://www.blogjava.net/miaoyachun/archive/2012/04/03/373276.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/miaoyachun/comments/commentRss/373276.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/miaoyachun/services/trackbacks/373276.html</trackback:ping><description><![CDATA[When restore by xtrabackup '--copy-back' with version 1.6.4, you may get error:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">IMPORTANT:&nbsp;Please&nbsp;check&nbsp;that&nbsp;the&nbsp;copy-back&nbsp;run&nbsp;completes&nbsp;successfully.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;At&nbsp;the&nbsp;end&nbsp;of&nbsp;a&nbsp;successful&nbsp;copy-back&nbsp;run&nbsp;innobackupex-</span><span style="color: #000000; ">1.6.4</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prints&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">completed&nbsp;OK!</span><span style="color: #000000; ">"</span><span style="color: #000000; ">.<br /><br />Original&nbsp;data&nbsp;directory&nbsp;is&nbsp;not&nbsp;empty!&nbsp;at&nbsp;innobackupex-</span><span style="color: #000000; ">1.6.4</span><span style="color: #000000; ">&nbsp;line&nbsp;</span><span style="color: #000000; ">544</span><span style="color: #000000; ">.</span></div><br />when read those lines we found that:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;check&nbsp;that&nbsp;original&nbsp;data&nbsp;directories&nbsp;exist&nbsp;and&nbsp;they&nbsp;are&nbsp;empty<br />&nbsp;&nbsp;&nbsp;&nbsp;if_directory_exists_and_empty($orig_datadir</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Original&nbsp;data</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)</span><span style="color: #008000; ">;<br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;if_directory_exists_and_empty($orig_ibdata_dir</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Original&nbsp;InnoDB&nbsp;data</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)</span><span style="color: #008000; ">;<br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;if_directory_exists_and_empty($orig_iblog_dir</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Original&nbsp;InnoDB&nbsp;log</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)</span><span style="color: #008000; ">;</span></div><br />Google for reason for this check and find it mentioned in: <div>http://www.mysqlperformanceblog.com/2011/12/19/percona-xtrabackup-1-6-4/</div><div><br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><span style="color: #000000; ">innobackupex&nbsp;did&nbsp;not&nbsp;check&nbsp;that&nbsp;MySQL&nbsp;datadir&nbsp;was&nbsp;empty&nbsp;before&nbsp;&#8211;copy-back&nbsp;was&nbsp;run.&nbsp;With&nbsp;this&nbsp;bug&nbsp;fix</span><span style="color: #000000; ">,</span><span style="color: #000000; "> <br /> innobackupex&nbsp;will&nbsp;now&nbsp;error&nbsp;out&nbsp;of&nbsp;the&nbsp;&#8211;copy-back&nbsp;operation&nbsp;if&nbsp;the&nbsp;destination&nbsp;is&nbsp;not&nbsp;empty</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;avoiding <br /> potential&nbsp;data&nbsp;loss&nbsp;or&nbsp;a&nbsp;strang&nbsp;combination&nbsp;of&nbsp;a&nbsp;restored&nbsp;backup&nbsp;and&nbsp;previous&nbsp;data.&nbsp;Bug&nbsp;Fixed:&nbsp;#</span><span style="color: #000000; ">737569</span><span style="color: #000000; ">&nbsp;(Valentine&nbsp;Gostev)<br /> </span></div> </div><br /><img src ="http://www.blogjava.net/miaoyachun/aggbug/373276.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/miaoyachun/" target="_blank">Milo的海域</a> 2012-04-03 13:01 <a href="http://www.blogjava.net/miaoyachun/archive/2012/04/03/373276.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Setup MySQL CDT DEV Enviroment</title><link>http://www.blogjava.net/miaoyachun/archive/2012/03/23/372566.html</link><dc:creator>Milo的海域</dc:creator><author>Milo的海域</author><pubDate>Fri, 23 Mar 2012 09:49:00 GMT</pubDate><guid>http://www.blogjava.net/miaoyachun/archive/2012/03/23/372566.html</guid><wfw:comment>http://www.blogjava.net/miaoyachun/comments/372566.html</wfw:comment><comments>http://www.blogjava.net/miaoyachun/archive/2012/03/23/372566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/miaoyachun/comments/commentRss/372566.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/miaoyachun/services/trackbacks/372566.html</trackback:ping><description><![CDATA[<div>1. install bzr tool, ref http://dev.mysql.com/doc/refman/5.1/en/installing-development-tree.html<br />2. download mysql 5.1 code from trunk<br />3. autoreconf --force --install<br />4. ./configure --with-debug --without-libedit --with-plugins=innobase<br />5. make &amp; sudo make install<br />6. setup eclipse cdt env<br />&nbsp;&nbsp; &nbsp;a. startup eclipse by sudo cmd or root user<br />&nbsp;&nbsp; &nbsp;b. build project<br />&nbsp;&nbsp; &nbsp;c. set debug diag, ref http://forge.mysql.com/wiki/Eclipse/CDT_on_Linux_and_Mac_OS_X, here is my "program parameters" when startup mysqld instance:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;--datadir</span><span style="color: #000000; ">=</span><span style="color: #000000; ">/var/lib/mysql&nbsp;--user</span><span style="color: #000000; ">=</span><span style="color: #000000; ">mysql&nbsp;--pid-file</span><span style="color: #000000; ">=</span><span style="color: #000000; ">/var/run/mysqld/mysqld.pid&nbsp;--port</span><span style="color: #000000; ">=</span><span style="color: #000000; ">3306</span><span style="color: #000000; ">&nbsp;--socket</span><span style="color: #000000; ">=</span><span style="color: #000000; ">/tmp/mysql.sock&nbsp;--default-storage-engine</span><span style="color: #000000; ">=</span><span style="color: #000000; ">innodb</span></div><br /></div><img src ="http://www.blogjava.net/miaoyachun/aggbug/372566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/miaoyachun/" target="_blank">Milo的海域</a> 2012-03-23 17:49 <a href="http://www.blogjava.net/miaoyachun/archive/2012/03/23/372566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How to use sysbench test mysql</title><link>http://www.blogjava.net/miaoyachun/archive/2012/03/19/372203.html</link><dc:creator>Milo的海域</dc:creator><author>Milo的海域</author><pubDate>Mon, 19 Mar 2012 08:35:00 GMT</pubDate><guid>http://www.blogjava.net/miaoyachun/archive/2012/03/19/372203.html</guid><wfw:comment>http://www.blogjava.net/miaoyachun/comments/372203.html</wfw:comment><comments>http://www.blogjava.net/miaoyachun/archive/2012/03/19/372203.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/miaoyachun/comments/commentRss/372203.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/miaoyachun/services/trackbacks/372203.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;parepare&nbsp;test&nbsp;database</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">createDB</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">drop&nbsp;database&nbsp;if&nbsp;exists&nbsp;$database;&nbsp;create&nbsp;database&nbsp;if&nbsp;not&nbsp;exists&nbsp;$database;</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">mysql</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">h&nbsp;</span><span style="color: #800080; ">$vip</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">--</span><span style="color: #000000; ">port</span><span style="color: #000000; ">=</span><span style="color: #800080; ">$port</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">uadmin&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">padmin&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">e&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$createDB</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br /><br /></span><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;prepare&nbsp;data</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">prepare</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$sysbench&nbsp;--test=oltp&nbsp;--mysql-table-engine=innodb&nbsp;--oltp-table-size=$row</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />prepare</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$prepare&nbsp;--mysql-port=$port&nbsp;--mysql-host=$vip&nbsp;--mysql-db=$database</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />prepare</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$prepare&nbsp;--mysql-password=admin&nbsp;--mysql-user=admin&nbsp;prepare</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br /></span><span style="color: #800080; ">$prepare</span><span style="color: #000000; "><br /><br /></span><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;run&nbsp;sysbench</span><span style="color: #008000; "><br />#</span><span style="color: #008000; ">&nbsp;http://sysbench.sourceforge.net/docs/#database_mode&nbsp;see&nbsp;this&nbsp;link&nbsp;for&nbsp;more&nbsp;options</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">run</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$sysbench&nbsp;--test=oltp&nbsp;--mysql-table-engine=innodb&nbsp;--init-rng&nbsp;--oltp-table-size=$row</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />run</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$run&nbsp;--max-requests=0&nbsp;--max-time=900&nbsp;--num-threads=128&nbsp;--oltp-test-mode=complex</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />run</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$run&nbsp;--oltp-point-selects=2&nbsp;--oltp-simple-ranges=1&nbsp;--oltp-sum-ranges=2</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />run</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$run&nbsp;--oltp-index-updates=10&nbsp;--oltp-non-index-updates=5&nbsp;--mysql-port=$port</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />run</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$run&nbsp;--mysql-db=$database&nbsp;--mysql-host=$vip&nbsp;--mysql-password=admin&nbsp;--mysql-user=admin</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br /><br /></span><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;support&nbsp;oltp-user-delay-min&nbsp;to&nbsp;add&nbsp;delay&nbsp;for&nbsp;each&nbsp;sysbench&nbsp;request</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;[[&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$lag</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">nolag</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;]]<br />then<br />&nbsp;&nbsp;&nbsp;&nbsp;run</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$run&nbsp;--oltp-user-delay-min=$lag</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />fi<br />run</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">$run&nbsp;run</span><span style="color: #000000; ">"</span></div><img src ="http://www.blogjava.net/miaoyachun/aggbug/372203.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/miaoyachun/" target="_blank">Milo的海域</a> 2012-03-19 16:35 <a href="http://www.blogjava.net/miaoyachun/archive/2012/03/19/372203.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>innodb_flush_log_at_trx_commit option</title><link>http://www.blogjava.net/miaoyachun/archive/2012/02/23/370599.html</link><dc:creator>Milo的海域</dc:creator><author>Milo的海域</author><pubDate>Thu, 23 Feb 2012 08:28:00 GMT</pubDate><guid>http://www.blogjava.net/miaoyachun/archive/2012/02/23/370599.html</guid><wfw:comment>http://www.blogjava.net/miaoyachun/comments/370599.html</wfw:comment><comments>http://www.blogjava.net/miaoyachun/archive/2012/02/23/370599.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/miaoyachun/comments/commentRss/370599.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/miaoyachun/services/trackbacks/370599.html</trackback:ping><description><![CDATA[Official ref: <a title="innodb_flush_log_at_trx_commit" href="http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit">innodb_flush_log_at_trx_commit</a><br /><br />这个参数的配置涉及trax提交写trax log文件的行为<br /><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">innodb_flush_log_at_trx_commit&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; "><br />#&nbsp;每秒写一次trax&nbsp;log</span><span style="color: #000000; ">,</span><span style="color: #000000; ">并执行fsync<br /><br />innodb_flush_log_at_trx_commit&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; "><br />#&nbsp;每次trax&nbsp;提交的时候写一次trax&nbsp;log</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;并执行fsync<br /><br />innodb_flush_log_at_trx_commit&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">2</span><span style="color: #000000; "><br />#&nbsp;每次trax&nbsp;提交的时候写一次trax&nbsp;log</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&nbsp;不会执行fsync</span></div></div><img src ="http://www.blogjava.net/miaoyachun/aggbug/370599.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/miaoyachun/" target="_blank">Milo的海域</a> 2012-02-23 16:28 <a href="http://www.blogjava.net/miaoyachun/archive/2012/02/23/370599.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>指定mysql默认字符集</title><link>http://www.blogjava.net/miaoyachun/archive/2012/01/31/369070.html</link><dc:creator>Milo的海域</dc:creator><author>Milo的海域</author><pubDate>Tue, 31 Jan 2012 05:18:00 GMT</pubDate><guid>http://www.blogjava.net/miaoyachun/archive/2012/01/31/369070.html</guid><wfw:comment>http://www.blogjava.net/miaoyachun/comments/369070.html</wfw:comment><comments>http://www.blogjava.net/miaoyachun/archive/2012/01/31/369070.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/miaoyachun/comments/commentRss/369070.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/miaoyachun/services/trackbacks/369070.html</trackback:ping><description><![CDATA[<div><strong>从源码安装mysql时指定默认字符集：</strong></div><ol><li>./configure ... '--with-charset=utf8' '--with-collation=utf8_general_ci' ...</li><li>make &amp; make install</li><li>start mysql instance<br /></li></ol><p><strong>验证：</strong></p><p><strong><img alt="" src="http://www.blogjava.net/images/blogjava_net/miaoyachun/2012-01-31--1327986531_387x192_scrot.png" height="192" width="387" /><br /></strong></p><p><br /></p><p>也可以在my.cnf里面修改默认字符集：</p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">default-character-set</span><span style="color: #000000; ">=</span><span style="color: #000000; ">latin1</span></div><p><br /></p><p><br /></p><img src ="http://www.blogjava.net/miaoyachun/aggbug/369070.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/miaoyachun/" target="_blank">Milo的海域</a> 2012-01-31 13:18 <a href="http://www.blogjava.net/miaoyachun/archive/2012/01/31/369070.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>