<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Mysql5.6%E4%B8%BB%E4%BB%8E_replication%E5%90%8C%E6%AD%A5</id>
	<title>Mysql5.6主从 replication同步 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Mysql5.6%E4%B8%BB%E4%BB%8E_replication%E5%90%8C%E6%AD%A5"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Mysql5.6%E4%B8%BB%E4%BB%8E_replication%E5%90%8C%E6%AD%A5&amp;action=history"/>
	<updated>2026-04-17T15:12:23Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Mysql5.6%E4%B8%BB%E4%BB%8E_replication%E5%90%8C%E6%AD%A5&amp;diff=680&amp;oldid=prev</id>
		<title>Evan：​导入1个版本</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Mysql5.6%E4%B8%BB%E4%BB%8E_replication%E5%90%8C%E6%AD%A5&amp;diff=680&amp;oldid=prev"/>
		<updated>2019-10-14T13:52:25Z</updated>

		<summary type="html">&lt;p&gt;导入1个版本&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== 角色 ：主 192.168.1.11 从 192.168.1.12 ==&lt;br /&gt;
binlog-format：二进制日志的格式，有row、statement和mixed几种类型；需要注意的是：当设置隔离级别为READ-COMMITED必须设置二进制日志格式为ROW，现在MySQL官方认为STATEMENT这个已经不再适合继续使用；但mixed类型在默认的事务隔离级别下，可能会导致主从数据不一致；&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;记住: 以后用 GTID 见参考资料&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== 1、主库创建/etc/my.cnf，修改[mysqld]里边的键值增加 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server-id=1 log-bin=binlog_name # 可以自己命名 也可以加目录 binlog_do_db = test //要做同步的数据库名字，可以是多个数据库，之间用分号分割 我的例子&lt;br /&gt;
&lt;br /&gt;
#例如 如下&lt;br /&gt;
server-id=1&lt;br /&gt;
log-bin=mysql-bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2、主库增加用户，用于从库读取主库日志 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;grant replication slave,reload,super on *.* to &amp;#039;slave&amp;#039;@&amp;#039;192.168.1.12&amp;#039; identified by &amp;#039;123456&amp;#039;; # good 这个比较好 这两个选择一个&lt;br /&gt;
grant all on *.* to &amp;#039;slave&amp;#039;@&amp;#039;192.168.1.12&amp;#039; identified by &amp;#039;123456&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
select user,host from mysql.user;&lt;br /&gt;
show master status;&lt;br /&gt;
+——————+———-+————–+——————+&lt;br /&gt;
| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB |&lt;br /&gt;
+——————+———-+————–+——————+&lt;br /&gt;
| mysql-bin.000001 | 233 | | |&lt;br /&gt;
+——————+———-+————–+——————+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== 主库lock table 导出数据==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
在锁表之后，再导出数据库里的数据（如果数据库里没有数据，可以忽略这一步&lt;br /&gt;
&lt;br /&gt;
获取二进制日志的信息并导出数据库，步骤：&lt;br /&gt;
&lt;br /&gt;
首先登陆数据库，然后刷新所有的表，同时给数据库加上一把锁，阻止对数据库进行任何的写操作&lt;br /&gt;
&lt;br /&gt;
mysql &amp;gt; flush tables with read lock;&lt;br /&gt;
然后执行下面的语句获取二进制日志的信息&lt;br /&gt;
&lt;br /&gt;
mysql &amp;gt; show master status;&lt;br /&gt;
&lt;br /&gt;
注意：如果之前的服务器并没有配置使用二进制日志，那么使用上面的sql语句会显示空，在锁表之后，再导出数据库里的数据（如果数据库里没有数据，可以忽略这一步）&lt;br /&gt;
&lt;br /&gt;
[root@localhost backup]# mysqldump -uroot -p&amp;#039;123456&amp;#039; -S /data/3306/data/mysql.sock --all-databases &amp;gt; /server/backup/mysql_bak.$(date +%F).sql&lt;br /&gt;
如果数据量很大，可以在导出时就压缩为原来的大概三分之一&lt;br /&gt;
&lt;br /&gt;
[root@localhost backup]# mysqldump -uroot -p&amp;#039;123456&amp;#039; -S /data/3306/data/mysql.sock --all-databases | gzip &amp;gt; /server/backup/mysql_bak.$(date +%F).sql.gz&lt;br /&gt;
这时可以对数据库解锁，恢复对主数据库的操作&lt;br /&gt;
&lt;br /&gt;
mysql &amp;gt; unlock tables;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://dev.mysql.com/doc/refman/5.6/en/replication-howto-repuser.html Creating a User for Replication]&lt;br /&gt;
&lt;br /&gt;
== 3、从库连接主库进行测试 ==&lt;br /&gt;
&lt;br /&gt;
 mysql -u slave -p123456 -h 192.168.1.11&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== 4、从库配置 ==&lt;br /&gt;
