<?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>爱周末 &#187; mysql主从库配置</title>
	<atom:link href="http://zhoumo123.cn/tag/mysql%e4%b8%bb%e4%bb%8e%e5%ba%93%e9%85%8d%e7%bd%ae/feed" rel="self" type="application/rss+xml" />
	<link>http://zhoumo123.cn</link>
	<description>知识分享，共同进步。zhoumo123.cn</description>
	<lastBuildDate>Thu, 07 Nov 2019 05:53:49 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0.1</generator>
	<item>
		<title>mysql 主从库配置</title>
		<link>http://zhoumo123.cn/mysql/372.html</link>
		<comments>http://zhoumo123.cn/mysql/372.html#comments</comments>
		<pubDate>Fri, 12 Sep 2014 01:37:31 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysql主从库配置]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=372</guid>
		<description><![CDATA[MySQL从库上有一个IO线程负责从主库取binlog到写到本地。另外有一个SQL线程负责执行这些本地日志，实现命令重放； 一、环境 主机： master操作系统：centos 5.3 IP：192.168.1.222 MySQL版本：5.0.77 从机： slave操作系统：centos 5.3 IP：192.168.1.220 MySQL版本：5.0.77 二、创建数据库 分别登录master机和slave机的mysql：mysql –u root –p 创建数据库：create database repl; 三、master机和slave机的相关配置 1、修改master机器中mysql ...  <a href="http://zhoumo123.cn/mysql/372.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p>MySQL从库上有一个IO线程负责从主库取binlog到写到本地。另外有一个SQL线程负责执行这些本地日志，实现命令重放；</p>
<p><strong>一、环境</strong></p>
<p>主机：<br />
master操作系统：centos 5.3<br />
IP：192.168.1.222<br />
MySQL版本：5.0.77<br />
从机：<br />
slave操作系统：centos 5.3<br />
IP：192.168.1.220<br />
MySQL版本：5.0.77</p>
<p><strong>二、创建数据库</strong></p>
<p>分别登录master机和slave机的mysql：mysql –u root –p<br />
创建数据库：create database repl;</p>
<p><strong>三、master机和slave机的相关配置</strong></p>
<p>1、修改master机器中mysql配置文件my.cnf，该文件在/etc目录下<br />
在[mysqld]配置段添加如下字段<br />
server-id=1<br />
log-bin=log<br />
binlog-do-db=repl //需要同步的数据库，如果没有本行，即表示同步所有的数据库<br />
binlog-ignore-db=mysql //被忽略的数据库</p>
<p>在master机上为slave机添加一同步帐号<br />
grant replication slave on *.* to &#8216;repl&#8217;@&#8217;192.1681.220&#8242; identified by &#8216;123456&#8217;;</p>
<p>重启master机的mysql服务：service mysqld restart</p>
<p>用show master status 命令看日志情况<br />
mysql&gt;show master status;<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
| log.000003 | 98 | repl | mysql |<br />
+&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
1 row in set (0.00 sec)</p>
<p>2、修改slave机中mysql配置文件<br />
同样在[mysqld]字段下添加如下内容<br />
server-id=2<br />
master-host=192.168.1.222<br />
master-user=repl<br />
master-password=123456<br />
master-port=3306<br />
master-connect-retry=60<br />
# replicate-ignore-db=mysql 忽略的数据库<br />
# master-connect-retry=60 如果从服务器发现主服务器断掉，重新连接的时间差(秒)<br />
#replicate-do-db=repl //同步的数据库(需要备份的数据库名)，不写本行 表示 同步所有数据库</p>
<p>然后重启slave机的mysql</p>
<p>在slave机中进入mysql<br />
mysql&gt;start slave;<br />
mysql&gt;show slave status\G;<br />
如果Slave_IO_Running、Slave_SQL_Running状态为Yes则表明设置成功。</p>
<p><strong>四、出现的问题</strong></p>
<p>当我在执行start slave这条命令时，系统提示<br />
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO，<br />
执行show slave status;又提示Empty set (0.00 sec)，想不通问题在哪里</p>
<p>后来发现，原来slave已经默认开启，要先关闭再开启<br />
执行 slave stop;<br />
再执行<br />
change master to master_host=&#8217;192.168.1.222&#8242;,master_user=&#8217;repl&#8217;,master_password=&#8217;123456&#8242;, master_log_file=&#8217;log.000003&#8242; ,master_log_pos=98;<br />
然后执行 slave start;<br />
这时 再执行show slave status\G<br />
显示如下：<br />
*************************** 1. row ***************************<br />
Slave_IO_State: Waiting for master to send event<br />
Master_Host: 192.168.1.222<br />
Master_User: repl<br />
Master_Port: 3306<br />
Connect_Retry: 60<br />
Master_Log_File: log.000003<br />
Read_Master_Log_Pos: 98<br />
Relay_Log_File: mysqld-relay-bin.000002<br />
Relay_Log_Pos: 229<br />
Relay_Master_Log_File: log.000003<br />
Slave_IO_Running: Yes<br />
Slave_SQL_Running: Yes<br />
Replicate_Do_DB:<br />
Replicate_Ignore_DB:<br />
Replicate_Do_Table:<br />
Replicate_Ignore_Table:<br />
Replicate_Wild_Do_Table:<br />
Replicate_Wild_Ignore_Table:<br />
Last_Errno: 0<br />
Last_Error:<br />
Skip_Counter: 0<br />
Exec_Master_Log_Pos: 98<br />
Relay_Log_Space: 229<br />
Until_Condition: None<br />
Until_Log_File:<br />
Until_Log_Pos: 0<br />
Master_SSL_Allowed: No<br />
Master_SSL_CA_File:<br />
Master_SSL_CA_Path:<br />
Master_SSL_Cert:<br />
Master_SSL_Cipher:<br />
Master_SSL_Key:<br />
Seconds_Behind_Master: 0<br />
1 row in set (0.00 sec)<br />
显示红色那两行，说明配置成功。</p>
<p><strong>五、测试主从服务器是否能同步</strong></p>
<p>在主服务器上面新建一个表，必须在repl数据下<br />
mysql&gt; use repl<br />
Database changed<br />
mysql&gt; create table test(id int,name char(10));<br />
Query OK, 0 rows affected (0.00 sec)</p>
<p>mysql&gt; insert into test values(1,&#8217;zaq&#8217;);<br />
Query OK, 1 row affected (0.00 sec)</p>
<p>mysql&gt; insert into test values(1,&#8217;xsw&#8217;);<br />
Query OK, 1 row affected (0.00 sec)</p>
<p>mysql&gt; select * from test;<br />
+&#8212;&#8212;+&#8212;&#8212;+<br />
| id | name |<br />
+&#8212;&#8212;-+&#8212;&#8212;+<br />
| 1 | zaq |<br />
| 1 | xsw |<br />
+&#8212;&#8212;-+&#8212;&#8212;+<br />
2 rows in set (0.00 sec)</p>
<p>在从服务器查看是否同步过来<br />
mysql&gt; use repl;<br />
Database changed<br />
mysql&gt; select * from test;<br />
+&#8212;&#8212;+&#8212;&#8212;+<br />
| id | name |<br />
+&#8212;&#8212;+&#8212;&#8212;+<br />
| 1 | zaq |<br />
| 1 | xsw |<br />
+&#8212;&#8212;+&#8212;&#8212;+<br />
2 rows in set (0.00 sec)</p>
<p>说明已经配置成功</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/mysql/372.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
