<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[配置MySQL 5.0的复制(Replication)功能]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Sat, 23 Jan 2010 04:10:04 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	<br/><br/>MySQL的Replication功能可以自动同步主MySQL服务器的更新到若干个辅MySQL服务器上，这个功能能把MySQL的数据实时分布到多台机器上，提交了MySQL的数据安全性。<br/><br/>配置MySQL Replication并不是个简单的工作，如果配置的不好，回导致MySQL的同步性能不好，或者不能同步，甚至导致主辅服务器的数据不一致。<br/><br/>下面主服务器为master，辅助服务器为slave<br/>master的配置<br/><br/>第一步保证master能单机正常工作，略。<br/><br/>在master上创建一个MySQL用户，这个用户专门用于Replication：<br/><br/>grant replication slave on *.* to &#039;repluser&#039;@&#039;%&#039; identified by &#039;mypassword&#039;;<br/><br/>编辑MySQL的配置文件，允许log-bin，并且给master分配一个ID：<br/><br/>[mysqld]<br/>skip-name-resolve<br/>server-id=10<br/>log-bin=mysql-bin<br/>sync_binlog=1<br/>innodb_flush_logs_at_trx_commit=1<br/>innodb_support_xa=1<br/><br/>slave的配置<br/><br/>配置ID等<br/><br/>[mysqld]<br/>server-id=20<br/>log_bin = mysql-bin<br/>relay_log = mysql-relay-bin<br/>skip_slave_start<br/>log_slave_updates = 1<br/>read_only<br/>skip-name-resolve<br/><br/><br/>同步数据<br/><br/>在master上把数据导出，并记录当前数据位置。用一个用户连接mysql并运行：<br/><br/>flush tables with read lock;<br/>show master status;<br/><br/>然后该连接不要退出，否则read lock就失效了，记录下当前日志的文件名和位置。在另外一个窗口运行如下命令导出数据：<br/><br/>mysqldump -uroot -p&nbsp;&nbsp;--all-databases &#124;gzip -c &gt; db.sql.gz<br/><br/>然后把数据文件拷贝到slave上，解压缩：<br/><br/>gunzip db.sql.gz<br/><br/>进MySQL导入：<br/><br/>source db.sql;<br/><br/>这时候slave上的数据已经同步到master的导出时刻的数据了，下面就启动自动同步的线程就可以了：<br/><br/>change master to master_host=&#039;1.1.1.1&#039;, master_user=&#039;repluser&#039;, aster_password=&#039;mypassword&#039;,master_log_file=&#039;mysql-bin.000006&#039;,master_log_pos=502185;<br/>show slave status;<br/>start slave;<br/>show slave status;<br/><br/>从上面的show slave status命令的输出可以看到，IO线程和SQL线程都开始工作了。过几分钟后比较一下slave和master上的日志文件及其位置，应该就是一样的了。<br/>注意事项<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;* 应用程序不要使用数据库的root用户，一定要创建普通用户供应用程序使用，因为root用户可以在slave上进行写操作，容易导致数据不一致。<br/><br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 配置MySQL 5.0的复制(Replication)功能]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>