&lt;br /&gt;
停从库，修改从库/etc/my.cnf，增加选项： 记得id &amp;amp;nbsp;默认是1，作为从库不能是1&lt;br /&gt;
&amp;lt;pre&amp;gt; [mysqld]&lt;br /&gt;
## by evan&lt;br /&gt;
log-bin=mysql-bin&lt;br /&gt;
server-id=2 #其实只有这个是必要的&lt;br /&gt;
master-host=192.168.1.11 #这个在5.5加上会报错呢&lt;br /&gt;
master-user=slave&lt;br /&gt;
master-password=123456&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
relay_log         = mysql-relay-bin&lt;br /&gt;
log_slave_updates = 1&lt;br /&gt;
read_only         = 1&lt;br /&gt;
&lt;br /&gt;
#解说 &lt;br /&gt;
当设置log_slave_updates时，你可以让slave扮演其它slave的master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;replicate-do-db = test //需要同步的库名字 如果是单个库的话 如果 是一主多从 id 要大于2 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5、启动从库，进行主从库数据同步 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
如果主服务器导出了数据，下面就导入该文件，如果主服务器没有数据，就忽略这一步&lt;br /&gt;
&lt;br /&gt;
[root@localhost ~]# mysql -uroot -p&amp;#039;123456&amp;#039; -S /data/3306/data/mysql.sock &amp;lt; /server/backup/mysql_bak.2015-07-01.sql&lt;br /&gt;
如果从主服务器上拿过来的是压缩文件，就先解压再导入&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#这两行不是一定要的&lt;br /&gt;
/etc/init.d/mysqld restart #restart mysqld&lt;br /&gt;
mysql &amp;gt;load data from master; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
说明：这一步也可以用数据库倒入或者直接目录考过来&lt;br /&gt;
&amp;lt;pre&amp;gt;#on mysql slave cli&lt;br /&gt;
&lt;br /&gt;
#Note master_log_file  master_log_pos 在master 查看可得 show master status;&lt;br /&gt;
&lt;br /&gt;
stop slave;&lt;br /&gt;
change master to master_host=&amp;#039;192.168.1.11&amp;#039;,master_user=&amp;#039;slave&amp;#039;,master_password=&amp;#039;123456&amp;#039;,master_log_file=&amp;#039;mysql-bin.000001&amp;#039;,master_log_pos=233;&lt;br /&gt;
start slave;&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; show slave status\G;&lt;br /&gt;
*************************** 1. row ***************************&lt;br /&gt;
               Slave_IO_State: Waiting for master to send event&lt;br /&gt;
                  Master_Host: 10.4.241.13&lt;br /&gt;
                  Master_User: slave&lt;br /&gt;
                  Master_Port: 3306&lt;br /&gt;
                Connect_Retry: 60&lt;br /&gt;
              Master_Log_File: mysql-bin.000009&lt;br /&gt;
          Read_Master_Log_Pos: 552783919&lt;br /&gt;
               Relay_Log_File: db2-relay-bin.000007&lt;br /&gt;
                Relay_Log_Pos: 552784082&lt;br /&gt;
        Relay_Master_Log_File: mysql-bin.000009&lt;br /&gt;
             Slave_IO_Running: Yes&lt;br /&gt;
            Slave_SQL_Running: Yes&lt;br /&gt;
              Replicate_Do_DB: &lt;br /&gt;
          Replicate_Ignore_DB: &lt;br /&gt;
           Replicate_Do_Table: &lt;br /&gt;
       Replicate_Ignore_Table: &lt;br /&gt;
      Replicate_Wild_Do_Table: &lt;br /&gt;
  Replicate_Wild_Ignore_Table: &lt;br /&gt;
                   Last_Errno: 0&lt;br /&gt;
                   Last_Error: &lt;br /&gt;
                 Skip_Counter: 0&lt;br /&gt;
          Exec_Master_Log_Pos: 552783919&lt;br /&gt;
              Relay_Log_Space: 552784307&lt;br /&gt;
              Until_Condition: None&lt;br /&gt;
               Until_Log_File: &lt;br /&gt;
                Until_Log_Pos: 0&lt;br /&gt;
           Master_SSL_Allowed: No&lt;br /&gt;
           Master_SSL_CA_File: &lt;br /&gt;
           Master_SSL_CA_Path: &lt;br /&gt;
              Master_SSL_Cert: &lt;br /&gt;
            Master_SSL_Cipher: &lt;br /&gt;
               Master_SSL_Key: &lt;br /&gt;
        Seconds_Behind_Master: 0&lt;br /&gt;
