<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>hate mysql because you love her deeply</title>
	<atom:link href="http://hatemysql.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://hatemysql.com</link>
	<description>hate it when you love her</description>
	<lastBuildDate>Wed, 14 Dec 2011 15:06:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>mysql show slave status</title>
		<link>http://hatemysql.com/2011/12/14/mysql-show-slave-status/</link>
		<comments>http://hatemysql.com/2011/12/14/mysql-show-slave-status/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 10:07:54 +0000</pubDate>
		<dc:creator>pickup.lichun</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[io thread]]></category>
		<category><![CDATA[Master_Log_File，Read_Master_Log_Pos；Relay_Log_File，Relay_Log_Pos；Relay_Master_Log_File，Exec_Master_Log_Pos]]></category>
		<category><![CDATA[show slave status]]></category>
		<category><![CDATA[SQL thread]]></category>

		<guid isPermaLink="false">http://hatemysql.com/?p=229</guid>
		<description><![CDATA[mysql的replication复制可以通过show slave status;  我们天天都在用，但是对它的理解却不见的很深，本文介绍：
IO thread, SQL thread状态变更
Master_Log_File，Read_Master_Log_Pos；Relay_Log_File，Relay_Log_Pos；Relay_Master_Log_File，Exec_Master_Log_Pos的具体位置]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<hr noshade="noshade" size="1" />
<ul>
<li><a href="#summary">1. 概览</a></li>
<li><a href="#Slave_IO_State">2. IO thread, SQL thread状态变更</a></li>
<li><a href="#file_pos">3. Master_Log_File，Read_Master_Log_Pos；Relay_Log_File，Relay_Log_Pos；Relay_Master_Log_File，Exec_Master_Log_Pos的具体位置</a></li>
<li><a href="#reference">4. 参考资料</a></li>
</ul>
<hr noshade="noshade" size="1" />
<p><a name="summary"></a></p>
<h1>1. 概览</h1>
<pre>  mysql的replication复制可以通过show slave status;
  我们天天都在用，但是对它的理解却不见的很深，
  特别把show slave status的每一项都解析一下
  如下是一个普通的MySQL show slave status的输出：
  admin@localhost : (none) 05:59:24&gt; show slave status\G
  *************************** 1. row ***************************
                 Slave_IO_State: Waiting for master to send event
                    Master_Host: 172.20.164.67
                    Master_User: repl
                    Master_Port: 3306
                  Connect_Retry: 60
                Master_Log_File: mysql-bin.001896
            Read_Master_Log_Pos: 226029100
                 Relay_Log_File: mysql-relay-bin.002014
                  Relay_Log_Pos: 87341525
          Relay_Master_Log_File: mysql-bin.001896
               Slave_IO_Running: Yes
              Slave_SQL_Running: Yes
                Replicate_Do_DB:
            Replicate_Ignore_DB:
             Replicate_Do_Table:
         Replicate_Ignore_Table:
        Replicate_Wild_Do_Table:
    Replicate_Wild_Ignore_Table:
                     Last_Errno: 0
                     Last_Error:
                   Skip_Counter: 0
            Exec_Master_Log_Pos: 226029100
                Relay_Log_Space: 87341723
                Until_Condition: None
                 Until_Log_File:
                  Until_Log_Pos: 0
             Master_SSL_Allowed: No
             Master_SSL_CA_File:
             Master_SSL_CA_Path:
                Master_SSL_Cert:
              Master_SSL_Cipher:
                 Master_SSL_Key:
          Seconds_Behind_Master: 0
  Master_SSL_Verify_Server_Cert: No
                  Last_IO_Errno: 0
                  Last_IO_Error:
                 Last_SQL_Errno: 0
Last_SQL_Error:</pre>
<p>做了一个列表，简单注释了一下各个字段的意思，如下：</p>
<table border="1" cellpadding="4" align="center">
<tbody>
<tr>
<th>字段名</th>
<th>注释</th>
<th>可能取值</th>
<th>取值示例</th>
</tr>
<tr>
<td align="right">Slave_IO_State</td>
<td>slave状态的文字描述</td>
<td><a href="#Slave_IO_State">slave线程状态</a></td>
<td>Waiting for master to send event</td>
</tr>
<tr>
<td align="right">Master_Host</td>
<td>master的IP或主机名</td>
<td></td>
<td>172.20.164.67</td>
</tr>
<tr>
<td align="right">Master_User</td>
<td>连接master使用的用户名</td>
<td></td>
<td>repl</td>
</tr>
<tr>
<td align="right">Master_Port</td>
<td>连接master使用的密码</td>
<td></td>
<td>3306</td>
</tr>
<tr>
<td align="right">Connect_Retry</td>
<td>重新连接MySQL的重试间隔时间，单位秒</td>
<td></td>
<td>60</td>
</tr>
<tr>
<td align="right">Master_Log_File</td>
<td>IO thread读取到的binlog日志文件</td>
<td><a href="#file_pos">Master_Log_File，Read_Master_Log_Pos；Relay_Log_File，Relay_Log_Pos；Relay_Master_Log_File，Exec_Master_Log_Pos的具体位置</a></td>
<td>mysql-bin.001896</td>
</tr>
<tr>
<td align="right">Read_Master_Log_Pos</td>
<td>IO thread读取到的binlog日志文件位置</td>
<td></td>
<td>226029100</td>
</tr>
<tr>
<td align="right">Relay_Log_File</td>
<td>slave 在本地缓存的relay 日志的文件名</td>
<td></td>
<td>mysql-relay-bin.002014</td>
</tr>
<tr>
<td align="right">Relay_Log_Pos</td>
<td>slave 在本地缓存的relay 日志的文件位置</td>
<td></td>
<td>87341525</td>
</tr>
<tr>
<td align="right">Relay_Master_Log_File</td>
<td>SQL thread 执行到master的binlog文件名</td>
<td></td>
<td>mysql-bin.001896</td>
</tr>
<tr>
<td align="right">Slave_IO_Running</td>
<td>IO thread是否正常运行</td>
<td></td>
<td>Yes</td>
</tr>
<tr>
<td align="right">Slave_SQL_Running</td>
<td>SQL thread是否正常运行</td>
<td></td>
<td>Yes</td>
</tr>
<tr>
<td align="right">Replicate_Do_DB</td>
<td>slave上需要执行的schema</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="right">Replicate_Ignore_DB</td>
<td>slave上需要忽略的schema</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="right">Replicate_Do_Table</td>
<td>slave上需要执行的table</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="right">Replicate_Ignore_Table</td>
<td>slave上需要忽略的table</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="right">Replicate_Wild_Do_Table</td>
<td>slave上需要执行的table正则表达式</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="right">Replicate_Wild_Ignore_Table</td>
<td>slave上需要忽略的table正则表达式</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="right">Last_Errno</td>
<td>上一次出错的错误号</td>
<td></td>
<td>0</td>
</tr>
<tr>
<td align="right">Last_Error</td>
<td>上一次出错的错误信息</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="right">Skip_Counter</td>
<td>还剩下的忽略event次数</td>
<td></td>
<td>0</td>
</tr>
<tr>
<td align="right">Exec_Master_Log_Pos</td>
<td>SQL thread 执行到master的binlog文件位置</td>
<td></td>
<td>226029100</td>
</tr>
<tr>
<td align="right">Relay_Log_Space</td>
<td>relay log占用的空间大小</td>
<td></td>
<td>87341723</td>
</tr>
<tr>
<td align="right">Until_Condition</td>
<td>复制until条件，在stop slave,start slave(不带until)或server重启的时候会自动重置</td>
<td></td>
<td>None</td>
</tr>
<tr>
<td align="right">Until_Log_File</td>
<td>复制停止的文件名</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="right">Until_Log_Pos</td>
<td>复制停止的文件位置</td>
<td></td>
<td>0</td>
</tr>
<tr>
<td align="right">Master_SSL_Allowed</td>
<td>是否使用SSL连接master</td>
<td></td>
<td>No</td>
</tr>
<tr>
<td align="right">Master_SSL_CA_File</td>
<td>ssl agent文件ca-cert.pem的文件名</td>
<td></td>
<td>/etc/mysql/newcerts/ca-cert.pem</td>
</tr>
<tr>
<td align="right">Master_SSL_CA_Path</td>
<td>ssl agent文件ca-cert.pem的路径名</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="right">Master_SSL_Cert</td>
<td>ssl 授权文件</td>
<td></td>
<td>/etc/mysql/newcerts/client-cert.pem</td>
</tr>
<tr>
<td align="right">Master_SSL_Cipher</td>
<td>ssl 加密算法</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="right">Master_SSL_Key</td>
<td>ssl 密钥文件</td>
<td></td>
<td>/etc/mysql/newcerts/client-key.pem</td>
</tr>
<tr>
<td align="right">Seconds_Behind_Master</td>
<td>SQL thread相对master的延迟时间</td>
<td></td>
<td>0</td>
</tr>
<tr>
<td>Master_SSL_Verify_Server_Cert</td>
<td>是否检查master的授权文件</td>
<td></td>
<td>No</td>
</tr>
<tr>
<td align="right">Last_IO_Errno</td>
<td>IO thread的上一次出错的错误号</td>
<td></td>
<td>0</td>
</tr>
<tr>
<td align="right">Last_IO_Error</td>
<td>IO thread的上一次出错的错误信息</td>
<td></td>
<td></td>
</tr>
<tr>
<td align="right">Last_SQL_Errno</td>
<td>SQL thread的上一次出错的错误号</td>
<td></td>
<td>0</td>
</tr>
<tr>
<td align="right">Last_SQL_Error</td>
<td>SQL thread的上一次出错的错误信息</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<pre>  这么多信息，有一些是一看就知道是什么意思的字段。
  其他的至少可以分为以下几个专题：</pre>
<ul>
<li>IO thread, SQL thread状态变更</li>
<li>Master_Log_File，Read_Master_Log_Pos；Relay_Log_File，Relay_Log_Pos；Relay_Master_Log_File，Exec_Master_Log_Pos的具体位置</li>
<li>Replicate_Do, Replicate_Ignore 讨论</li>
<li>mysql ssl连接</li>
<li>replication文件 master.info, relay.info和连接信息解析</li>
<li>Seconds_Behind_Master 精确性</li>
<li>replication until和复制延迟控制</li>
<li>skip counter忽略event计数和精确性本文只涉及第一和第二个议题</li>
</ul>
<p><a name="Slave_IO_State"></a></p>
<h1>2. IO thread, SQL thread状态变更</h1>
<ol>
<li>IO线程状态变更,对应show slave status的Slave_IO_State字段</li>
</ol>
<table border="1" cellpadding="4" align="center">
<tbody>
<tr>
<th>名称</th>
<th>状态值</th>
<th>解释</th>
</tr>
<tr>
<td>wait_master</td>
<td>Waiting for master update</td>
<td></td>
</tr>
<tr>
<td>connect_master</td>
<td>Connecting to master</td>
<td></td>
</tr>
<tr>
<td>check_master</td>
<td>Checking master version</td>
<td></td>
</tr>
<tr>
<td>register_slave</td>
<td>Registering slave on master</td>
<td></td>
</tr>
<tr>
<td>request_binlog</td>
<td>Requesting binlog dump</td>
<td></td>
</tr>
<tr>
<td>request_wait_reconnect</td>
<td>Waiting to reconnect after a failed binlog dump request</td>
<td></td>
</tr>
<tr>
<td>request_reconnecting</td>
<td>Reconnecting after a failed binlog dump request</td>
<td></td>
</tr>
<tr>
<td>wait_event</td>
<td>Waiting for master to send event</td>
<td></td>
</tr>
<tr>
<td>queue_to_relay_log</td>
<td>Queueing master event to the relay log</td>
<td></td>
</tr>
<tr>
<td>read_wait_reconnect</td>
<td>Waiting to reconnect after a failed master event read</td>
<td></td>
</tr>
<tr>
<td>read_reconnecting</td>
<td>Reconnecting after a failed master event read</td>
<td></td>
</tr>
<tr>
<td>wait_relay_space</td>
<td>Waiting for the slave SQL thread to free enough relay log space</td>
<td></td>
</tr>
<tr>
<td>wait_slave_mutex</td>
<td>Waiting for slave mutex on exit</td>
<td></td>
</tr>
</tbody>
</table>
<p>状态变更图如下：<br />
<a href="http://hatemysql.com/wp-content/uploads/2011/12/io_thread_status.png"><img class="alignnone size-large wp-image-221" title="io_thread_status" src="http://hatemysql.com/wp-content/uploads/2011/12/io_thread_status-1024x474.png" alt="io_thread 状态变更" width="1024" height="474" /></a><br />
代码请参考sql/slave.cc的handle_slave_io函数</p>
<ol>
<li>SQL线程状态变更,对应服务器上SQL线程的State字段，通过show processlist查看</li>
</ol>
<table border="1" cellpadding="4" align="center">
<tbody>
<tr>
<th>名称</th>
<th>状态值</th>
<th>解释</th>
</tr>
<tr>
<td>wait_relay_event</td>
<td>Waiting for the next event in relay log</td>
<td></td>
</tr>
<tr>
<td>read_relay</td>
<td>Reading event from the relay log</td>
<td></td>
</tr>
<tr>
<td>wait_io_thread</td>
<td>Has read all relay log; waiting for the slave I/O thread to update it</td>
<td></td>
</tr>
<tr>
<td>make_temp_file</td>
<td>Making temp file</td>
<td></td>
</tr>
<tr>
<td>wait_slave_mutex</td>
<td>Waiting for slave mutex on exit</td>
<td></td>
</tr>
</tbody>
</table>
<p>状态变更图如下：</p>
<p><a href="http://hatemysql.com/wp-content/uploads/2011/12/sql_thread_status.png"><img class="alignnone size-full wp-image-224" title="sql_thread_status" src="http://hatemysql.com/wp-content/uploads/2011/12/sql_thread_status.png" alt="sql_thread 状态变更" width="567" height="539" /></a></p>
<p>代码请参考sql/slave.cc的handle_slave_sql函数</p>
<p><a name="file_pos"></a></p>
<h1>3. Master_Log_File，Read_Master_Log_Pos；Relay_Log_File，Relay_Log_Pos；Relay_Master_Log_File，Exec_Master_Log_Pos的具体位置</h1>
<ol>
<li>定义</li>
</ol>
<ul>
<li>Master_Log_File，Read_Master_Log_Pos 记录了IO thread读到的当前master binlog文件和位置，对应master的binlog文件和位置。</li>
<li>Relay_Log_File，Relay_Log_Pos记录了SQL thread执行到relay log的那个文件和位置，对应的是slave上的relay log文件和位置。</li>
<li>Relay_Master_Log_File，Exec_Master_Log_Pos记录的是SQL thread执行到master binlog的文件和位置，对应的master上binlog的文件和位置。</li>
</ul>
<ol>
<li>日志文件介绍需要明确这几个值的意思，我们首先需要了解binlog日志文件和relay log日志文件的具体结构。binlog的文件格式可以参考 Mats Kindah和Lars Thalman的<a href="http://assets.en.oreilly.com/1/event/61/Binary%20log%20API_%20A%20Library%20for%20Change%20Data%20Capture%20using%20MySQL%20Presentation.pdf">binlog API文档</a>。binlog的event可以参考我之前的blog和<a href="http://kristiannielsen.livejournal.com/13253.html">binlog events 介绍</a>
<ul>
<li>binlog数据文件示例binlog文件和relay log文件都可以用mysqlbinlg工具来打开。下图是一个mysqlbinlog解析普通的binlog文件出来的文本文件：<a href="http://hatemysql.com/wp-content/uploads/2011/12/binlog_events.png"><img class="alignnone size-large wp-image-219" title="binlog_events" src="http://hatemysql.com/wp-content/uploads/2011/12/binlog_events-1024x504.png" alt="" width="1024" height="504" /></a>我们这里主要是row方式的binlog。
<p>注意：binlog的event语句开始位置就是二进制binlog文件的字节偏移位置。而且根据上一个event的end_log_pos可以找到下一个event开始的位置，如上图所示。</li>
</ul>
</li>
</ol>
<ul>
<li>relay log数据文件示例binlog文件和relay log文件都可以用mysqlbinlg工具来打开。下图是一个mysqlbinlog解析普通的relay log文件出来的文本文件：<a href="http://hatemysql.com/wp-content/uploads/2011/12/relay_log_events.png"><img class="alignnone size-large wp-image-222" title="relay_log_events" src="http://hatemysql.com/wp-content/uploads/2011/12/relay_log_events-1024x546.png" alt="" width="1024" height="546" /></a>relay log和binlog记录方式基本相同，最大的不同就是end_log_pos记录的是master的binlog文件中event的位置，而不是relay log自己event的位置。如图所示，上一个event的end_log_pos和下一个relay log event开始的位置不一样。</li>
</ul>
<p>为什么需要这样设置？原因很简单，就是为了方便找到master binlog的位置，在slave上，记录relay log 下一个event的开始偏移意义不大，但是如果记录了master binlog的偏移量，我们就可以在SQL thread中明确我们执行到master的某个binlog的哪个位置了。那么是哪个binlog列。我们找到relay log的最前面。</p>
<p><a href="http://hatemysql.com/wp-content/uploads/2011/12/relay_log_head.png"><img class="alignnone size-large wp-image-223" title="relay_log_head" src="http://hatemysql.com/wp-content/uploads/2011/12/relay_log_head-1024x513.png" alt="" width="1024" height="513" /></a></p>
<p>如图所示，每个relay log开头都有这么一个rotate event，也就是当前master的binlog文件名。引用一下Automated master failover的一页PPT如下。</p>
<p><a href="http://hatemysql.com/wp-content/uploads/2011/12/file_pos_AMF_2.png"><img class="alignnone size-full wp-image-220" title="file_pos_AMF_2" src="http://hatemysql.com/wp-content/uploads/2011/12/file_pos_AMF_2.png" alt="" width="959" height="635" /></a></p>
<p>这里列出了Read_Master_Log_Pos，Relay_Log_Pos，Exec_Master_Log_Pos 的具体位置。</p>
<ul>
<li>IO thread 把所有从master读到的binlog记录到本地的binlog中，所以relay log的最后一个event的end log_pos就是Read_Master_Log_Pos</li>
<li>SQL thread 按照transaction来执行，所以Exec_Master_Log_Pos对应relay log中最后一个事务event的end_log_pos，这个位置对应的是master的binlog的位置。</li>
<li>Relay_Log_Pos 记录的是SQL thread执行的event在relay log中结束位置，这个才是relay log的偏移量。</li>
</ul>
<p><a name="reference"></a></p>
<h1>4. 参考资料</h1>
<p><a href="http://dev.mysql.com/doc/refman/5.1/en/slave-io-thread-states.html">mysql reference IO 线程状态</a></p>
<p><a href="http://dev.mysql.com/doc/refman/5.1/en/slave-sql-thread-states.html">mysql reference SQL 线程状态</a></p>
<p><a href="http://dev.mysql.com/doc/refman/5.1/en/replication-administration-status.html">mysql reference show slave status</a></p>
<p><a href="http://kristiannielsen.livejournal.com/13253.html">binlog events</a></p>
<p><a href="http://www.oscon.com/oscon2011/public/schedule/detail/18785">binlog API</a></p>
<p><a href="http://www.slideshare.net/matsunobu/automated-master-failover">Automated master failover</a></p>
<p><!-- html code generated by txt2tags 2.5 (http://txt2tags.sf.net) --><br />
<!-- cmdline: txt2tags -\-toc -\-target html show_slave_status.t2t --></p>
]]></content:encoded>
			<wfw:commentRss>http://hatemysql.com/2011/12/14/mysql-show-slave-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>做加法的shell函数</title>
		<link>http://hatemysql.com/2011/11/07/%e5%81%9a%e5%8a%a0%e6%b3%95%e7%9a%84shell%e5%87%bd%e6%95%b0/</link>
		<comments>http://hatemysql.com/2011/11/07/%e5%81%9a%e5%8a%a0%e6%b3%95%e7%9a%84shell%e5%87%bd%e6%95%b0/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 03:59:45 +0000</pubDate>
		<dc:creator>pickup.lichun</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[bc]]></category>
		<category><![CDATA[eval]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[sum]]></category>

		<guid isPermaLink="false">http://hatemysql.com/?p=208</guid>
		<description><![CDATA[
写了一个对所有传入的参数做加法的shell函数，贴上来，给大家参考。

没有做什么异常处理，利用bc来计算]]></description>
			<content:encoded><![CDATA[<p>写了一个对所有传入的参数做加法的shell函数，贴上来，给大家参考。</p>
<p>没有做什么异常处理，利用bc来计算</p>
<pre>function calc_sum()
{
    if [ $# -lt 1 ]; then
        echo 0
        return 0
    fi

    local __SUM_STR="scale=2;"
    local __VAR_COUNT=$#
    for i in `seq 1 $#`; do
        __SUM_STR="$__SUM_STR \$$i +"
    done

    #### cut the last  +
    __SUM_STR=${__SUM_STR%+*}

    #### cal the sum
    eval echo "\"$__SUM_STR\"" | bc
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://hatemysql.com/2011/11/07/%e5%81%9a%e5%8a%a0%e6%b3%95%e7%9a%84shell%e5%87%bd%e6%95%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>percona参数设置标准</title>
		<link>http://hatemysql.com/2011/11/04/percona%e5%8f%82%e6%95%b0%e8%ae%be%e7%bd%ae%e6%a0%87%e5%87%86/</link>
		<comments>http://hatemysql.com/2011/11/04/percona%e5%8f%82%e6%95%b0%e8%ae%be%e7%bd%ae%e6%a0%87%e5%87%86/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 01:57:37 +0000</pubDate>
		<dc:creator>pickup.lichun</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://hatemysql.com/?p=206</guid>
		<description><![CDATA[percona参数相关设置]]></description>
			<content:encoded><![CDATA[<p><center></p>
<p style="text-align: -webkit-auto;"><span class="Apple-style-span" style="font-size: 20px; font-weight: bold;">percona参数设置</span></p>
<p></center></p>
<ol>
<li>首先为参数设置中的对应符号，函数设置</li>
</ol>
<table border="1" cellpadding="4" align="center">
<tbody>
<tr>
<th>符号,函数</th>
<th>解释</th>
</tr>
<tr>
<td>ceil()</td>
<td>向上取整</td>
</tr>
<tr>
<td>HTC</td>
<td>CPU超线程数(HyperThread Count)</td>
</tr>
<tr>
<td>IC</td>
<td>一个主机上的MySQL实例个数(Instance Count)</td>
</tr>
<tr>
<td>IC</td>
<td>一个主机上的MySQL实例个数(Instance Count)</td>
</tr>
<tr>
<td>PDC</td>
<td>mydata所在的逻辑盘对应的物理盘个数(Physical Disk Count)</td>
</tr>
<tr>
<td>ERSV</td>
<td>innodb_extra_rsegments值大小(innodb_Extra_RSegments Value)</td>
</tr>
<tr>
<td>NULL</td>
<td>对应的参数不设置在my.cnf，也就是说使用该参数的默认值</td>
</tr>
</tbody>
</table>
<ol>
<li>在my.cnf中可以设置的参数如下
<pre>  # innodb plugin
  innodb_read_io_threads=1
  innodb_write_io_threads=4
  innodb_io_capacity=10000
  innodb_file_format=barracuda
  innodb_file_format_check=ON
  innodb_strict_mode=1
</pre>
<pre>innodb_adaptive_flushing=false</pre>
<pre>  # percona
  innodb_page_size=8k
  innodb_extra_rsegments=8
  innodb_use_purge_thread=4
  innodb_stats_update_need_lock=0
  innodb_fast_checksum=1
  log_slow_verbosity=full
  userstat_running=1
  enable_query_response_time_stats=1
  # percona For SSD
  #innodb_adaptive_checkpoint=3
  innodb_flush_neighbor_pages=0
</pre>
</li>
</ol>
<table border="1" cellpadding="4" align="center">
<tbody>
<tr>
<th>参数名</th>
<th>SAS (默认为Raid 1+0) 应该设置值</th>
<th>SSD (默认为Raid 5) 应该设置值</th>
<th>Fusion io (采用flashcache) 应该设置值</th>
<th>备注</th>
</tr>
<tr>
<td>innodb_read_io_threads</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>预读线程只需要设置为1</td>
</tr>
<tr>
<td>innodb_write_io_threads</td>
<td>ceil(HTC / IC)</td>
<td>ceil(HTC / IC)</td>
<td>ceil(HTC / IC)</td>
<td>写线程设置为线程数除以实例个数</td>
</tr>
<tr>
<td>innodb_io_capacity</td>
<td>ceil((PDC * 200 ) / IC )</td>
<td>ceil(((PDC &#8211; 1) * 2000 ) / IC )</td>
<td>ceil(40000 / IC)</td>
<td>io_capacity主要跟机器的IO性能有关。SAS一块盘写能力假设为200，SSD一块盘假设为2000，fusion io假设为40000。</td>
</tr>
<tr>
<td>innodb_file_format</td>
<td>barracuda</td>
<td>barracuda</td>
<td>barracuda</td>
<td>percona默认文件格式为barracuda</td>
</tr>
<tr>
<td>innodb_file_format_check</td>
<td>ON</td>
<td>ON</td>
<td>ON</td>
<td>MySQL使用barracuda需要在启动的时候检查文件格式为innodb_file_format</td>
</tr>
<tr>
<td>innodb_strict_mode=1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>严格检查文件格式，如果有文件格式高于innodb_file_format，实例不能启动</td>
</tr>
<tr>
<td>innodb_page_size=8k</td>
<td>8k</td>
<td>8k</td>
<td>8k</td>
<td>MySQL文件页大小默认使用8k</td>
</tr>
<tr>
<td>innodb_extra_rsegments=8</td>
<td>ceil(HTC / IC)</td>
<td>ceil(HTC / IC)</td>
<td>ceil(HTC / IC)</td>
<td>额外的回滚段个数设置为CPU超线程数除以MySQL实例个数</td>
</tr>
<tr>
<td>innodb_use_purge_thread=4</td>
<td>ceil(ERSV / 2)</td>
<td>ceil(ERSV / 2)</td>
<td>ceil(ERSV / 2)</td>
<td>purge线程数设置为额外的回滚段个数的一半</td>
</tr>
<tr>
<td>innodb_stats_update_need_lock=0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>取消更新状态信息时的锁操作</td>
</tr>
<tr>
<td>innodb_fast_checksum=1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>使用percona的更快的checksum算法，其实是不计算checksum</td>
</tr>
<tr>
<td>log_slow_verbosity=full</td>
<td>full</td>
<td>full</td>
<td>full</td>
<td>详细记录慢查</td>
</tr>
<tr>
<td>userstat_running=1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>记录用户统计信息</td>
</tr>
<tr>
<td>enable_query_response_time_stats=1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>记录SQL响应时间信息</td>
</tr>
<tr>
<td>innodb_adaptive_checkpoint=3</td>
<td>NULL</td>
<td align="right">if(IC&gt;4) then NULL; else 3;</td>
<td>if(IC&gt;4) then NULL; else 3;</td>
<td>SAS盘不设置该参数；SSD和fusion io的如果MySQL实例在4个已上，担心0.1秒的flush频率太高对主机影响太大，不设置，采用默认值，如果实例数在4个或者4个以下，设置为3。</td>
</tr>
<tr>
<td>innodb_flush_neighbor_pages=0</td>
<td>NULL</td>
<td align="right">0</td>
<td>0</td>
<td>对随机写不敏感的SSD和fusion io设置为不刷写邻居页，对SAS不设置，采用默认值</td>
</tr>
<tr>
<td>innodb_adaptive_flushing=false</td>
<td>false</td>
<td>false</td>
<td>false</td>
<td>不使用innodb的自适应刷新算法</td>
</tr>
</tbody>
</table>
<p><!-- html code generated by txt2tags 2.5 (http://txt2tags.sf.net) --><br />
<!-- cmdline: txt2tags -\-toc -\-target html mysql_check_list.t2t --></p>
]]></content:encoded>
			<wfw:commentRss>http://hatemysql.com/2011/11/04/percona%e5%8f%82%e6%95%b0%e8%ae%be%e7%bd%ae%e6%a0%87%e5%87%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mysql事件类型和文件头长度</title>
		<link>http://hatemysql.com/2011/10/29/mysql%e4%ba%8b%e4%bb%b6%e7%b1%bb%e5%9e%8b%e5%92%8c%e6%96%87%e4%bb%b6%e5%a4%b4%e9%95%bf%e5%ba%a6/</link>
		<comments>http://hatemysql.com/2011/10/29/mysql%e4%ba%8b%e4%bb%b6%e7%b1%bb%e5%9e%8b%e5%92%8c%e6%96%87%e4%bb%b6%e5%a4%b4%e9%95%bf%e5%ba%a6/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 02:42:40 +0000</pubDate>
		<dc:creator>pickup.lichun</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://hatemysql.com/?p=204</guid>
		<description><![CDATA[主要列举了MySQL事件类型和文件头的长度，以及内部存储时使用的数据类型]]></description>
			<content:encoded><![CDATA[<h1 lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: medium;"><strong>附录</strong></span></span></h1>
<h2><span style="font-family: 文泉驿正黑;">附录</span><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;">1 </span><span style="font-family: 文泉驿正黑;">MySQL 5.1.20 Beta</span></span><span style="font-family: 文泉驿正黑;">包含的事件类型</span></h2>
<p><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">下面列举了各种</span></span><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MySQL</span></span></span><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">的事件类型（代码拷贝自</span></span><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MySQL 5.1.20</span></span></span><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">的源代码）： </span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">enum Log_event_type</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">{</span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">/*</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">Every time you update this enum (when you add a type), you have to</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">fix Format_description_log_event::Format_description_log_event().</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">*/</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">UNKNOWN_EVENT= 0,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">START_EVENT_V3= 1,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">QUERY_EVENT= 2,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">STOP_EVENT= 3,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">ROTATE_EVENT= 4,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">INTVAR_EVENT= 5,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">LOAD_EVENT= 6,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">SLAVE_EVENT= 7,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">CREATE_FILE_EVENT= 8,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">APPEND_BLOCK_EVENT= 9,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">EXEC_LOAD_EVENT= 10,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">DELETE_FILE_EVENT= 11,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">/*</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">NEW_LOAD_EVENT is like LOAD_EVENT except that it has a longer</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">sql_ex, allowing multibyte TERMINATED BY etc; both types share the</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">same class (Load_log_event)</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">*/</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">NEW_LOAD_EVENT= 12,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">RAND_EVENT= 13,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">USER_VAR_EVENT= 14,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">FORMAT_DESCRIPTION_EVENT= 15,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">XID_EVENT= 16,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">BEGIN_LOAD_QUERY_EVENT= 17,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">EXECUTE_LOAD_QUERY_EVENT= 18,</span></span></span></p>
<p lang="zh-CN">
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">TABLE_MAP_EVENT = 19,</span></span></span></p>
<p lang="zh-CN">
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">/*</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">These event numbers were used for 5.1.0 to 5.1.15 and are</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">therefore obsolete.</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">*/</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">PRE_GA_WRITE_ROWS_EVENT = 20,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">PRE_GA_UPDATE_ROWS_EVENT = 21,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">PRE_GA_DELETE_ROWS_EVENT = 22,</span></span></span></p>
<p lang="zh-CN">
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">/*</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">These event numbers are used from 5.1.16 and forward</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">*/</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">WRITE_ROWS_EVENT = 23,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">UPDATE_ROWS_EVENT = 24,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">DELETE_ROWS_EVENT = 25,</span></span></span></p>
<p lang="zh-CN">
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">/*</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">Something out of the ordinary happened on the master</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">*/</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">INCIDENT_EVENT= 26,</span></span></span></p>
<p lang="zh-CN">
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">/*</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">Add new events here &#8211; right above this comment!</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">Existing events (except ENUM_END_EVENT) should never change their numbers</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">*/</span></span></span></p>
<p lang="zh-CN">
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">ENUM_END_EVENT /* end marker */</span></span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">};</span></span></p>
<p lang="zh-CN">
<h2><span style="font-family: 文泉驿正黑;">附录</span><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;">2 MySQL 5.1.20 Beta</span></span><span style="font-family: 文泉驿正黑;">各事件的附加事件头长度</span></h2>
<p><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">下面列举了</span></span><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MySQL 5.1.20 Beta</span></span></span><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">各事件的附加事件头长度（拷贝自</span></span><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MySQL</span></span></span><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">源代码）：</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">/* event-specific post-header sizes */</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">// where 3.23, 4.x and 5.0 agree</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define QUERY_HEADER_MINIMAL_LEN (4 + 4 + 1 + 2)</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">// where 5.0 differs: 2 for len of N-bytes vars.</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define QUERY_HEADER_LEN (QUERY_HEADER_MINIMAL_LEN + 2)</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define LOAD_HEADER_LEN (4 + 4 + 4 + 1 +1 + 4)</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define START_V3_HEADER_LEN (2 + ST_SERVER_VER_LEN + 4)</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define ROTATE_HEADER_LEN 8 // this is FROZEN (the Rotate post-header is frozen)</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define CREATE_FILE_HEADER_LEN 4</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define APPEND_BLOCK_HEADER_LEN 4</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define EXEC_LOAD_HEADER_LEN 4</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define DELETE_FILE_HEADER_LEN 4</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define FORMAT_DESCRIPTION_HEADER_LEN (START_V3_HEADER_LEN+1+LOG_EVENT_TYPES)</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define ROWS_HEADER_LEN 8</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define TABLE_MAP_HEADER_LEN 8</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN (4 + 4 + 4 + 1)</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define EXECUTE_LOAD_QUERY_HEADER_LEN (QUERY_HEADER_LEN + EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN)</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">#define INCIDENT_HEADER_LEN 2</span></span></p>
<p lang="zh-CN">
<p lang="zh-CN">
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[START_EVENT_V3-1]= START_V3_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[QUERY_EVENT-1]= QUERY_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[ROTATE_EVENT-1]= ROTATE_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[LOAD_EVENT-1]= LOAD_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[CREATE_FILE_EVENT-1]= CREATE_FILE_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[APPEND_BLOCK_EVENT-1]= APPEND_BLOCK_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[EXEC_LOAD_EVENT-1]= EXEC_LOAD_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[DELETE_FILE_EVENT-1]= DELETE_FILE_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[NEW_LOAD_EVENT-1]= post_header_len[LOAD_EVENT-1];</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[FORMAT_DESCRIPTION_EVENT-1]= FORMAT_DESCRIPTION_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[TABLE_MAP_EVENT-1]= TABLE_MAP_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[WRITE_ROWS_EVENT-1]= ROWS_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[UPDATE_ROWS_EVENT-1]= ROWS_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[DELETE_ROWS_EVENT-1]= ROWS_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">/*</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">We here have the possibility to simulate a master of before we changed</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">the table map id to be stored in 6 bytes: when it was stored in 4</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">bytes (=&gt; post_header_len was 6). This is used to test backward</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">compatibility.</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">This code can be removed after a few months (today is Dec 21st 2005),</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">when we know that the 4-byte masters are not deployed anymore (check</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">with Tomas Ulin first!), and the accompanying test (rpl_row_4_bytes)</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">too.</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">*/</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">DBUG_EXECUTE_IF(“old_row_based_repl_4_byte_map_id_master”,</span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">post_header_len[TABLE_MAP_EVENT-1]=</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">post_header_len[WRITE_ROWS_EVENT-1]=</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">post_header_len[UPDATE_ROWS_EVENT-1]=</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">post_header_len[DELETE_ROWS_EVENT-1]= 6;);</span></span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[BEGIN_LOAD_QUERY_EVENT-1]= post_header_len[APPEND_BLOCK_EVENT-1];</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[EXECUTE_LOAD_QUERY_EVENT-1]= EXECUTE_LOAD_QUERY_HEADER_LEN;</span></span></p>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">post_header_len[INCIDENT_EVENT-1]= INCIDENT_HEADER_LEN;</span></span></p>
<p lang="zh-CN">
<h2><span style="font-family: 文泉驿正黑;">附录</span><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;">3 MySQL 5.1.20 Beta</span></span><span style="font-family: 文泉驿正黑;">中各列在内部存储时可能的各种数据类型</span></h2>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">enum enum_field_types</span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">{</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_DECIMAL = 0,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_TINY = 1,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_SHORT = 2,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_LONG = 3,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_FLOAT = 4,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_DOUBLE = 5,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_NULL = 6,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_TIMESTAMP = 7, // 4 from_unixtime(0x)</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_LONGLONG = 8,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_INT24 = 9, //field_medium</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_DATE = 10,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_TIME = 11,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_DATETIME = 12,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_YEAR = 13,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_NEWDATE = 14,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_VARCHAR = 15, //field_varstring</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_BIT = 16,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_NEWDECIMAL = 246,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_ENUM = 247,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_SET = 248,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_TINY_BLOB = 249,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_MEDIUM_BLOB = 250,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_LONG_BLOB = 251,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_BLOB = 252,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_VAR_STRING = 253,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_STRING = 254,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MYSQL_TYPE_GEOMETRY = 255,</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">};</span></span></span></p>
<p lang="zh-CN">
<h2><span style="font-family: 文泉驿正黑;">附录</span><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;">4 MySQL 5.1.20 Beta</span></span><span style="font-family: 文泉驿正黑;">中各</span><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;">ROW_EVENT</span></span><span style="font-family: 文泉驿正黑;">的</span><span style="font-family: 'Liberation Serif', serif;"><span style="font-family: 文泉驿正黑;">m_flags</span></span><span style="font-family: 文泉驿正黑;">包含的标志位</span></h2>
<p><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">在</span></span><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">MySQL 5.1.20 Beta</span></span></span><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">中，各</span></span><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">ROW_EVENT</span></span></span><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">都含有</span></span><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">m_flags</span></span></span><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">标志位集合。可能的标志如下：</span></span></p>
<table width="569" border="1" cellspacing="0" cellpadding="7">
<colgroup>
<col width="270" />
<col width="23" />
<col width="232" /> </colgroup>
<tbody>
<tr valign="TOP">
<td bgcolor="#b3b3b3" width="270">
<p align="JUSTIFY"><span style="font-family: 文泉驿正黑;">名称</span></p>
</td>
<td bgcolor="#b3b3b3" width="23">
<p lang="zh-CN" align="JUSTIFY"><span style="font-family: 文泉驿正黑;">值</span></p>
</td>
<td bgcolor="#b3b3b3" width="232">
<p align="JUSTIFY"><span style="font-family: 文泉驿正黑;">含义</span></p>
</td>
</tr>
<tr valign="TOP">
<td width="270">
<p lang="zh-CN" align="JUSTIFY"><span style="font-family: 文泉驿正黑;">STMT_END_F</span></p>
</td>
<td width="23">
<p lang="zh-CN" align="JUSTIFY"><span style="font-family: 文泉驿正黑;">1</span></p>
</td>
<td width="232">
<p lang="zh-CN" align="JUSTIFY"><span style="font-family: 文泉驿正黑;">语句执行结束标志</span></p>
</td>
</tr>
<tr valign="TOP">
<td width="270">
<p lang="zh-CN" align="JUSTIFY"><span style="font-family: 文泉驿正黑;">NO_FOREIGN_KEY_CHECKS_F</span></p>
</td>
<td width="23">
<p lang="zh-CN" align="JUSTIFY"><span style="font-family: 文泉驿正黑;">2</span></p>
</td>
<td width="232">
<p lang="zh-CN" align="JUSTIFY"><span style="font-family: 文泉驿正黑;">不进行外键约束检查的标志</span></p>
</td>
</tr>
<tr valign="TOP">
<td width="270">
<p lang="zh-CN" align="JUSTIFY"><span style="font-family: 文泉驿正黑;">RELAXED_UNIQUE_CHECKS_F</span></p>
</td>
<td width="23">
<p lang="zh-CN" align="JUSTIFY"><span style="font-family: 文泉驿正黑;">4</span></p>
</td>
<td width="232">
<p lang="zh-CN" align="JUSTIFY"><span style="font-family: 文泉驿正黑;">不进行唯一键约束检查的标志</span></p>
</td>
</tr>
</tbody>
</table>
<p lang="zh-CN"><span style="font-family: 文泉驿正黑;"><span style="font-size: x-small;">相关代码如下：</span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">/*</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">These definitions allow you to combine the flags into an</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">appropriate flag set using the normal bitwise operators. The</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">implicit conversion from an enum-constant to an integer is</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">accepted by the compiler, which is then used to set the real set</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">of flags.</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">*/</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">enum enum_flag</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">{</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">/* Last event of a statement */</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">STMT_END_F = (1U &lt;&lt; 0),</span></span></span></p>
<p lang="zh-CN">
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">/* Value of the OPTION_NO_FOREIGN_KEY_CHECKS flag in thd-&gt;options */</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">NO_FOREIGN_KEY_CHECKS_F = (1U &lt;&lt; 1),</span></span></span></p>
<p lang="zh-CN">
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">/* Value of the OPTION_RELAXED_UNIQUE_CHECKS flag in thd-&gt;options */</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">RELAXED_UNIQUE_CHECKS_F = (1U &lt;&lt; 2)</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">};</span></span></span></p>
<p lang="zh-CN">
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">typedef uint16 flag_set;</span></span></span></p>
<p lang="zh-CN">
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">/* Special constants representing sets of flags */</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">enum </span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">{</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">RLE_NO_FLAGS = 0U</span></span></span></p>
<p><span style="font-family: 'Liberation Serif', serif;"><span style="font-size: x-small;"><span style="font-family: 文泉驿正黑;">};</span></span></span></p>
<p lang="zh-CN">
]]></content:encoded>
			<wfw:commentRss>http://hatemysql.com/2011/10/29/mysql%e4%ba%8b%e4%bb%b6%e7%b1%bb%e5%9e%8b%e5%92%8c%e6%96%87%e4%bb%b6%e5%a4%b4%e9%95%bf%e5%ba%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mysql replication数据复制格式</title>
		<link>http://hatemysql.com/2011/10/29/mysql-replication%e6%95%b0%e6%8d%ae%e5%a4%8d%e5%88%b6%e6%a0%bc%e5%bc%8f/</link>
		<comments>http://hatemysql.com/2011/10/29/mysql-replication%e6%95%b0%e6%8d%ae%e5%a4%8d%e5%88%b6%e6%a0%bc%e5%bc%8f/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 02:00:15 +0000</pubDate>
		<dc:creator>pickup.lichun</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://hatemysql.com/?p=191</guid>
		<description><![CDATA[mysql replicaation格式]]></description>
			<content:encoded><![CDATA[<p><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><br />
<HTML><br />
<HEAD><br />
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8"><br />
	<TITLE> </TITLE><br />
	<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.1  (Unix)"><br />
	<META NAME="AUTHOR" CONTENT="hangxun"><br />
	<META NAME="CREATED" CONTENT="20060719;10390000"><br />
	<META NAME="CHANGEDBY" CONTENT="winxp"><br />
	<META NAME="CHANGED" CONTENT="20071121;15290000"><br />
	<STYLE TYPE="text/css"><br />
	<!--<br />
		@page { margin-right: 3.18cm; margin-top: 2.54cm; margin-bottom: 1.75cm }<br />
		P { margin-left: 1.27cm; margin-top: 0.14cm; margin-bottom: 0.14cm; direction: ltr; color: #000000; line-height: 0.42cm; text-align: left; widows: 0; orphans: 0 }<br />
		P.western { font-family: "Arial", sans-serif; font-size: 9pt; so-language: en-US }<br />
		P.cjk { font-family: "宋体", "SimSun"; font-size: 9pt; so-language: zh-CN }<br />
		P.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA }<br />
		H2 { margin-left: 0.64cm; margin-top: 0.21cm; margin-bottom: 0.21cm; direction: ltr; color: #000000; line-height: 0.42cm; text-align: left; page-break-inside: avoid; widows: 0; orphans: 0 }<br />
		H2.western { font-family: "Arial", sans-serif; font-size: 12pt; so-language: en-US }<br />
		H2.cjk { font-family: "宋体", "SimSun"; font-size: 12pt; so-language: zh-CN; font-style: normal }<br />
		H2.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA }<br />
		H3 { margin-left: 0.64cm; margin-top: 0.21cm; margin-bottom: 0.21cm; direction: ltr; color: #000000; line-height: 0.42cm; text-align: left; page-break-inside: avoid; widows: 0; orphans: 0 }<br />
		H3.western { font-family: "Arial", sans-serif; font-size: 10pt; so-language: en-US }<br />
		H3.cjk { font-family: "宋体", "SimSun"; font-size: 10pt; so-language: zh-CN; font-style: normal }<br />
		H3.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA }<br />
		H4 { margin-left: 0.64cm; margin-top: 0.21cm; margin-bottom: 0.21cm; direction: ltr; color: #000000; line-height: 0.42cm; text-align: left; page-break-inside: avoid; widows: 0; orphans: 0 }<br />
		H4.western { font-family: "Arial", sans-serif; font-size: 10pt; so-language: en-US }<br />
		H4.cjk { font-family: "宋体", "SimSun"; font-size: 10pt; so-language: zh-CN; font-style: normal }<br />
		H4.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA }<br />
		A:link { color: #0000ff }<br />
		A:visited { color: #800080 }<br />
		A.western:visited { so-language: en-US }<br />
		A.cjk:visited { so-language: zh-CN }<br />
		A.ctl:visited { so-language: hi-IN }<br />
	--><br />
	</STYLE><br />
</HEAD><br />
<BODY LANG="zh-CN" TEXT="#000000" LINK="#0000ff" VLINK="#800080" DIR="LTR"><br />
<P STYLE="margin-left: 0cm; margin-top: 0.21cm; margin-bottom: 0cm; border-top: 5.00pt solid #000000; border-bottom: none; border-left: none; border-right: none; padding-top: 1.09cm; padding-bottom: 0cm; padding-left: 0cm; padding-right: 0cm; line-height: 0.42cm; page-break-inside: avoid; page-break-after: avoid"><br />
<BR><br />
</P><br />
<DIV ID="区域2" DIR="LTR"><br />
	<H2 CLASS="cjk"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">1.1<FONT FACE="文泉驿正黑">MySQL<br />
	replication</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">数据复制格式</SPAN></FONT></H2><br />
	<P STYLE="margin-left: 0.95cm; text-indent: 0.6cm; margin-top: 0.11cm; margin-bottom: 0.11cm; line-height: 100%"><br />
	<FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">这里我们基于</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">MySQL<br />
	5.1.20<br />
	Beta</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">描述</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">MySQL</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">两个</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">slave</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">端的</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">thread</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">发送和接收数据的格式。某些字段所占的字节数跟</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">MySQL</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">的版本有关，这里我们所描述的为</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">binlog</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">版本为</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">4</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">，</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">MySQL<br />
	server</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">版本为</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">5.1.20<br />
	Beta</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">下的数据格式。</SPAN></FONT></P><br />
	<H3 CLASS="cjk"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">1.1.1<FONT FACE="文泉驿正黑">MySQL<br />
	I/O thread</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">数据格式</SPAN></FONT></H3><br />
	<H4 CLASS="cjk"><FONT FACE="文泉驿正黑"><SPAN LANG="en-US">1.1.1.1</SPAN></FONT><FONT FACE="文泉驿正黑">向主服务器注册自己</FONT></H4><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">向主服务器注册自己并不是一个必须的操作，如果没有注册同样可以向主服务器请求数据。如果需要向主服务器注册，那么可以调用</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">mysql.h</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">中的</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">simple_command(mysql,<br />
	command, arg, length,<br />
	skip_check)</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">函数，在</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">arg</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">参数中依序填入下述的各个字段，并指定其中的参数</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">command</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">为</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">COM_REGISTER_SLAVE</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">以注册自己。</SPAN></FONT></FONT></FONT></P><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.67cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<BR><br />
	</P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=119><br />
		<COL WIDTH=122><br />
		<COL WIDTH=284><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=119 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0.64cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=122 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0.64cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=284 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0.64cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=119><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">server_id</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=122><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">4</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=284><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑">本</FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">MySQL<br />
				instance</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑">的</FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">server_id</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑">值</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=119><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">strlen(report_host)</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=122><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">1 or<br />
				2</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=284><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">标识接下来的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">report_host</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">的长度，如果长度</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">&lt;251</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">占</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">1</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">个字节，否则占两个字节</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=119><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">report_host</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=122><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">Strlen(report_host)</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=284><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">向主服务器注册的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">MySQL<br />
				instance</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">标识</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=119><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">strlen(report_user)</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=122><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">1 or<br />
				2</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=284><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">标识接下来的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">report_user</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">的长度，如果长度</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">&lt;251</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">占</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">1</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">个字节，否则占</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">2</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">个字节</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=119><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">report_user</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=122><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">Strlen(report_user)</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=284><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>向主服务器注册的用户名</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=119><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">strlen(report_password)</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=122><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">1 or<br />
				2</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=284><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">标识接下来的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">report_password</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">的长度，如果长度</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">&lt;251</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">占</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">1</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">个字节，否则占</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">2</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">个字节</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=119><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">report_password</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=122><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">Strlen(report_password)</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=284><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>向主服务器注册的密码</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=119><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">report_port</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=122><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">2</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=284><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>向主服务器注册的端口</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=119><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">rpl_recovery_rank</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=122><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">4</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=284><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>复制的恢复等级</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=119><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">master_id</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=122><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">4</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=284><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">填入</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">0</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">，主服务器将自行填入</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">master_id</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">值</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P ALIGN=CENTER STYLE="margin-left: 0cm; margin-top: 0.11cm; margin-bottom: 0.11cm; line-height: 100%"><br />
	<IMG SRC="http://hatemysql.com/wp-content/uploads/2011/10/mysql-replication%E6%95%B0%E6%8D%AE%E5%A4%8D%E5%88%B6%E6%A0%BC%E5%BC%8F_html_31a5ec28.gif" NAME="对象1" ALIGN=BOTTOM WIDTH=887 HEIGHT=159><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">图</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">1</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">、主服务器注册示意图</SPAN></FONT></P><br />
	<P STYLE="margin-left: 1.9cm; text-indent: 0.6cm; margin-top: 0.11cm; margin-bottom: 0.11cm; line-height: 100%"><br />
	<BR><BR><br />
	</P><br />
	<H4 CLASS="cjk"><FONT FACE="文泉驿正黑"><SPAN LANG="en-US">1.1.1.2</SPAN></FONT><FONT FACE="文泉驿正黑">向主服务器请求数据</FONT></H4><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">从服务器向主服务器发送了请求数据的命令以后主服务器将根据要求将对应</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">binlog</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">文件的指定位置开始的事件记录发送给从服务器。向主服务器请求数据，可以调用</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">mysql.h</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">中的</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">simple_command(mysql,<br />
	command, arg, length,<br />
	skip_check)</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">函数，在</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">arg</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">参数中依序填入下述的各个字段，并指定其中的参数</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">command</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">为</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">COM_BINLOG_DUMP</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">。</SPAN></FONT></FONT></FONT></P><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.67cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<BR><br />
	</P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=132><br />
		<COL WIDTH=158><br />
		<COL WIDTH=235><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=132 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0.64cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=158 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0.64cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=235 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0.64cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=132><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">master_log_pos</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=158><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">4</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=235><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">请求主服务器发送的事件记录在</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">binlog</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">文件中的偏移量</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=132><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">binlog_flags</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=158><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">2</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=235><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">暂时填</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">0</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">，做扩展用</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=132><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">server_id</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=158><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">4</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=235><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑">本</FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">MySQL<br />
				instance</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑">的</FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">server_id</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑">值</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=132><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm; widows: 0; orphans: 0"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">logname</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=158><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">Strlen(logname)</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=235><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">请求主服务器发送的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">binlog</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">文件的文件名</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">如果没有指定</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">MySQL</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">使用</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">methods</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">，那么我们应该调用函数</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">sql_common.h</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">头文件中的</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">cli_advanced_command</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">（）代替</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">simple_command</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">（）。</SPAN></FONT></FONT></FONT></P><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">向主服务器请求了数据以后，从服务器就可以通过</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">cli_safe_read(mysql);</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">获得主服务器发送过来的数据，每次获得一个事件记录的数据。</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">cli_safe_read</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">的返回值标示了从主服务器发送过来的数据的数据字节数。而发送过来的数据保存在</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">mysql-&gt;net-&gt;read_pos</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">数组中。</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">I/O<br />
	thread</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">模块可以利用</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">MySQL</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">的</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">io_cache</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">将对应事件记录存储到</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">relay-log</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">文件中。</SPAN></FONT></FONT></FONT></P><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<BR><br />
	</P><br />
	<H4 CLASS="cjk"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">1.1.1.3<FONT FACE="文泉驿正黑">MySQL<br />
	binlog</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">文件初始化</SPAN></FONT></H4><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">由于</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">MySQL<br />
	binlog</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">的特殊性，以及为了</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">mysqlbinlog</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">工具能够识别我们</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">relay-log</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">文件，在新建一个</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">relay-log</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">文件时必须写入一定的初始化数据。这些初始化数据依序包括如下字段：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=128><br />
		<COL WIDTH=167><br />
		<COL WIDTH=231><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=128 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0.64cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=167 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0.64cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=231 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0.64cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=128><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">BINLOG_MAGIC</FONT><FONT FACE="文泉驿正黑">(</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">即</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">&quot;\xfe\x62\x69\x6e&quot;)</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=167><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">BIN_LOG_HEADER_SIZE</FONT><FONT FACE="文泉驿正黑">(4)</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=231><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">Binlog</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">文件的标识值</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<BR><br />
	</P><br />
	<H3 CLASS="cjk"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">1.1.2<FONT FACE="文泉驿正黑">MySQL<br />
	SQL thread</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">数据格式</SPAN></FONT></H3><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">只要循环的调用</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">cli_safe_read</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">函数，从服务器可以不断得到从主服务器发送过来的事件记录。接下来我们介绍一下相关的一些事件记录格式。在提交了</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">COM_BINLOG_DUMP</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">命令后，主服务器首先给从服务器发送的两个事件依序分别为</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">ROTATE_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">和</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">FORMAT_DESCRIPTION_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件。</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">ROTATE_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件用来标示接下来主服务器将从哪一个</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">binlog</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">文件的哪个位置开始发送事件记录。而</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">FORMAT_DESCRIPTION_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件用来记录本</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">MySQL<br />
	instance</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">的</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">server_id</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">值，</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">binlog</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">版本号，</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">MySQL<br />
	server</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">的版本，本</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">relay-log</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">创建的时间以及各个不同事件的事件头所占的字节数等信息。我们关心的其他的事件记录的格式包括</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">WRITE_ROWS_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">，</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">UPDATE_ROWS_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">，</SPAN></FONT></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">DELETE_ROWS_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">等。</SPAN></FONT></FONT></FONT></P><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<BR><br />
	</P><br />
	<H4 CLASS="cjk"><FONT FACE="文泉驿正黑"><SPAN LANG="en-US">1.1.2.1</SPAN></FONT><FONT FACE="文泉驿正黑">事件头字段描述</FONT></H4><br />
	<P CLASS="cjk" STYLE="margin-left: 0.64cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="文泉驿正黑"><FONT SIZE=2>各个事件都包括一个事件头，事件头的字段格式如下：</FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=78><br />
		<COL WIDTH=45><br />
		<COL WIDTH=403><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=78 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=45 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=403 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=78><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">W</FONT><FONT FACE="文泉驿正黑">hen</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=45><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">4</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=403><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>事件的创建时间。</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=78><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">Type</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=45><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">1</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=403><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">事件的类型</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">(</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">见附录</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">1)</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">。</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=78><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">server_id</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=45><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">4</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=403><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">事件发生时所在</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">MySQL</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">server_id</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">值。</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=78><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">data_written</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=45><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">4</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=403><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>该事件一共占用的字节数，包括事件头的字节数。</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=78><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">log_pos</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=45><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">4</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=403><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">下一事件在</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">binlog</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">文件中将要开始的位置，即本事件的结束位置</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=78><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">Flags</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=45><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">2</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=403><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>事件的其他标志位。</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<BR><br />
	</P><br />
	<H4 CLASS="cjk"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">1.1.2.2<FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">ROTATE_EVENT</FONT></FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件字段描述</SPAN></FONT></FONT></H4><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">由于各个事件的事件头基本一致，这里我们就不重复介绍事件头的各字段了，后面的各个事件我们也都将忽略对事件头字段的描述。</FONT></FONT></P><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">ROTATE_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的附加事件头字段主要包括：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=76><br />
		<COL WIDTH=46><br />
		<COL WIDTH=403><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=76 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=46 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=403 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=76><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">pos</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=46><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">8</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=403><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">主服务器将要发送的事件记录在</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">binlog</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">文件中的偏移量。一般为从服务器提交的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">COM_BINLOG_DUMP</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">请求中的偏移量值。</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">ROTATE_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的其他信息字段主要包括：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=74><br />
		<COL WIDTH=111><br />
		<COL WIDTH=340><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=111 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=340 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">new_log_ident</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=111><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">strlen(new_log_ident)</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=340><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">主服务器将要发送的事件记录的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">binlog</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">文件名。一般为从服务器提交的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">COM_BINLOG_DUMP</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">请求中的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">binlog</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">文件名。</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<BR><br />
	</P><br />
	<H4 CLASS="cjk"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">1.1.2.3<FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">FORMAT_DESCRIPTION_EVENT</FONT></FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件字段描述</SPAN></FONT></FONT></H4><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">FORMAT_DESCRIPTION_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的附加事件头的字段如下：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=88><br />
		<COL WIDTH=155><br />
		<COL WIDTH=282><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=88 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=155 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=282 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=88><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">binlog_version</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=155><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">2</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=282><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">Binlog</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">文件的版本号，这里一般为最新的版本号</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">4</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=88><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">server_version</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=155><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">ST_SERVER_VER_LEN(50)</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=282><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">MySQL</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">的版本号。例如：”</SPAN></FONT><FONT FACE="文泉驿正黑"><br />
				</FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">5.1.20-beta-log”</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=88><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">Created</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=155><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">4</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=282><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">事件创建时间，这里一般和事件头中的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">when</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">一致</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=88><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">event_header_len</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=155><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">1</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=282><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">一般事件的事件头长度，一般设置为：</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">LOG_EVENT_HEADER_LEN(19)</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=88><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">post_header_len</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=155><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">ENUM_END_EVENT-1(26)</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=282><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">不同事件类型的附加事件头的长度，见附录</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">2</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">。</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P STYLE="margin-left: 1.91cm; margin-top: 0.11cm; margin-bottom: 0.11cm; line-height: 100%"><br />
	<BR><BR><br />
	</P><br />
	<H4 CLASS="cjk"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">1.1.2.4<FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">TABLE_MAP_EVENT</FONT></FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件字段描述</SPAN></FONT></FONT></H4><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">TABLE_MAP_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的附加事件头的字段如下：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=92><br />
		<COL WIDTH=201><br />
		<COL WIDTH=232><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=92 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=201 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=232 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=92><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_table_id</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=201><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">6(5.1.4</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">前的版本中为</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">4)</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=232><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">id</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">标识符</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=92><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_flags</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=201><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">2</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=232><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的各种标志位，见附录</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">4</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">TABLE_MAP_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的其他信息字段主要包括：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=53><br />
		<COL WIDTH=91><br />
		<COL WIDTH=382><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=53 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=91 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=382 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=53><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_dblen</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=91><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">1</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=382><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>数据库名的长度</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=53><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_dbnam</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=91><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_dblen+1</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=382><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">数据库名，以’</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">\0’</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">结尾</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=53><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_tbllen</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=91><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">1</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=382><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>表名的长度</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=53><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_tblnam</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=91><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_tbllen+1</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=382><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表名，以’</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">\0’</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">结尾</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=53><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_colcnt</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=91><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">net_field_length()</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=382><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的字段个数，所占字节数根据第一个字节的大小由</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">net_field_length</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">函数确定</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=53><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_coltype</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=91><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_colcnt</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=382><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的各个字段的字段类型，参见附录</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">3</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">。</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P STYLE="margin-left: 0.95cm; margin-top: 0.11cm; margin-bottom: 0.11cm; line-height: 100%"><br />
	<BR><BR><br />
	</P><br />
	<H4 CLASS="cjk"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">1.1.2.5<FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">WRITE_ROWS_EVENT</FONT></FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件字段描述</SPAN></FONT></FONT></H4><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">WRITE_ROWS_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的附加事件头的字段如下：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=92><br />
		<COL WIDTH=201><br />
		<COL WIDTH=232><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=92 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=201 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=232 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=92><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_table_id</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=201><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">6(5.1.4</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">前的版本中为</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">4)</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=232><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">id</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">标识符</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=92><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_flags</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=201><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">2</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=232><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的各种标志位，见附录</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">4</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">WRITE_ROWS_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的其他信息字段主要包括：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=74><br />
		<COL WIDTH=118><br />
		<COL WIDTH=334><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=118 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=334 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_width</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=118><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">net_field_length()</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=334><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的各列的位图长度，所占字节数根据第一个字节的大小由</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">net_field_length</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">函数确定</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_cols.bitmap</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=118><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">(m_width<br />
				+ 7) / 8</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=334><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的各列的位图，每一位表示</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">m_rows_buf</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">是否包含表中一列的值，如果没有置位表示该列的值没有包含在</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">m_rows_buf</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">中</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_rows_buf</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=118><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">剩余字节数</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">(len-</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">已占字节数</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">)</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=334><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>将要插入到表中的一行数据值。</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<BR><br />
	</P><br />
	<H4 CLASS="cjk"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">1.1.2.6<FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">UPDATE_ROWS_EVENT</FONT></FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件字段描述</SPAN></FONT></FONT></H4><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">UPDATE_ROWS_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的附加事件头的字段如下：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=92><br />
		<COL WIDTH=201><br />
		<COL WIDTH=232><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=92 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=201 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=232 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=92><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_table_id</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=201><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">6(5.1.4</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">前的版本中为</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">4)</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=232><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">id</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">标识符</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=92><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_flags</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=201><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">2</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=232><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的各种标志位，见附录</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">4</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">UPDATE_ROWS_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的其他信息字段主要包括：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=89><br />
		<COL WIDTH=155><br />
		<COL WIDTH=281><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=89 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=155 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=281 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=89><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_width</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=155><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">net_field_length()</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=281><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的各列的位图长度，所占字节数根据第一个字节的大小由</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">net_field_length</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">函数确定</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=89><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_cols.bitmap</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=155><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">(m_width<br />
				+ 7) / 8</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=281><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表中被匹配行数据的各列的位图，每一位表示</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">m_rows_buf</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">是否包含表中该列的值。</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=89><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_cols_ai.bitmap</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=155><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">(m_width<br />
				+ 7) / 8</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=281><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表中将要更新的行数据的各列的位图，每一位表示</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">m_rows_buf</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">是否包含表中一列的值。</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=89><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_rows_buf</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=155><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">剩余字节数</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">(len-</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">已占字节数</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">)</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=281><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>表中被匹配的那一行数据的值以及将要更新的一行数据值。</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P STYLE="margin-left: 0.95cm; margin-top: 0.11cm; margin-bottom: 0.11cm; line-height: 100%"><br />
	<BR><BR><br />
	</P><br />
	<H4 CLASS="cjk"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">1.1.2.7<FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">DELETE_ROWS_EVENT</FONT></FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件字段描述</SPAN></FONT></FONT></H4><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">DELETE_ROWS_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的附加事件头的字段如下：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=113><br />
		<COL WIDTH=242><br />
		<COL WIDTH=171><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=113 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=242 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=171 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=113><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_table_id</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=242><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">6(5.1.4</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">前的版本中为</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">4)</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=171><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">id</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">标识符</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=113><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_flags</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=242><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">2</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=171><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>表的各种标志位</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">DELETE<br />
	_ROWS_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的其他信息字段主要包括：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=74><br />
		<COL WIDTH=118><br />
		<COL WIDTH=334><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=118 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=334 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_width</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=118><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">net_field_length()</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=334><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的各列的位图长度，所占字节数根据第一个字节的大小由</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">net_field_length</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">函数确定</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_cols.bitmap</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=118><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">(m_width<br />
				+ 7) / 8</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=334><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">表的各列的位图，每一位表示</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">m_rows_buf</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">是否包含表中一列的值。</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">m_rows_buf</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=118><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">剩余字节数</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">(len-</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">已占字节数</SPAN></FONT></FONT><FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">)</FONT></SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=334><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>表中将要删除的一行数据值。</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 0.6cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<BR><br />
	</P><br />
	<H4 CLASS="cjk"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">1.1.2.8<FONT FACE="文泉驿正黑">XID_EVEN</FONT><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">T</FONT></FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件字段描述</SPAN></FONT></FONT></H4><br />
	<P STYLE="margin-left: 0.95cm; text-indent: 0.6cm; margin-top: 0.11cm; margin-bottom: 0.11cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">XID_EVENT</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">一般出现在一个事务操作</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">(transaction)</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">之后或者其他语句提交之后。它的主要作用是提交事务操作和把事件刷新至</SPAN></FONT><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">binlog</FONT></SPAN></FONT><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">文件中。</SPAN></FONT></P><br />
	<P CLASS="cjk" STYLE="margin-left: 0.63cm; text-indent: 1.01cm; margin-top: 0cm; margin-bottom: 0cm; line-height: 100%"><br />
	<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">XID</FONT><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt">_EVENT</FONT></FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zh-CN">事件的信息字段包括：</SPAN></FONT></FONT></FONT></P><br />
	<TABLE WIDTH=569 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0><br />
		<COL WIDTH=74><br />
		<COL WIDTH=118><br />
		<COL WIDTH=334><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>名称</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=118 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>字节数</FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=334 BGCOLOR="#b3b3b3"><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2>含义</FONT></FONT></P><br />
			</TD><br />
		</TR><br />
		<TR VALIGN=TOP><br />
			<TD WIDTH=74><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">xid</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=118><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="文泉驿正黑"><FONT SIZE=2><SPAN LANG="en-US">sizeof(xid)<br />
				8</SPAN></FONT></FONT></P><br />
			</TD><br />
			<TD WIDTH=334><br />
				<P CLASS="cjk" ALIGN=JUSTIFY STYLE="margin-left: 0cm; margin-top: 0cm"><br />
				<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><FONT FACE="文泉驿正黑">commit</FONT></SPAN></FONT></FONT><FONT SIZE=2><FONT FACE="文泉驿正黑"><SPAN LANG="zh-CN">标识符</SPAN></FONT></FONT></P><br />
			</TD><br />
		</TR><br />
	</TABLE><br />
	<P STYLE="margin-left: 0.95cm; margin-top: 0.11cm; margin-bottom: 0.11cm; line-height: 100%"><br />
	<BR><BR><br />
	</P><br />
</DIV><br />
<DIV TYPE=FOOTER><br />
	<P ALIGN=CENTER STYLE="margin-left: 0cm; margin-top: 0.69cm; margin-bottom: 0cm; line-height: 100%"><br />
	<SDFIELD TYPE=PAGE SUBTYPE=RANDOM FORMAT=PAGE><FONT FACE="Times New Roman, serif">5</FONT></SDFIELD></P><br />
</DIV><br />
</BODY><br />
</HTML></p>
]]></content:encoded>
			<wfw:commentRss>http://hatemysql.com/2011/10/29/mysql-replication%e6%95%b0%e6%8d%ae%e5%a4%8d%e5%88%b6%e6%a0%bc%e5%bc%8f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL 5.1的新特性</title>
		<link>http://hatemysql.com/2011/10/29/mysql-5-1%e7%9a%84%e6%96%b0%e7%89%b9%e6%80%a7/</link>
		<comments>http://hatemysql.com/2011/10/29/mysql-5-1%e7%9a%84%e6%96%b0%e7%89%b9%e6%80%a7/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 01:41:17 +0000</pubDate>
		<dc:creator>pickup.lichun</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://hatemysql.com/?p=188</guid>
		<description><![CDATA[mysql 5.1的新特性，主要是翻译的MySQL reference相关章节]]></description>
			<content:encoded><![CDATA[<p>把08年左右自己写的东西翻出来凑个数，主要是翻译的MySQL reference相关章节</p>
<p>MySQL 5.1的新特性<br />
MySQL在版本5.1中增加了很多新特性，其中的row based replication是mmrd要求必须满足的条件。目前为止，也许是出于谨慎或者稳定性的目的，MySQL 5.1虽然已经出到版本5.1.26了，仍然是Release Candidate Development Release，不能用于生产环境。不过SUN和MySQL公司还是声称将于近期推出可供生产环境使用的Release版本。下面我们列出主要的MySQL的主要新特性并进行简单介绍。</p>
<p>Partitioning分区<br />
数据库分区是一种物理数据库设计技术，虽然分区技术可以实现很多效果，但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。分区主要有两种形式：（这里一定要注意行和列的概念（row是行，column是列））<br />
水平分区（Horizontal Partitioning）：这种形式分区是对表的行进行分区，通过这样的方式不同分组里面的物理列分割的数据集得以组合，从而进行个体分割（单分区）或集体分割（1个或多个分区）。所有在表中定义的列在每个数据集中都能找到，所以表的特性依然得以保持。举个简单例子：一个包含十年发票记录的表可以被分区为十个不同的分区，每个分区包含的是其中一年的记录。<br />
垂直分区（Vertical Partitioning）：这种分区方式一般来说是通过对表的垂直划分来减少目标表的宽度，使某些特定的列被划分到特定的分区，每个分区都包含了其中的列所对应的行。举个简单例子：一个包含了大text和BLOB列的表，这些text和BLOB列又不经常被访问，这时候就要把这些不经常使用的text和BLOB了划分到另一个分区，在保证它们数据相关性的同时还能提高访问速度。<br />
在数据库供应商开始在他们的数据库引擎中建立分区（主要是水平分区）时，DBA和建模者必须设计好表的物理分区结构，不要保存冗余的数据（不同表中同时都包含父表中的数据）或相互联结成一个逻辑父对象（通常是视图）。这种做法会使水平分区的大部分功能失效，有时候也会对垂直分区产生影响。<br />
分区带来的好处有很多，这里列出两点：<br />
性能的提升（Increased performance）：在扫描操作中，如果MySQL的优化器知道哪个分区中才包含特定查询中需要的数据，它就能直接去扫描那些分区的数据，而不用浪费很多时间扫描不需要的地方 了。需要举个例子，百万行的表划分为10个分区，每个分区就包含十万行数据，那么查询分区需要的时间仅仅是全表扫描的十分之一了，很明显的对比。同时对十万行的表建立索引的速度也会比百万行的快得多得多。如果你能把这些分区建立在不同的磁盘上，这时候的I/O读写速度就提升很多了。<br />
对数据管理的简化（Simplified data management）：分区技术可以让DBA对数据的管理能力提升。通过优良的分区，DBA可以简化特定数据操作的执行方式。例如：DBA在对某些分区的内容进行删除的同时能保证余下的分区的数据完整性(这是跟对表的数据删除这种大动作做比较的)。<br />
此外分区是由MySQL系统直接管理的，DBA不需要手工的去划分和维护。</p>
<p>Row-based replication<br />
MySQL5.1以前的replication都是statement replication，它把在master端提交的语句记录到binlog并传播到它的各个salve服务器，slave服务器读取并翻译提交对应的statement语句。从5.1.5开始，MySQL就支持另一种复制手段：row-based replication。这种复制方式不同于statement replication，它在binlog中记录的是修改更新语句对MySQL数据表行数据的影响，实际上记录的是表结构信息和具体的各行数据信息。在5.1.8中还推出了两种方式的组合mixed形式的复制并做为MySQL 5.1的缺省复制模式。它默认采用statement replication，而只有在特别的情况下才采用row-based replication。<br />
行复制的引入能够避免一些master和slave环境不同引起的问题的出现，所有的字段和对应的值都被复制到slave段，从而保持slave和master数据的一致性。</p>
<p>Plugin API.<br />
MySQL5.1提供了一套灵活的plugin api，它可以在不重启服务器的基础上实时地装载和卸载各种不同的组件。这些plugin API可以包括（不限于）：全文检索，存储引擎和服务器扩展等方面。例如：plugin full-text parsers就允许用户在索引文本上添加他们自己的输入过滤器，从而可以在PDF或者其他文件类型的文本上实现全文检索的目的。pre-parser full-text plugin将从文本中分析和抽取出具体的信息并传给MySQL本身的全文检索模块。</p>
<p>Event scheduler<br />
事件调度器是在 MySQL 5.1中新增的另一个特色功能，可以作为定时任务调度器，取代部分原先只能用操作系统任务调度器才能完成的定时功能。例如，Linux中的crontab只能精确到每分钟执行一次，而MySQL的事件调度器则可以实现每秒钟执行一个任务，这在一些对实时性要求较高的环境下就非常实用了。<br />
事件调度器是定时触发执行的，在这个角度上也可以称作是”临时的触发器”。触发器只是针对某个表产生的事件执行一些语句，而事件调度器则是在某一个 (间隔)时间执行一些语句。事件是由一个特定的线程来管理的，也就是所谓的”事件调度器”。启用事件调度器后，拥有 SUPER 权限的账户执行SHOW PROCESSLIST就可以看到这个线程了。通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用。</p>
<p>Server log tables<br />
在版本5.1之前，MySQL的general query log和slow query log都是写在日志文件中的。5.1中就灵活多了。日志记录可以写在日志文件中，也可以写在mysql数据库中的表general_log和slow_log中。如果开启了logging的功能，用户可以选择它们其中的一个或者全都记录对应的日志信息。可以通过控制选项&#8211;log-output来决定日志信息的记录方式。</p>
<p>Upgrade program<br />
mysql_upgrade工具可以检查所有现有数据表来查看它是否与现有的MySQL服务器的版本兼容，并且在必要的时候修复它们。在每一次MySQL升级时，都应该使用该工具来检查一下。</p>
<p>MySQL Cluster replication<br />
Replication现在可以支持MySQL cluster之间的复制机制了，并且，现在也支持在MySQL cluster和非cluster之间的复制。</p>
<p>MySQL Cluster disk data storage<br />
在MySQL 5.1.6版本以前，NDBCLUSTER存储引擎只能在内存中使用。之后，cluster的数据就可以存储在磁盘上了（不包括索引数据）。这使得MySQL cluster对内存的依赖减少了。<br />
Improved backups for MySQL Cluster<br />
在老版本的MySQL cluster中，cluster数据备份过程中单个节点的错误将导致整个备份过程的失败。但是新版本中不会出现这个问题。</p>
<p>MySQL Cluster NDB 6.x<br />
在MySQL Cluster NDB 6.x中改进了很多并且还增加了一些新的特性。</p>
<p>Backup of tablespaces<br />
mysqldump现在支持导出tablespaces的选项。可以使用-Y或者&#8211;all-tablespaces来启用该功能。</p>
<p>Improvements to INFORMATION_SCHEMA<br />
相比5.0，5.1版本的MySQL在它的元数据数据库information_schema中提供了更多的信息。在这个数据库中新的数据表包括：FILES, EVENTS, PARTITIONS, PROCESSLIST, ENGINES, and PLUGINS.</p>
<p>XML functions with XPath support<br />
在MySQL 5.1中，可以利用ExtractValue()返回匹配XPath串中XML片段的内容。也可以使用UpdateXML()来用一个XML片段元素来替换XPath串中的某一段XML片段元素，并返回替换后的串。</p>
<p>Load emulator<br />
mysqlslap工具用来模拟客户端压力并报告每一步的时间消耗。它模拟很多个client连接MySQL server的情况。</p>
]]></content:encoded>
			<wfw:commentRss>http://hatemysql.com/2011/10/29/mysql-5-1%e7%9a%84%e6%96%b0%e7%89%b9%e6%80%a7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bonding切换网口</title>
		<link>http://hatemysql.com/2011/09/22/bonding%e5%88%87%e6%8d%a2%e7%bd%91%e5%8f%a3/</link>
		<comments>http://hatemysql.com/2011/09/22/bonding%e5%88%87%e6%8d%a2%e7%bd%91%e5%8f%a3/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 06:59:09 +0000</pubDate>
		<dc:creator>pickup.lichun</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[bond0]]></category>
		<category><![CDATA[eth0]]></category>
		<category><![CDATA[eth1]]></category>
		<category><![CDATA[eth2]]></category>
		<category><![CDATA[ifenslave]]></category>
		<category><![CDATA[ip_mpadm]]></category>

		<guid isPermaLink="false">http://hatemysql.com/?p=182</guid>
		<description><![CDATA[把一批机器的bonding切换到另外一边去，包括linux和solaris的机器。
最后在linux平台上用ifenslave
和solaris平台的if_mpadm
两个工具解决了这个问题]]></description>
			<content:encoded><![CDATA[<p>今天接到一个任务，需要把一批机器的bonding切换到另外一边去，包括linux和solaris的机器。<br />
最后在linux平台上用ifenslave<br />
和solaris平台的if_mpadm<br />
两个工具解决了这个问题</p>
<p>这两个工具都是用于控制和管理网卡bonding的工具，非常方便。<br />
ifenslave可以创建bond device；可以将网口attach进bond device；可以将网口提出bond device;可以将bond的目前active网口切换到另外一个活动的网口上。<br />
cat /proc/net/bonding/bond0<br />
可以查看bond0目前的网口</p>
<p>比如<br />
ifenslave -d bond0 eth2<br />
会将eth2从bond0中踢出去。<br />
ifenslave bond0 eth2<br />
会将eth2加入bond0<br />
而我需要的功能：<br />
ifenslave -c bond0 eth2<br />
会将bond0的活动网口切换到eth2上。</p>
<p>而solaris的平台上，if_mpadm也有类似的功能<br />
if_mpadm -d  interface_name<br />
用于撤销(detach or  off-line )这个网口，这样另外一个网口就会接管这个bond0<br />
if_mpadm -r  interface_name<br />
将(Reattach  or  undo)恢复这块网口的状态。<br />
在solaris上可以用ifconfig -a查看网口和bond的信息</p>
<p>may your successs</p>
]]></content:encoded>
			<wfw:commentRss>http://hatemysql.com/2011/09/22/bonding%e5%88%87%e6%8d%a2%e7%bd%91%e5%8f%a3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>非常规change master</title>
		<link>http://hatemysql.com/2011/08/23/%e9%9d%9e%e5%b8%b8%e8%a7%84change-master/</link>
		<comments>http://hatemysql.com/2011/08/23/%e9%9d%9e%e5%b8%b8%e8%a7%84change-master/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 13:58:33 +0000</pubDate>
		<dc:creator>pickup.lichun</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[change master]]></category>
		<category><![CDATA[备份]]></category>
		<category><![CDATA[复制]]></category>
		<category><![CDATA[非常规]]></category>

		<guid isPermaLink="false">http://hatemysql.com/?p=176</guid>
		<description><![CDATA[最近做了一些搭建复制和迁移替换MySQL备机的工作。
特别记录下来MySQL非常规change master的小技巧。
]]></description>
			<content:encoded><![CDATA[<pre>最近做了一些搭建复制和迁移替换MySQL备机的工作。
特别记录下来MySQL非常规change master的小技巧。

1、问题1：
A&lt;-&gt;B
C
A和B相互复制，应用访问A，现在需要搭建A到C的复制。A和B不对等，尽量避免应用切换到访问B。
回答：
在B上做备份，由于B是standby；不管你是做冷备，逻辑热备，逻辑冷备...都可以，把数据导入到C。
之后，搭建B到C的复制如下：
A &lt;-&gt; B -&gt; C
这里停掉B的IO 线程，来确保B的SQL线程已经赶上IO线程，
此时，B不再赶A的复制，并且确定B到C的复制延迟都为0以后。
B和C的数据是保持完全一致的。
那么此时B复制到的位置就可以作为C change master 的位置。
简单写的脚本如下：
while read LINE; do
    OFFER_D_IP=`echo "$LINE" | awk '{print $1}'`
    OFFER_D_SOCK=`echo "$LINE" | awk '{print $2}'`

    SLAVE_STATUS_D=`ssh -n root@$OFFER_D_IP "mysql -S $OFFER_D_SOCK -uroot -pxxxx -e 'show slave status\G'"`
    OFFER_B_IP=`echo "$SLAVE_STATUS_D" | grep 'Master_Host:' | awk '{print $2}'`

    # stop io thread of offer b
    ssh -n root@$OFFER_B_IP "mysql -S /data/mysqldata/sock/mysql.sock -uroot -pxxxx -e 'stop slave io_thread'";

    # check if offer b, offer d slave have catch up
    #SLAVE_STATUS_D=`ssh -n root@$OFFER_D_IP "mysql -S $OFFER_D_SOCK -uroot -pxxxx -e 'show slave status\G'"`
    while [ 1 ]; do
        SECOND_BEHIND=`echo "$SLAVE_STATUS_D" | grep 'Seconds_Behind_Master:' | awk '{print $2}'`
        if [ $SECOND_BEHIND -eq 0 ]; then
            break
        fi
        sleep 1
    done
    SLAVE_STATUS_B=`ssh -n root@$OFFER_B_IP "mysql -S /data/mysqldata/sock/mysql.sock -uroot -pxxxx -e 'show slave status\G'"`
    while [ 1 ]; do
        SECOND_BEHIND=`echo "$SLAVE_STATUS_B" | grep 'Seconds_Behind_Master:' | awk '{print $2}'`
        if [ "x$SECOND_BEHIND" == "xNULL" ]; then
            break
        fi

        sleep 1
    done

    # build change master sql
    MASTER_HOST=`echo "$SLAVE_STATUS_B" | grep 'Master_Host:' | awk '{print $2}'`
    MASTER_LOG_FILE=`echo "$SLAVE_STATUS_B" | grep 'Relay_Master_Log_File:' | awk '{print $2}'`
    MASTER_LOG_POS=`echo "$SLAVE_STATUS_B" | grep 'Exec_Master_Log_Pos:' | awk '{print $2}'`
    CHANGE_MASTER_SQL="stop slave; CHANGE MASTER TO MASTER_HOST='$MASTER_HOST',    MASTER_PORT=3306,  MASTER_USER='repl',     MASTER_PASSWORD='xxxx',     MASTER_LOG_FILE='$MASTER_LOG_FILE',     MASTER_LOG_POS=$MASTER_LOG_POS;  start slave;"
    echo "$CHANGE_MASTER_SQL"

    # change master of offerd
    ssh -n root@$OFFER_D_IP "mysql -S $OFFER_D_SOCK -uroot -pxxxx -e \"$CHANGE_MASTER_SQL\""
    ssh -n root@$OFFER_D_IP "mysql -S $OFFER_D_SOCK -uroot -pxxxx -e 'show slave status\G'"

    # start offer d slave
    ssh -n root@$OFFER_B_IP "mysql -S /data/mysqldata/sock/mysql.sock -uroot -pxxxx -e 'start slave'"

done  &lt;host.list
该脚本读取host.list参数文件获得C(OFFER_D)的IP和sock。B的IP通过C的show slave status获得。

问题2、
D &lt;- A &lt;-&gt; B -&gt; C
A和B互为主备，C为B的备机，D为A的备机。需要把C change master到D。形成：
C &lt;- D &lt;- A &lt;-&gt; B
的结构
回答：
这里我们在A上故意制造了binlog复制错误。
set sql_log_bin=0; use test; create table test_del (id int NOT NULL AUTO_INCREMENT, PRIMARY KEY(id)); set sql_log_bin=1; drop table test_del;
使得B和D都停止在同一个复制位置。也就是说，此时B和D的数据是完全一致的。
这样在D上show master status\G就是C change master 的位置。
简单写了一个脚本如下：
while read LINE; do
    XY_OFFER_A_IP=`echo "$LINE" | awk '{print $1}'`
    XY_OFFER_B_IP=`echo "$LINE" | awk '{print $2}'`
    QD_OFFER_C_IP=`echo "$LINE" | awk '{print $5}'`
    QD_OFFER_C_SOCK=`echo "$LINE" | awk '{print $6}'`
    XY_OFFER_D_IP=`echo "$LINE" | awk '{print $7}'`
    XY_OFFER_D_SOCK=`echo "$LINE" | awk '{print $8}'`
    echo "$XY_OFFER_A_IP"
    echo "$XY_OFFER_B_IP"
    echo "$QD_OFFER_C_IP"

    MYSQL_ROOT_PASS="xxxx"

    ssh -n root@$XY_OFFER_A_IP "mysql -uroot -p$MYSQL_ROOT_PASS -e 'set sql_log_bin=0; use test; create table test_del (id int NOT NULL AUTO_INCREMENT, PRIMARY KEY(id)); set sql_log_bin=1; drop table test_del;'"

    while [ 1 ]; do
        XY_SLAVE_STATUS_D=`ssh -n root@$XY_OFFER_D_IP "mysql -S $XY_OFFER_D_SOCK -uroot -p$MYSQL_ROOT_PASS -e 'show slave status\G'"`
        SLAVE_SQL_STATUS=`echo "$XY_SLAVE_STATUS_D" | grep 'Slave_SQL_Running:' | awk '{print $2}'`
        if [ "x$SLAVE_SQL_STATUS" == "xNo" ]; then
            break
        fi
        sleep 1
    done

    while [ 1 ]; do
        XY_SLAVE_STATUS_B=`ssh -n root@$XY_OFFER_B_IP "mysql -S /data/mysqldata2/sock/mysql.sock -uroot -p$MYSQL_ROOT_PASS -e 'show slave status\G'"`
        SLAVE_SQL_STATUS=`echo "$XY_SLAVE_STATUS_B" | grep 'Slave_SQL_Running:' | awk '{print $2}'`
        if [ "x$SLAVE_SQL_STATUS" == "xNo" ]; then
            break
        fi
        sleep 1
    done

    # now we have xy-offer-d and xy-offer-b slave stop at the same place
    # we can now change master of qingdao-offer-c from xy-offer-b to xy-offer-d
    XY_MASTER_STATUS=`ssh -n root@$XY_OFFER_D_IP "mysql -S $XY_OFFER_D_SOCK -uroot -p$MYSQL_ROOT_PASS -e 'show master status\G'"`
    MASTER_LOG_FILE=`echo "$XY_MASTER_STATUS" | grep 'File:' | awk '{print $2}'`
    MASTER_LOG_POS=`echo "$XY_MASTER_STATUS" | grep 'Position:' | awk '{print $2}'`
    ssh -n root@$QD_OFFER_C_IP "mysql -S $QD_OFFER_C_SOCK -uroot -p$MYSQL_ROOT_PASS -e \"stop slave; CHANGE MASTER TO MASTER_HOST='$XY_OFFER_D_IP',    MASTER_PORT=3306,  MASTER_USER='repl',     MASTER_PASSWORD='xxxx',     MASTER_LOG_FILE='$MASTER_LOG_FILE',     MASTER_LOG_POS=$MASTER_LOG_POS;  start slave;\""

    # now we start the slave of xy offer b and xy offer d slave
    ssh  -n root@$XY_OFFER_D_IP "mysql -S $XY_OFFER_D_SOCK -uroot -p$MYSQL_ROOT_PASS  -e 'stop slave; SET GLOBAL sql_slave_skip_counter = 1; start slave;'";
    ssh  -n root@$XY_OFFER_B_IP "mysql -S /data/mysqldata2/sock/mysql.sock -uroot -p$MYSQL_ROOT_PASS  -e 'stop slave; SET GLOBAL sql_slave_skip_counter = 1; start slave;'";

done  &lt;host.list
该脚本读取host.list参数文件获得A(XY_OFFER_A)，B(XY_OFFER_B)的IP，C(QD_OFFER_C)的IP和sock，D(XY_OFFER_D)的IP和sock。

may your success
</pre>
]]></content:encoded>
			<wfw:commentRss>http://hatemysql.com/2011/08/23/%e9%9d%9e%e5%b8%b8%e8%a7%84change-master/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>flashcache_load resource busy问题</title>
		<link>http://hatemysql.com/2011/08/08/flashcache_load-resource-busy%e9%97%ae%e9%a2%98/</link>
		<comments>http://hatemysql.com/2011/08/08/flashcache_load-resource-busy%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 13:43:05 +0000</pubDate>
		<dc:creator>pickup.lichun</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[device or resource busy]]></category>
		<category><![CDATA[dmsetup]]></category>
		<category><![CDATA[flashcache]]></category>
		<category><![CDATA[flashcache_create]]></category>
		<category><![CDATA[flashcache_load]]></category>
		<category><![CDATA[fusion io]]></category>
		<category><![CDATA[ioctl]]></category>

		<guid isPermaLink="false">http://hatemysql.com/?p=172</guid>
		<description><![CDATA[使用fusion io和flashcache遇到reload ioctl failed: Device or resource busy的解决方案]]></description>
			<content:encoded><![CDATA[<p>使用fusion io和flashcache的时候遇到过两次<br />
device-mapper: reload ioctl failed: Device or resource busy<br />
Command failed<br />
的异常。</p>
<p>第一次犯的错误是因为<br />
flashcache_load mysql_data_cache /dev/fioa /dev/sdc1<br />
前/dev/sdc1已经mount起来了。flashcache_load无法在已经mount的文件系统上再做cache。<br />
解决的办法：<br />
umount /dev/sdc1<br />
然后按照正确的方法load起来。<br />
正确的做法是对/dev/sdc分区，建立xfs(或者其他ext4，ext3)文件系统，然后利用flashcache_load将ssd设备和文件系统映射起来。<br />
这样就会出现/dev/mapper/mysql_data_cache，将他用xfs(ext3，ext4)的方式mount起来。</p>
<p>第二次犯的错误是：<br />
flashcache还在用，/dev/mapper/mysql_data_cache已经mount好了，把fusion-io的内核模块给卸载掉了。<br />
这个时候flashcache_load会报错，/dev/mapper/mysql_data_cache也没有了，flashcache_create显示：<br />
#flashcache_create mysql_data_cache /dev/fioa /dev/sdc1<br />
cachedev mysql_data_cache, ssd_devname /dev/fioa, disk_devname /dev/sdc1<br />
block_size 8, cache_size 0<br />
flashcache_create: Valid Flashcache already exists on /dev/fioa<br />
flashcache_create: Use flashcache_destroy first and then create again /dev/fioa<br />
dmsetup显示：<br />
#dmsetup table<br />
mysql_data_cache:<br />
解决方案：<br />
dmsetup remove mysql_data_cache<br />
flashcache_load mysql_data_cache /dev/fioa /dev/sdc1<br />
mount -o defaults,rw,noatime,nodiratime,noikeep,nobarrier,allocsize=512M,attr2,largeio,inode64,swalloc /dev/mapper/mysql_data_cache /data2<br />
使用最基本的dmsetup remove来清理mysql_data_cache，然后就可以flashcache_load了。<br />
正常情况下，你最好先flashcache_destroy，然后再来操作fusion io，跟你建立的顺序相反</p>
<p>may your success</p>
]]></content:encoded>
			<wfw:commentRss>http://hatemysql.com/2011/08/08/flashcache_load-resource-busy%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL机器配置标准</title>
		<link>http://hatemysql.com/2011/07/05/mysql%e6%9c%ba%e5%99%a8%e9%85%8d%e7%bd%ae%e6%a0%87%e5%87%86/</link>
		<comments>http://hatemysql.com/2011/07/05/mysql%e6%9c%ba%e5%99%a8%e9%85%8d%e7%bd%ae%e6%a0%87%e5%87%86/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 12:44:57 +0000</pubDate>
		<dc:creator>pickup.lichun</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[CachedBadBBU]]></category>
		<category><![CDATA[dmsetup]]></category>
		<category><![CDATA[fio-status]]></category>
		<category><![CDATA[flash cache]]></category>
		<category><![CDATA[fusion io]]></category>
		<category><![CDATA[MegaCli]]></category>
		<category><![CDATA[modprobe]]></category>
		<category><![CDATA[numactl]]></category>
		<category><![CDATA[percona]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[sysctl]]></category>

		<guid isPermaLink="false">http://hatemysql.com/?p=165</guid>
		<description><![CDATA[最近我们部门在整理MySQL的配置标准。主要包括：
一、MySQL使用percona需要新增和调整的参数
二、使用了fusion io和flashcache后，对linux操作系统的配置和内核参数配置
三、由于使用了两个网卡，raid卡和drac卡等相关硬件也需要确认配置]]></description>
			<content:encoded><![CDATA[<div>最近我们部门在整理MySQL的配置标准。主要包括：</div>
<div>一、MySQL使用percona需要新增和调整的参数</div>
<div>二、使用了fusion io和flashcache后，对linux操作系统的配置和内核参数配置</div>
<div>三、由于使用了两个网卡，raid卡和drac卡等相关硬件也需要确认配置</div>
<div>详细信息请参考<a href="http://www.hellodb.net/">http://www.hellodb.net/</a>，<a href="http://www.penglixun.com/">http://www.penglixun.com/</a>的相关文章，敬请期待</div>
<div></div>
<div><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		H1 { margin-bottom: 0.21cm } 		H1.western { font-family: "Liberation Sans", "MS PGothic", sans-serif; font-size: 16pt } 		H1.cjk { font-family: "DejaVu Sans", "MS Gothic"; font-size: 16pt; font-style: normal; font-weight: bold } 		H1.ctl { font-family: "Lohit Hindi", "MS Gothic"; font-size: 16pt; font-weight: bold } 		H2 { margin-top: 0.46cm; margin-bottom: 0.46cm; line-height: 173%; page-break-inside: avoid } 		H2.western { font-family: "Arial", sans-serif; font-size: 16pt } 		H2.cjk { font-family: "黑体", "SimHei"; font-size: 16pt; font-style: normal } 		H2.ctl { font-family: "DejaVu Sans"; font-size: 16pt } --> <!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		H1 { margin-bottom: 0.21cm } 		H1.western { font-family: "Liberation Sans", "MS PGothic", sans-serif; font-size: 16pt } 		H1.cjk { font-family: "DejaVu Sans", "MS Gothic"; font-size: 16pt; font-style: normal; font-weight: bold } 		H1.ctl { font-family: "Lohit Hindi", "MS Gothic"; font-size: 16pt; font-weight: bold } 		H2 { margin-top: 0.46cm; margin-bottom: 0.46cm; line-height: 173%; page-break-inside: avoid } 		H2.western { font-family: "Arial", sans-serif; font-size: 16pt } 		H2.cjk { font-family: "黑体", "SimHei"; font-size: 16pt; font-style: normal } 		H2.ctl { font-family: "DejaVu Sans"; font-size: 16pt } --></p>
<h1 style="text-align: left;"><span style="color: #000000;"><span style="font-family: 'Liberation Sans', 'MS PGothic', sans-serif;">Mysql</span>相<span style="font-family: 宋体, SimSun;">关</span><span style="font-family: 'MS Gothic', 'ＭＳ ゴシック', monospace;">配置：</span></span></h1>
<p><span style="font-family: 'Liberation Serif', serif;">a</span>、<span style="font-family: 'Liberation Serif', serif;">mysql</span>版本：</p>
<p><span style="font-family: 'Liberation Serif', serif;">percona-custom-5.1.57-12.8 </span>采用<span style="font-family: 'Liberation Serif', serif;">icc</span>编译。</p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">b</span>、<span style="font-family: 'Liberation Serif', serif;">mysql</span>配置文件新增：</p>
<p><span style="font-family: 'Liberation Serif', serif;">my.cnf</span>在原有的增加<span style="font-family: 'Liberation Serif', serif;">percona,xtradb</span>相关配置</p>
<p><span style="font-family: 'Liberation Serif', serif;"># New</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_support_xa = OFF</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">transaction_isolation = READ-COMMITTED</span></p>
<p><span style="font-family: 'Liberation Serif', serif;"># innodb plugin</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_read_io_threads = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_write_io_threads = 16</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_io_capacity = 40000</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_file_format = barracuda</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_file_format_check = ON</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_strict_mode = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;"># Percona</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_page_size = 4K |4k ssd or 8k sas |16k </span>大字段，压缩表或者全表扫描应用。</p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_extra_rsegments = 32 (</span>根据并发情况可调整至<span style="font-family: 'Liberation Serif', serif;">64)</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_use_purge_thread = 8</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_stats_update_need_lock = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_fast_checksum = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;"># percona For SSD</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_adaptive_checkpoint = 3</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_flush_neighbor_pages = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">innodb_adaptive_flushing = false</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;"># Hander Socket</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">#loose_handlersocket_port = 9998</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">#loose_handlersocket_port_wr = 9999</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">#loose_handlersocket_threads = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">#loose_handlersocket_threads_wr = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">#loose_handlersocket_readsize = 1M</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">#loose_handlersocket_rcvbuf = 4M</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">#loose_handlersocket_sndbuf = 4M</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">#open_files_limit = 65535</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">c</span>、报警和状态监控增加：无</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1 style="text-align: left;"><span style="color: #000000;"><span style="font-family: 'Liberation Sans', 'MS PGothic', sans-serif;">linux</span>操作系<span style="font-family: 宋体, SimSun;">统</span><span style="font-family: 'MS Gothic', 'ＭＳ ゴシック', monospace;">配置：</span></span></h1>
<h2>杂项</h2>
<p><span style="font-family: 'Liberation Serif', serif;">a</span>、<span style="font-family: 'Liberation Serif', serif;">sys </span>文件系统设置</p>
<p><span style="font-family: 'Liberation Serif', serif;">echo &#8217;16&#8242; &gt; /sys/block/sdb/queue/read_ahead_kb </span></p>
<p><span style="font-family: 'Liberation Serif', serif;">echo &#8217;512&#8242; &gt; /sys/block/sdb/queue/nr_requests</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">echo &#8216;deadline&#8217; &gt; /sys/block/sdb/queue/scheduler </span></p>
<p><span style="font-family: 'Liberation Serif', serif;">echo &#8217;16&#8242; &gt; /sys/block/sdc/queue/read_ahead_kb </span></p>
<p><span style="font-family: 'Liberation Serif', serif;">echo &#8217;512&#8242; &gt; /sys/block/sdc/queue/nr_requests</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">echo &#8216;deadline&#8217; &gt; /sys/block/sdc/queue/scheduler </span></p>
<p><span style="font-family: 'Liberation Serif', serif;">Fusion io attach</span>上来就是<span style="font-family: 'Liberation Serif', serif;">noop,</span>其他参数不修改。</p>
<p>在<span style="font-family: 'Liberation Serif', serif;">rc.local</span>添加开机自动设置。</p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">b</span>、<span style="font-family: 'Liberation Serif', serif;">ulimit</span>限制</p>
<p>打开文件限制。<span style="font-family: 'Liberation Serif', serif;">open file limit</span>。目前是<span style="font-family: 'Liberation Serif', serif;">10240</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">max locked memory</span>限制。<span style="font-family: 'Liberation Serif', serif;">Unlimited</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">c</span>、大页使用以及内存<span style="font-family: 'Liberation Serif', serif;">swap</span></p>
<p>使用大页的系统，为连接和操作系统预留<span style="font-family: 'Liberation Serif', serif;">8G</span>以上。</p>
<p><span style="font-family: 'Liberation Serif', serif;">sysctl.conf</span>增加<span style="font-family: 'Liberation Serif', serif;">swappness=0</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">d</span>、报警和状态监控增加：无</p>
<p>&nbsp;</p>
<h2><span style="font-family: Arial, sans-serif;">xfs</span>配置：</h2>
<p><span style="font-family: 'Liberation Serif', serif;">a</span>、<span style="font-family: 'Liberation Serif', serif;">mkfs</span>操作</p>
<p><span style="font-family: 'Liberation Serif', serif;">mkfs.xfs -f -i size=512,attr=2 -l lazy-count=1 -d su=1M,sw=2 -L /data1 /dev/sdb1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">mkfs.xfs -f -i size=512,attr=2 -l lazy-count=1 -d su=1M,sw=10 -L /data2 /dev/sdc1</span></p>
<p>不采用<span style="font-family: 'Liberation Serif', serif;">flashcache</span>的机器<span style="font-family: 'Liberation Serif', serif;">su</span>采用<span style="font-family: 'Liberation Serif', serif;">raid </span>条带大小一般为<span style="font-family: 'Liberation Serif', serif;">64k.</span></p>
<p>采用<span style="font-family: 'Liberation Serif', serif;">flashcache</span>的<span style="font-family: 'Liberation Serif', serif;">su</span>使用<span style="font-family: 'Liberation Serif', serif;">raid</span>卡条带大小<span style="font-family: 'Liberation Serif', serif;">(1M)</span>，<span style="font-family: 'Liberation Serif', serif;">sw</span>采用读的时候磁盘数<span style="font-family: 'Liberation Serif', serif;">(</span>比如<span style="font-family: 'Liberation Serif', serif;">10</span>块盘，<span style="font-family: 'Liberation Serif', serif;">raid 1+0</span>则为<span style="font-family: 'Liberation Serif', serif;">10</span>，<span style="font-family: 'Liberation Serif', serif;">raid5</span>则为<span style="font-family: 'Liberation Serif', serif;">9)</span>。</p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">b</span>、<span style="font-family: 'Liberation Serif', serif;">mount</span>文件系统</p>
<p><span style="font-family: 'Liberation Serif', serif;">mount -o defaults,rw,noatime,nodiratime,noikeep,nobarrier,allocsize=512M,attr2,largeio,inode64,swalloc LABEL=/redo /redo</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">mount -o defaults,rw,noatime,nodiratime,noikeep,nobarrier,allocsize=8M,attr2,largeio,inode64,swalloc LABEL=/ibddata /ibddata</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">/redo</span>中存放：<span style="font-family: 'Liberation Serif', serif;">binlog</span>，<span style="font-family: 'Liberation Serif', serif;">innodb_log</span>，<span style="font-family: 'Liberation Serif', serif;">innodb_ts</span>，<span style="font-family: 'Liberation Serif', serif;">log</span>，<span style="font-family: 'Liberation Serif', serif;">sock</span>，<span style="font-family: 'Liberation Serif', serif;">relaylog</span>，<span style="font-family: 'Liberation Serif', serif;">slowlog</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">/ibddata</span>中存放数据文件：<span style="font-family: 'Liberation Serif', serif;">mydata</span>，<span style="font-family: 'Liberation Serif', serif;">tmpdir</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">mysql</span>的主文件目录<span style="font-family: 'Liberation Serif', serif;">/data/mysqldata </span>采用链接的方式链接到<span style="font-family: 'Liberation Serif', serif;">/redo</span>和<span style="font-family: 'Liberation Serif', serif;">/ibddata</span>目录的各个子目录。</p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">c</span>、<span style="font-family: 'Liberation Serif', serif;">sysctl</span>配置</p>
<p><span style="font-family: 'Liberation Serif', serif;">xfs sysctl</span>参数采用默认值，下面列出目前的<span style="font-family: 'Liberation Serif', serif;">xfs</span>参数列表及默认值</p>
<p><span style="font-family: 'Liberation Serif', serif;">#sysctl fs.xfs </span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.stats_clear = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.filestream_centisecs = 3000</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.inherit_nodefrag = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.rotorstep = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.inherit_nosymlinks = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.age_buffer_centisecs = 1500</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.xfsbufd_centisecs = 100</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.inherit_noatime = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.inherit_nodump = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.inherit_sync = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.xfssyncd_centisecs = 3000</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.error_level = 3</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.panic_mask = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.irix_symlink_mode = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.irix_sgid_inherit = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">fs.xfs.restrict_chown = 1</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">d</span>、报警和状态监控增加：无</p>
<p>&nbsp;</p>
<h2><span style="font-family: Arial, sans-serif;">flashcache </span>配置</h2>
<p><span style="font-family: 'Liberation Serif', serif;">a</span>、创建<span style="font-family: 'Liberation Serif', serif;">cache</span>以及开机载入<span style="font-family: 'Liberation Serif', serif;">cache</span></p>
<p>第一次创建：<span style="font-family: 'Liberation Serif', serif;">flashcache_create mysql_data_cache /dev/fioa  /dev/sdc1</span></p>
<p>开机重启时载入：<span style="font-family: 'Liberation Serif', serif;">flashcache_load  mysql_data_cache /dev/fioa /dev/sdc1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">blocksize</span>设置为<span style="font-family: 'Liberation Serif', serif;">4k</span>，为默认值。该值采用和<span style="font-family: 'Liberation Serif', serif;">percona</span>的<span style="font-family: 'Liberation Serif', serif;">page_size</span>一致大小</p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">b</span>、<span style="font-family: 'Liberation Serif', serif;">sysctl</span>配置：</p>
<p>需要修改的四个参数：</p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.fast_remove = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.reclaim_policy = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.dirty_thresh_pct = 90</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.cache_all = 1</span></p>
<p>这些参数直接在<span style="font-family: 'Liberation Serif', serif;">/etc/sysctl.conf</span>中修改。</p>
<p>&nbsp;</p>
<p>下面列出<span style="font-family: 'Liberation Serif', serif;">flashcache</span>所有的<span style="font-family: 'Liberation Serif', serif;">sysctl</span>参数：</p>
<p><span style="font-family: 'Liberation Serif', serif;">#sysctl dev.flashcache</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.cache_all = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.fast_remove = 1</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.reclaim_policy = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.pid_expiry_secs = 60</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.max_pids = 100</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.do_pid_expiry = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.max_clean_ios_set = 2</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.max_clean_ios_total = 4</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.dirty_thresh_pct = 90</span></p>
<p>&nbsp;</p>
<p>以下三个是用于控制<span style="font-family: 'Liberation Serif', serif;">flashcache</span>的命令，可以利用这三个参数</p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.stop_sync = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.do_sync = 0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">dev.flashcache.zero_stats = 0</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">c</span>、报警和状态监控：</p>
<p>命令：</p>
<p><span style="font-family: 'Liberation Serif', serif;">dmsetup status mysql_data_cache</span></p>
<p>性能监控状态值为：</p>
<p><span style="font-family: 'Liberation Serif', serif;">read hit percent(99) write hit percent(51) dirty write hit percent(44) </span></p>
<p>&nbsp;</p>
<p>命令：</p>
<p><span style="font-family: 'Liberation Serif', serif;">dmsetup table mysql_data_cache</span></p>
<p>性能监控状态值为：</p>
<p><span style="font-family: 'Liberation Serif', serif;">cache percent(98) dirty percent(88)</span></p>
<p>上面五个百分比在一张图中展示。</p>
<p>&nbsp;</p>
<h2><span style="font-family: Arial, sans-serif;">fusion io </span>配置</h2>
<p><span style="font-family: 'Liberation Serif', serif;">a</span>、内核参数调整：</p>
<p><span style="font-family: 'Liberation Serif', serif;">use_workqueue=0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">disable-msi=0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">use_large_pcie_rx_buffer=1</span></p>
<p>其他内核模块参数值采用默认。</p>
<p>这些内核参数直接通过在<span style="font-family: 'Liberation Serif', serif;">/etc/modprobe.d/iomemory-vsl.conf</span>配置中新增：</p>
<p><span style="font-family: 'Liberation Serif', serif;">options iomemory-vsl use_workqueue=0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">options iomemory-vsl disable-msi=0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">options iomemory-vsl use_large_pcie_rx_buffer=1</span></p>
<p>来添加，文件中其他参数不予调整</p>
<p>&nbsp;</p>
<p>列出<span style="font-family: 'Liberation Serif', serif;">flashcache</span>所有内核参数如下：</p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           enable_ecc:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           enable_two_plane:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           disable_msi:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           bypass_ecc:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           force_soft_ecc:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           bypass_whitening:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           dont_whiten:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           force_sw_read_completions:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           ecc_correction_target_threshold:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           ecc_correction_per_pad_retire:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           ecc_correction_retire_threshold:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           preallocate_memory:Cards for which to preallocate memory</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">(card &lt;serial&gt; serial number required) (array of charp)</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           preallocate_mb:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           expected_io_size:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           iodrive_load_midprom:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           iodrive_load_eb_map:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           iodrive_scan_nv_data:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           tcmd0:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           tcmd1:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           tread0:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           tread1:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           twrite0:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           twrite1:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           taddr0:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           taddr1:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           tintr_hw_wait:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           iodrive_tread_hw_wait:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           iodrive_tread_hw_wait_mlc:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           iodrive_tstat_hw_wait:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           iodrive_tstat_hw_wait_mlc:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           iodrive_dma_delay:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           use_large_pcie_rx_buffer:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           use_workqueue:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           default_gc_low_water:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           default_gc_high_water:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           always_rebuild_md:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           auto_attach:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           auto_attach_cache:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           parallel_attach:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           disable_groomer:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           groomer_backoff:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           use_new_io_sched:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           max_md_blocks_per_device:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           strict_sync:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           use_command_timeouts:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           fio_dont_init:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           max_requests:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           reduced_write_threshold:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           capacity_warning_threshold:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           read_only_threshold:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           iodrive_read_retire_threshold:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           disable_rle:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           force_minimal_mode:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           early_oom_threshold:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           flashback_mode:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           flashback_warning_as_failure:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           fio_dev_wait_timeout_secs:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           fio_dev_optimal_blk_size:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           exclude_devices:PCI addresses of devices to exclude during initialization</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">(full &lt;domain&gt;:&lt;bus&gt;:&lt;slot&gt;.&lt;func&gt; address required) (array of charp)</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           include_devices:Only initialize devices with these PCI addresses</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">(full &lt;domain&gt;:&lt;bus&gt;:&lt;slot&gt;.&lt;func&gt; address required) (precedence over exclude_devices) (array of charp)</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           thermal_throttle_disable:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           compaction_timeout_ms:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           persistent_discard:int</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_DIGEST:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_DMA:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_ECC:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_GENERAL:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_GROOM:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_INJECT:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_LOG_FILE:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_LRBTREE:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_MEDIA_ERROR:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_METADATA:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_PCIE:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_PTRIM:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_REQUEST:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_DBGS_SHOW_INJECT:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_FIND_BUG_DA:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_FIO_PRINT_DANGLING:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_FIO_PRINT_DIGEST:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_FIO_PRINT_OBJECT:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_APPEND_FAILURES:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_APPEND_POINT:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_DEPACKETIZER:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_DMA:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_DMA_READ:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_DMA_WRITE:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_ECC_READ:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_ECC_WRITE:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_GROOM_RANGES:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_GROOM_SCAN:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_IDLE_GROOM:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_LEB_OPERATIONS:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_NAND_READ:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_NAND_READ_DETAILS:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_NAND_WRITE:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_PACKETIZER:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_PARITY_OPERATIONS:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_PROGRESS:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_REATTACH:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_REQUESTS:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_REQUEST_LIST:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_RESOURCES:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_SCAN:uint</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">parm:           debug_PRINT_SCAN_ENTRIES:uint</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">b</span>、报警和状态监控：</p>
<p>命令：</p>
<p><span style="font-family: 'Liberation Serif', serif;">fio-status -fk -an /dev/fct0</span></p>
<p>报警监控：</p>
<p><span style="font-family: 'Liberation Serif', serif;">media_status=Healthy</span>。非<span style="font-family: 'Liberation Serif', serif;">healthy</span>报警</p>
<p>&nbsp;</p>
<p>性能监控：</p>
<p><span style="font-family: 'Liberation Serif', serif;">logical_written_bytes=2664888862208</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">logical_read_bytes=171877629608448</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">physical_written_bytes=27684857382680</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">physical_read_bytes=223401928291768</span></p>
<p>监控每隔一段时间的变化量而不是这个总量。</p>
<p>&nbsp;</p>
<p>命令：</p>
<p><span style="font-family: 'Liberation Serif', serif;">fio-get-erase-count -s /dev/fct0 </span>：</p>
<p>性能监控：</p>
<p><span style="font-family: 'Liberation Serif', serif;">Max:      149</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">Avg:       79.00</span></p>
<p>监控活动的<span style="font-family: 'Liberation Serif', serif;">block</span>刷写的最大次数以及平均刷写次数</p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">fio-get-erase-count -b -s /dev/fct0</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">Total blocks: 29</span></p>
<p>监控坏块的个数。</p>
<p>&nbsp;</p>
<h1 style="text-align: left;"><span style="color: #000000;">硬件相<span style="font-family: 宋体, SimSun;">关</span><span style="font-family: 'MS Gothic', 'ＭＳ ゴシック', monospace;">配置</span></span></h1>
<h2>网卡配置：</h2>
<p><span style="font-family: 'Liberation Serif', serif;">a</span>、网卡绑定和<span style="font-family: 'Liberation Serif', serif;">IP</span>分配</p>
<p>两块网卡，两两交叉配置<span style="font-family: 'Liberation Serif', serif;">bond</span>，</p>
<p>机器上有几个<span style="font-family: 'Liberation Serif', serif;">MySQL</span>实例配置几个<span style="font-family: 'Liberation Serif', serif;">IP</span>。各个<span style="font-family: 'Liberation Serif', serif;">IP</span>在两个<span style="font-family: 'Liberation Serif', serif;">bond0</span>上平均分配</p>
<p>另外增加一个专门的主机监控<span style="font-family: 'Liberation Serif', serif;">IP</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">b</span>、网卡中断</p>
<p>网卡中断不绑定到<span style="font-family: 'Liberation Serif', serif;">CPU</span>上。</p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">c</span>、报警和状态监控：</p>
<p>主机监控<span style="font-family: 'Liberation Serif', serif;">IP</span>主要用来做<span style="font-family: 'Liberation Serif', serif;">mysql_host</span>主机监控</p>
<p>各个实例<span style="font-family: 'Liberation Serif', serif;">IP</span>监控用来监控数据库状态。</p>
<p>&nbsp;</p>
<h2><span style="font-family: Arial, sans-serif;">Numactl</span>配置：</h2>
<p><span style="font-family: 'Liberation Serif', serif;">a</span>、单机单实例关闭<span style="font-family: 'Liberation Serif', serif;">numa</span>。在内核中直接关闭</p>
<p>多实例情况下，<span style="font-family: 'Liberation Serif', serif;">numa</span>内存分配采用<span style="font-family: 'Liberation Serif', serif;">bind </span>，</p>
<p>采用在<span style="font-family: 'Liberation Serif', serif;">my.cnf</span>中的<span style="font-family: 'Liberation Serif', serif;">[mysqld_safe]</span>组中添加</p>
<p><span style="font-family: 'Liberation Serif', serif;">mysqld=mysqld_using_numactl</span></p>
<p>来使用多实例<span style="font-family: 'Liberation Serif', serif;">MySQL</span>绑定<span style="font-family: 'Liberation Serif', serif;">CPU</span>的目的。</p>
<p>这里列出<span style="font-family: 'Liberation Serif', serif;">numa</span>可能的配置选项：</p>
<p><span style="font-family: 'Liberation Serif', serif;">default  bind interleave preferred</span>，</p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">b</span>、增加的报警和状态监控：无</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><span style="font-family: Arial, sans-serif;">raid</span>配置：</h2>
<p><span style="font-family: 'Liberation Serif', serif;">a</span>、条带大小</p>
<p>在<span style="font-family: 'Liberation Serif', serif;">raid</span>配置界面，提交装机申请的时候指定，</p>
<p><span style="font-family: 'Liberation Serif', serif;">flashcache</span>设置条带设置为<span style="font-family: 'Liberation Serif', serif;">1M</span>。<span style="font-family: 'Liberation Serif', serif;">SAS</span>盘采用默认<span style="font-family: 'Liberation Serif', serif;">64K</span>。</p>
<p>&nbsp;</p>
<p><span style="font-family: 'Liberation Serif', serif;">b</span>、<span style="font-family: 'Liberation Serif', serif;">LSI raid</span>卡设置</p>
<p><span style="font-family: 'Liberation Serif', serif;">/opt/MegaRAID/MegaCli/MegaCli -LDSetProp -CachedBadBBU  -Lall -aALL</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">/opt/MegaRAID/MegaCli/MegaCli -LDSetProp -DisDskCache   -Lall -aALL</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">/opt/MegaRAID/MegaCli/MegaCli -LDSetProp -NORA          -Lall -aALL</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">/opt/MegaRAID/MegaCli/MegaCli -LDSetProp -WB -Lall -aALL</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">/opt/MegaRAID/MegaCli/MegaCli -LDSetProp -Direct -Lall -aALL</span></p>
<p>设置电池断电的时候仍然使用<span style="font-family: 'Liberation Serif', serif;">cache</span>；不使用磁盘<span style="font-family: 'Liberation Serif', serif;">cache</span>；不进行预读；设置为<span style="font-family: 'Liberation Serif', serif;">write back</span>；设置为<span style="font-family: 'Liberation Serif', serif;">direct</span>。</p>
<p><span style="font-family: 'Liberation Serif', serif;">(hp</span>的机器暂时不管<span style="font-family: 'Liberation Serif', serif;">)</span></p>
<p>增加报警和状态监控：无</p>
<p>&nbsp;</p>
<h2><span style="font-family: Arial, sans-serif;">drac</span>卡配置：</h2>
<p>运行<span style="font-family: 'Liberation Serif', serif;">local_hw_oob_init.sh</span>脚本，使得机器可以通过<span style="font-family: 'Liberation Serif', serif;">ipmi</span>连接屏幕并通过<span style="font-family: 'Liberation Serif', serif;">ipmitool</span>工具重启。</p>
<p>报警和状态监控：无</p>
<p>&nbsp;</p>
<h1 style="text-align: left;"><span style="color: #000000;"><span style="font-family: 'Liberation Sans', 'MS PGothic', sans-serif;">linux</span>内核模<span style="font-family: 宋体, SimSun;">块</span><span style="font-family: 'MS Gothic', 'ＭＳ ゴシック', monospace;">：</span></span></h1>
<p>在<span style="font-family: 'Liberation Serif', serif;">/etc/sysconfig/modules</span>新增脚本：</p>
<p><span style="font-family: 'Liberation Serif', serif;">fio.modules flashcache.modules xfs.modules</span></p>
<p>使得<span style="font-family: 'Liberation Serif', serif;">xfs,iomemory-vsl,flashcache</span>开机自动载入</p>
<p>&nbsp;</p>
<h1><span style="color: #000000;">附：</span></h1>
<h2><span style="font-family: Arial, sans-serif;">block size</span>设置规则：</h2>
<p>从<span style="font-family: 'Liberation Serif', serif;">mySQL</span>到<span style="font-family: 'Liberation Serif', serif;">raid</span>卡，目前我们需要设置：</p>
<p><span style="font-family: 'Liberation Serif', serif;">a</span>、<span style="font-family: 'Liberation Serif', serif;">percona</span>的<span style="font-family: 'Liberation Serif', serif;">page size(ssd</span>机器为<span style="font-family: 'Liberation Serif', serif;">4k , sas</span>则设为<span style="font-family: 'Liberation Serif', serif;">8k ,</span>大字段，压缩表或者全表扫描应用则设置为<span style="font-family: 'Liberation Serif', serif;">16k)</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">b</span>、<span style="font-family: 'Liberation Serif', serif;">flash cache</span>的<span style="font-family: 'Liberation Serif', serif;">flashcache_create</span>创建<span style="font-family: 'Liberation Serif', serif;">cache</span>时的 <span style="font-family: 'Liberation Serif', serif;">block size(</span>默认为<span style="font-family: 'Liberation Serif', serif;">4k)</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">c</span>、<span style="font-family: 'Liberation Serif', serif;">fusion io</span>的 <span style="font-family: 'Liberation Serif', serif;">fio-format block size(</span>默认不使用<span style="font-family: 'Liberation Serif', serif;">fio-format</span>重新格式化<span style="font-family: 'Liberation Serif', serif;">fusion io</span>卡<span style="font-family: 'Liberation Serif', serif;">)</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">d</span>、<span style="font-family: 'Liberation Serif', serif;">xfs</span>的<span style="font-family: 'Liberation Serif', serif;">su</span>条带大小<span style="font-family: 'Liberation Serif', serif;">(xfs</span>建议自己指定<span style="font-family: 'Liberation Serif', serif;">su</span>条带大小，默认值一般不好<span style="font-family: 'Liberation Serif', serif;">)</span></p>
<p><span style="font-family: 'Liberation Serif', serif;">e</span>、<span style="font-family: 'Liberation Serif', serif;">raid</span>卡条带大小<span style="font-family: 'Liberation Serif', serif;">(</span>默认值<span style="font-family: 'Liberation Serif', serif;">64K)</span></p>
<p>&nbsp;</p>
<h2><span style="font-family: Arial, sans-serif;">block size</span>的相互关系如下：</h2>
<p><span style="font-family: 'Liberation Serif', serif;">1</span>、<span style="font-family: 'Liberation Serif', serif;">percona page size</span>根据机器类型和应用类型来设置。</p>
<p><span style="font-family: 'Liberation Serif', serif;">2</span>、<span style="font-family: 'Liberation Serif', serif;">flashcache_create</span>的<span style="font-family: 'Liberation Serif', serif;">block size</span>指定为<span style="font-family: 'Liberation Serif', serif;">percona page size</span>一样的大小</p>
<p><span style="font-family: 'Liberation Serif', serif;">3</span>、一般情况下不使用<span style="font-family: 'Liberation Serif', serif;">fio-format</span>重新格式化<span style="font-family: 'Liberation Serif', serif;">fusion io</span>卡</p>
<p><span style="font-family: 'Liberation Serif', serif;">4</span>、<span style="font-family: 'Liberation Serif', serif;">raid</span>卡条带大小<span style="font-family: 'Liberation Serif', serif;">flashcache</span>机器设置条带设置为<span style="font-family: 'Liberation Serif', serif;">1M</span>，如果是<span style="font-family: 'Liberation Serif', serif;">SAS</span>盘采用默认<span style="font-family: 'Liberation Serif', serif;">64K</span>。</p>
<p><span style="font-family: 'Liberation Serif', serif;">5</span>、<span style="font-family: 'Liberation Serif', serif;">xfs</span>的<span style="font-family: 'Liberation Serif', serif;">su</span>条带大小跟<span style="font-family: 'Liberation Serif', serif;">raid</span>卡条带大小一样，并且应该为<span style="font-family: 'Liberation Serif', serif;">percona page size</span>的整数倍。<span style="font-family: 'Liberation Serif', serif;">sw</span>采用读的时候磁盘数<span style="font-family: 'Liberation Serif', serif;">(</span>比如<span style="font-family: 'Liberation Serif', serif;">10</span>块盘，<span style="font-family: 'Liberation Serif', serif;">raid 1+0</span>则为<span style="font-family: 'Liberation Serif', serif;">10</span>，<span style="font-family: 'Liberation Serif', serif;">raid5</span>则为<span style="font-family: 'Liberation Serif', serif;">9)</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1><span style="font-family: 'Liberation Sans', 'MS PGothic', sans-serif;"><br />
</span></h1>
</div>
<p>may your success</p>
]]></content:encoded>
			<wfw:commentRss>http://hatemysql.com/2011/07/05/mysql%e6%9c%ba%e5%99%a8%e9%85%8d%e7%bd%ae%e6%a0%87%e5%87%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

