<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://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://jackxiang.com/post//</link>
<title><![CDATA[ Centos5.7下Mysql双机热备配置]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[数据库技术]]></category>
<pubDate>Sun, 07 Apr 2013 07:18:22 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：对于Mysql下的单向同步Master/slave目前好多都在用，而对于双机热备确实是一个在为了解决多区域下的访问提速上有所应用。<br/><br/>环境<br/>Master操作系统：Centos 5.7<br/>Ip:222.123.44.65<br/>Slave操作系统：Centos 5.7<br/>Ip:222.123.44.66<br/>根据安装方法的不同，数据库相关路径也不太一致，我用YUM安装，因些，数据库存放路径/var/lib/mysql,数据库配置文件路径/usr/share/mysql,数据库相关命令/usr/bin.<br/>查看主库服务器/usr/share/mysql目录下的cnf文件<br/>/usr/share/mysql/*.cnf<br/>其中.cnf文档如下：<br/>My-small.cnf&nbsp;&nbsp;&nbsp;&nbsp; 内存少于或等于64M，只提供很少数据库服务<br/>My-medium.cnf&nbsp;&nbsp; 内存在32M-64M之间而且和其他服务一起使用，如web<br/>My-large.cnf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;内存在512M主要提供数据库服务<br/>My-huge.cnf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;内存在1G-2G，主要提供数据库服务<br/>My-innodb-heavy-4G.cnf&nbsp;&nbsp; 内存有4G,主要提供较大负载数据库服务（一般服务器使用这个）<br/>复制文件到/etc下并更名为my.cnf<br/>Cp /usr/share/mysql/my-innodb-heavy-4G.cnf /etc/my.cnf<br/>***Master端***<br/>进入mysql,创建一个数据库repldb<br/>Mysql&gt;create database repldb;<br/>创建一个用来同步的用户，指定只能在222.123.43.66登录<br/>Mysql&gt;grant replication slave on *.* to &#039;repldb&#039;@&#039;222.123.43.66&#039; identified by &#039;123456&#039;;<br/>打开my.cnf，并添加如下字段<br/>Vi /etc/my.cnf<br/>Server-id = 1<br/>Log-bin = log<br/>Binlog-do-db = repldb&nbsp;&nbsp;&nbsp;&nbsp;//需要同步的数据库，如果没有本行，即表示同步所有数据库<br/>Master-host = 222.123.44.66<br/>Master-user = repldb<br/>Master-password = 123456<br/>Master-port = 3306<br/>Master-connect-retry = 10<br/>Replicate-do-db = repldb&nbsp;&nbsp;//需要接收的数据库，如有多个数据库，每个数据库一行<br/>重启master机的mysql服务<br/>Service mysqld restart<br/>进入mysql,执行<br/>Mysql&gt;slave start;<br/> <br/>***Slave端***<br/>进入mysql,创建一个数据库repldb<br/>Mysql&gt;create database repldb;<br/>创建一个用来同步的用户，指定只能在222.123.43.65登录<br/>Mysql&gt;grant replication slave on *.* to &#039;repldb&#039;@&#039;222.123.43.65&#039; identified by &#039;123456&#039;;<br/>打开my.cnf，并添加如下字段<br/>Vi /etc/my.cnf<br/>Server-id = 2<br/>Log-bin = log<br/>Binlog-do-db = repldb<br/>Master-host = 222.123.43.65<br/>Master-user = repldb<br/>Master-password = 123456<br/>Master-port = 3306<br/>Master-connect-retry = 10<br/>Replcate-do-db = repldb&nbsp;&nbsp;//需要接收的数据库，如有多个数据库，每个数据库一行<br/>然后重启slave机的mysql<br/>Service mysqld restart<br/>在slaves机中进入mysql<br/>Mysql&gt;start slave;<br/> <br/>****关键步骤****<br/>把两台服务器上需要同步的数据库进行拷贝，保证这两台数据库初始状态一致<br/>进行双向同步<br/>双向同步就是把单向同步反过来在做一遍，但一定要注意操作顺序，这是成功的关键。<br/>在master服务器上进入mysql<br/>mysql&gt; show master status;<br/>+------------+----------+--------------+------------------+<br/>&#124; File&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124; Position &#124; Binlog_Do_DB &#124; Binlog_Ignore_DB &#124;<br/>+------------+----------+--------------+------------------+<br/>&#124; log.000011 &#124;&nbsp;&nbsp;4514237 &#124; repldb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124; mysql&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124; <br/>+------------+----------+--------------+------------------+<br/>1 row in set (0.00 sec)<br/>记录下log.000011 和4514237<br/> <br/>在slave服务器上执行<br/>mysql&gt; stop slave;<br/>Query OK, 0 rows affected (0.00 sec)<br/>输入如下命令：<br/>mysql&gt; change master to<br/>&nbsp;&nbsp;&nbsp;&nbsp;-&gt; master_host = &#039;222.123.43.65&#039;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;-&gt; master_user = &#039;repldb&#039;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;-&gt; master_password = &#039;123456&#039;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;-&gt; master_log_file = &#039;log.000011&#039;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;-&gt; master_log_pos = 4514237;<br/>Query OK, 0 rows affected (0.00 sec)<br/>mysql&gt; start slave;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //开始同步<br/>Query OK, 0 rows affected (0.00 sec)<br/> <br/>在slave服务器上进入mysql<br/>mysql&gt; show master status;<br/>+------------+----------+--------------+------------------+<br/>&#124; File&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124; Position &#124; Binlog_Do_DB &#124; Binlog_Ignore_DB &#124;<br/>+------------+----------+--------------+------------------+<br/>&#124; log.000001 &#124;&nbsp;&nbsp;4502348 &#124; repldb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124; <br/>+------------+----------+--------------+------------------+<br/>1 row in set (0.00 sec)<br/>记录下log.000001 和4502348<br/> <br/>在master服务器上执行<br/>mysql&gt; stop slave;<br/>Query OK, 0 rows affected (0.00 sec)<br/>输入如下命令：<br/>mysql&gt; change master to<br/>&nbsp;&nbsp;&nbsp;&nbsp;-&gt; master_host = &#039;222.123.43.66&#039;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;-&gt; master_user = &#039;repldb&#039;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;-&gt; master_password = &#039;123456&#039;, <br/>&nbsp;&nbsp;&nbsp;&nbsp;-&gt; master_log_file = &#039;log.000001&#039;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;-&gt; master_log_pos = 4502348;<br/>Query OK, 0 rows affected (0.00 sec)<br/>mysql&gt; start slave;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //开始同步<br/>Query OK, 0 rows affected (0.00 sec)<br/> <br/>下面进行测试<br/>mysql&gt; slave processlist &#92;G;&nbsp;&nbsp;<br/><br/>来自：http://mycnarms.blog.51cto.com/614646/735117
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论]  Centos5.7下Mysql双机热备配置]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>