Master_SSL_Verify_Server_Cert: No&lt;br /&gt;
                Last_IO_Errno: 0&lt;br /&gt;
                Last_IO_Error: &lt;br /&gt;
               Last_SQL_Errno: 0&lt;br /&gt;
               Last_SQL_Error: &lt;br /&gt;
  Replicate_Ignore_Server_Ids: &lt;br /&gt;
             Master_Server_Id: 1&lt;br /&gt;
                  Master_UUID: 5d43a4d9-8229-11e6-a39e-00163e00166e&lt;br /&gt;
             Master_Info_File: /mysql/data/master.info&lt;br /&gt;
                    SQL_Delay: 0&lt;br /&gt;
          SQL_Remaining_Delay: NULL&lt;br /&gt;
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it&lt;br /&gt;
           Master_Retry_Count: 86400&lt;br /&gt;
                  Master_Bind: &lt;br /&gt;
      Last_IO_Error_Timestamp: &lt;br /&gt;
     Last_SQL_Error_Timestamp: &lt;br /&gt;
               Master_SSL_Crl: &lt;br /&gt;
           Master_SSL_Crlpath: &lt;br /&gt;
           Retrieved_Gtid_Set: &lt;br /&gt;
            Executed_Gtid_Set: &lt;br /&gt;
                Auto_Position: 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; show processlist;&lt;br /&gt;
+----------+-------------+-----------+------+---------+---------+-----------------------------------------------------------------------------+------------------+&lt;br /&gt;
| Id       | User        | Host      | db   | Command | Time    | State                                                                       | Info             |&lt;br /&gt;
+----------+-------------+-----------+------+---------+---------+-----------------------------------------------------------------------------+------------------+&lt;br /&gt;
|      526 | system user |           | NULL | Connect | 9123850 | Waiting for master to send event                                            | NULL             |&lt;br /&gt;
|      527 | system user |           | NULL | Connect |       0 | Slave has read all relay log; waiting for the slave I/O thread to update it | NULL             |&lt;br /&gt;
| 19319210 | root        | localhost | NULL | Query   |       0 | init                                                                        | show processlist |&lt;br /&gt;
+----------+-------------+-----------+------+---------+---------+-----------------------------------------------------------------------------+------------------+&lt;br /&gt;
3 rows in set (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
==6 数据==&lt;br /&gt;
&lt;br /&gt;
[Creating a Data Snapshot Using mysqldump https://dev.mysql.com/doc/refman/5.6/en/replication-howto-mysqldump.html]&lt;br /&gt;
&lt;br /&gt;
== 7 进行测试 ==&lt;br /&gt;
&lt;br /&gt;
主库创建表&lt;br /&gt;
&amp;lt;pre&amp;gt; mysql&amp;gt; create database evan;&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; use evan;&lt;br /&gt;
Database changed&lt;br /&gt;
mysql&amp;gt; create table new (name char(20),phone char(20));&lt;br /&gt;
Query OK, 0 rows affected (0.07 sec)&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;insert into new  values(&amp;#039;abc&amp;#039;,&amp;#039;0532555555&amp;#039;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
报错 Slave_IO_Running: No 以及最下面是 Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the –replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).&lt;br /&gt;
&lt;br /&gt;
#删除多余的my.cnf就可以 &lt;br /&gt;
&lt;br /&gt;
find / -name &amp;quot;my.cnf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
server_id 与主的一样导致 [http://www.jb51.net/article/27242.htm http://www.jb51.net/article/27242.htm] Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: ‘Client requested master to start replication from impossible position’ 后面我在主删除一个database 竟然就好了 好怪&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
==8添加新slave服务器 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 使用mysqldump&lt;br /&gt;
使用mysqldump来得到一个数据快照可分为以下几步：&lt;br /&gt;
&amp;lt;1&amp;gt;锁表：如果你还没有锁表，你应该对表加锁，防止其它连接修改数据库，否则，你得到的数据可以是不一致的。如下：&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
&amp;lt;2&amp;gt;在另一个连接用mysqldump创建一个你想进行复制的数据库的转储：&lt;br /&gt;
shell&amp;gt; mysqldump --all-databases --lock-all-tables &amp;gt;dbdump.db&lt;br /&gt;
&amp;lt;3&amp;gt;对表释放锁。&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9 主从不同步时，如何进行数据同步至一致==&lt;br /&gt;
&amp;lt;pre&amp;gt; #转&lt;br /&gt;
将主服务器上的数据做完全备份&lt;br /&gt;
mysqldump --lock-all-tables --all-databases --flush-logs --master-data=2 &amp;gt;/root/all.sql&lt;br /&gt;
&lt;br /&gt;
在从服务器上导入主服务上的完全备份，在导入时关闭I/O和SQL线程&lt;br /&gt;
&lt;br /&gt;
总结：此实战中最为关键主要有两步①主服务器上锁表做完全备份，并滚动日志，②从服务器上进行半道恢复.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;#039;&amp;#039;&amp;#039;MySQL主从不同步问题解决&amp;#039;&amp;#039;&amp;#039;==&lt;br /&gt;
&lt;br /&gt;
1.首先停掉Slave服务：&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;pre&amp;gt;mysql&amp;gt; slave stop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2.到主服务器上查看主机状态：&amp;lt;br/&amp;gt; 记录File和Position对应的值。&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;pre&amp;gt;mysql&amp;gt; show master status;&lt;br /&gt;
+------------------+-----------+--------------+------------------+&lt;br /&gt;
&amp;amp;#124; File &amp;amp;#124; Position &amp;amp;#124; Binlog_Do_DB &amp;amp;#124; Binlog_Ignore_DB &amp;amp;#124;&lt;br /&gt;
+------------------+-----------+--------------+------------------+&lt;br /&gt;
&amp;amp;#124; mysql-bin.000020 &amp;amp;#124; 135617781 &amp;amp;#124; &amp;amp;#124; &amp;amp;#124;&lt;br /&gt;
+------------------+-----------+--------------+------------------+&lt;br /&gt;
1 row in set (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
3.到slave服务器上执行手动同步：&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;pre&amp;gt;mysql&amp;gt; change master to&lt;br /&gt;
&amp;gt; master_host=&amp;#039;master_ip&amp;#039;,&lt;br /&gt;
&amp;gt; master_user=&amp;#039;user&amp;#039;,&lt;br /&gt;
&amp;gt; master_password=&amp;#039;pwd&amp;#039;,&lt;br /&gt;
&amp;gt; master_port=3307,&lt;br /&gt;
&amp;gt; master_log_file=&amp;#039;mysql-bin.000020&amp;#039;,&lt;br /&gt;
&amp;gt; master_log_pos=135617781;&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt; slave start;&lt;br /&gt;
1 row in set (0.00 sec)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
再次查看slave状态发现：&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;pre&amp;gt;Slave_IO_Running: Yes&lt;br /&gt;
Slave_SQL_Running: Yes&lt;br /&gt;
...&lt;br /&gt;
Seconds_Behind_Master: 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
我们知道，因为DATA REPLICATION机制完全是基于在主上执行的增量SQL要被传播到辅服务器上，并且被成功运行。这就势必要求：&amp;#039;&amp;#039;&amp;#039;在运行此机制前，主辅数据库中数据是一致的；以及在运行此机制中，辅数据库禁止来自其他的SQL（非主上传播过来SQL）的写操作&amp;#039;&amp;#039;&amp;#039;。但是在运行中仍然可能遇到不一致的产生，这会导致通信无法正常继续下去。因此一旦主从出现问题，首先应该解决同步位置的问题，修复丢失的数据。&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
==常见问题 ==&lt;br /&gt;
主从同步出现错误：&lt;br /&gt;
&lt;br /&gt;
===Slave_IO_Running: Connecting Slave_SQL_Running: Yes ===&lt;br /&gt;
&lt;br /&gt;
解决方法：&lt;br /&gt;
导致lave_IO_Running 为connecting 的原因主要有以下 3 个方面：&lt;br /&gt;
&lt;br /&gt;
1、网络不通&lt;br /&gt;
2、密码不对&lt;br /&gt;
3、pos不对&lt;br /&gt;
&lt;br /&gt;
[http://blog.163.com/ly_89/blog/static/18690229920111121725897/ 主从同步出现一下错误：Slave_IO_Running: Connecting ]&lt;br /&gt;
&lt;br /&gt;
===mysql主从失败, 错误Got fatal error 1236解决方法===&lt;br /&gt;
&lt;br /&gt;
====问题出现 Slave_IO_Running: No  Got fatal error 1236 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;(vm机器 几天不用 再启动就) 由于主服务器异外重启, 导致从报错, 错误如下:&lt;br /&gt;
show slave status错误:&lt;br /&gt;
&lt;br /&gt;
Slave_IO_Running: No&lt;br /&gt;
     Last_IO_Errno: 1236&lt;br /&gt;
                Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: &amp;#039;Could not find first log file name in binary log index file&amp;#039;&lt;br /&gt;
              &lt;br /&gt;
查看mysql err log 如下  &lt;br /&gt;
2017-08-22 10:56:23 9100 [Note] Slave I/O thread: connected to master &amp;#039;repl_user@192.168.30.77:3306&amp;#039;,replication started in log &amp;#039;mysql-bin.000010&amp;#039; at position 120&lt;br /&gt;
2017-08-22 10:56:23 9100 [ERROR] Error reading packet from server: Could not find first log file name in binary log index file (server_errno=1236)&lt;br /&gt;
2017-08-22 10:56:23 9100 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: &amp;#039;Could not find first log file name in binary log index file&amp;#039;, Error_code: 1236&lt;br /&gt;
2017-08-22 10:56:23 9100 [Note] Slave I/O thread exiting, read up to log &amp;#039;mysql-bin.000010&amp;#039;, position 120&lt;br /&gt;
2017-08-22 10:56:23 9100 [Warning] Slave SQL: If a crash happens this configuration does not guarantee that the relay log info will be consistent, Error_code: 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====解决办法====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
按照习惯, 先尝试必改position位置.&lt;br /&gt;
mysql&amp;gt; stop slave; &lt;br /&gt;
mysql&amp;gt; change master to master_log_file=&amp;#039;mysql-bin.000011&amp;#039;,master_log_pos=203; &lt;br /&gt;
mysql&amp;gt; start slave; &lt;br /&gt;
show slave status\G &lt;br /&gt;
居然就成功了 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===做好主从  如何导入测试环境的数据 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
到时如何导出测试的mysql 数据， 如何导入比较 准&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
排除一些比较 好 &lt;br /&gt;
&lt;br /&gt;
mysql &amp;gt; flush tables with read lock;&lt;br /&gt;
然后执行下面的语句获取二进制日志的信息&lt;br /&gt;
&lt;br /&gt;
mysql &amp;gt; show master status;&lt;br /&gt;
&lt;br /&gt;
注意：如果之前的服务器并没有配置使用二进制日志，那么使用上面的sql语句会显示空，在锁表之后，再导出数据库里的数据（如果数据库里没有数据，可以忽略这一步）&lt;br /&gt;
&lt;br /&gt;
[root@localhost backup]# mysqldump -uroot -p&amp;#039;123456&amp;#039; -S /data/3306/data/mysql.sock --all-databases &amp;gt; /server/backup/mysql_bak.$(date +%F).sql&lt;br /&gt;
如果数据量很大，可以在导出时就压缩为原来的大概三分之一&lt;br /&gt;
&lt;br /&gt;
[root@localhost backup]# mysqldump -uroot -p&amp;#039;123456&amp;#039; -S /data/3306/data/mysql.sock --all-databases | gzip &amp;gt; /server/backup/mysql_bak.$(date +%F).sql.gz&lt;br /&gt;
这时可以对数据库解锁，恢复对主数据库的操作&lt;br /&gt;
&lt;br /&gt;
mysql &amp;gt; unlock tables;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
做了MySQL主从复制以后，使用mysqldump对数据备份时，一定要注意按照如下方式：&lt;br /&gt;
&lt;br /&gt;
mysqldump --master-data --single-transaction --user=username --password=password dbname&amp;gt; dumpfilename&lt;br /&gt;
&lt;br /&gt;
这样就可以保留 file 和 position 的信息，在新搭建一个slave的时候，还原完数据库， file 和 position 的信息也随之更新，接着再start slave 就可以很迅速的完成增量同步！&lt;br /&gt;
&lt;br /&gt;
还可以设置一个log保存周期：&lt;br /&gt;
&lt;br /&gt;
expire_logs_days=14&lt;br /&gt;
&lt;br /&gt;
做好主从好 如何快速导入别的数据到主 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====参考====&lt;br /&gt;
[http://ritto.blog.51cto.com/427838/735810 MySQL主从失败, 错误Got fatal error 1236解决方法]&lt;br /&gt;
&lt;br /&gt;
==参考C资料==&lt;br /&gt;
[http://purify.blog.51cto.com/10572011/1876048 MySQL主从复制架构及原理]&lt;br /&gt;
&lt;br /&gt;
[http://www.idcyunwei.org/post/147.html MySQL 5.6基于GTID及多线程的同步复制（Mysql util主从配置工具）详解]&lt;br /&gt;
&lt;br /&gt;
[http://www.cnblogs.com/abobo/p/4242417.html mysql GTID Replication]&lt;br /&gt;
&lt;br /&gt;
[http://dbaplus.cn/news-11-857-1.html 与MySQL传统复制相比，GTID有哪些独特的复制姿势?]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/kylinlin/p/5258719.html Mysql主从同步（复制）]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/juded/article/details/54600294 MySQL5.6主从同步（binlog方式）]&lt;br /&gt;
[[Category:Mysql]]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>