表示 进入内容 15
Displaying posts with tag: 主从 (reset)
mysql5.6主从复制第五部分[如何在从服务器中跳过一条语句/事务]

mysql5.6主从复制第五部分[如何在从服务器中跳过一条语句/事务]

写这篇笔记的时候,mysql已经从5.6.10发展到了5.6.12

SQL_SLAVE_SKIP_COUNTER 对于GTID没用 。

准备测试环境,按照 http://www.zhaokunyao.com/archives/4131 配置主从。
master port 5612
slave port 5613

然后把slave设置成落后于master 600秒, 便于测试:

      mysql [localhost] {msandbox} (test) > CHANGE master TO MASTER_DELAY=600;
ERROR 1198 (HY000): This operation cannot be performed WITH a running slave; run STOP SLAVE FIRST
mysql [localhost] {msandbox} (test) > 
mysql [localhost] {msandbox} (test) > stop slave;
Query OK, 0 ROWS affected (0.05 sec)
 
mysql [localhost] {msandbox} (test) > CHANGE master TO MASTER_DELAY=600;
Query OK, 0 ROWS affected (0.27 sec)
 
mysql [localhost] {msandbox} (test) > START slave;
Query OK, 0 ROWS affected, 1 warning …
[获取更多]
mysql5.6主从复制第四部分[一些被忽视的操作细节]

mysql5.6主从复制第四部分[一些被忽视的操作细节]

1. STOP SLAVE

从服务器上负责同步的有二类线程:
1) IO thread
2) SQL thread

IO thread负责获取master上的binary log, 然后多个sql threads负责执行。

IO thread 决定了Retrieved_Gtid_Set
SQL thread 决定了Executed_Gtid_Set

由于IO thread先于SQL thread,Retrieved_Gtid_Set可能会略多于Executed_Gtid_Set。
比如:

      mysql [localhost] {msandbox} (test) > SHOW slave STATUS \G
.......
.......
           Retrieved_Gtid_Set: 67cd9435-7cae-11e2-aa8d-00241db92e69:1-9
            Executed_Gtid_Set: 67cd9435-7cae-11e2-aa8d-00241db92e69:1-7
                Auto_Position: 1

所以,在stop slave的时候,正确的操作是:
1) stop slave io_thread;
2) show slave status …

[获取更多]
mysql5.6主从复制第三部分[把从服务器提升为主服务器]

mysql5.6主从复制第三部分

第三部分测试主服务器挂掉,提升某个从服务器的情况。

继续用mysql::sandbox来测试。
主服务器(别名black)(server-id:1)安装在 /home/modify/sandboxes/msb_5_6_10/ 使用5610端口。
从服务器(别名blue)(server-id:2)安装在 /home/modify/sandboxes/msb_5_6_10_a/ 使用5611端口。
从服务器(别名green)(server-id:3)安装在 /home/modify/sandboxes/msb_5_6_10_b/ 使用5612端口。
从服务器(别名red)(server-id:4)安装在 /home/modify/sandboxes/msb_5_6_10_c/ 使用5613端口。

然后再构造一种最特殊的情况:
当主服务器挂掉的时候,blue获取到的gtid及transaction比green要少, green比red要少,然后要求把green提升为主服务器。

主black 写入一条数据:
mysql [localhost] …
[获取更多]
mysql5.6主从复制第二部分[恢复某一台从服务器]

mysql5.6主从复制第二部分

本来第二部分是想测试主服务器挂掉,提升从服务器的情况,
可是出了点点意外,改为测试某一台从服务器挂掉的时候,如何恢复。
主服务器挂掉的情况放到第三部分吧。

继续用mysql::sandbox来测试。
主服务器(别名black)(server-id:1)安装在 /home/modify/sandboxes/msb_5_6_10/ 使用5610端口。
从服务器(别名blue)(server-id:2)安装在 /home/modify/sandboxes/msb_5_6_10_a/ 使用5611端口。
从服务器(别名green)(server-id:3)安装在 /home/modify/sandboxes/msb_5_6_10_b/ 使用5612端口。

按照前一篇文章介绍的方法设置好一主二从的复制。

[获取更多]
mysql5.6主从复制第一部分[简介及配置]

mysql5.6主从复制第一部分

很久之前写过《mysql5.1的主从配置》,
如今mysql已经发布了5.6.10,在主从复制功能上做了很多优化,特别是GTID(Global Transaction ID)的引入,
值得再重新写一篇文章介绍如何配置mysql 5.6.10的主从复制。

还是用mysql::sandbox来测试吧。
主服务器(别名black)安装在 /home/modify/sandboxes/msb_5_6_10/ 使用5610端口。
从服务器(别名blue)安装在 /home/modify/sandboxes/msb_5_6_10_a/ 使用5611端口。

第一步,修改配置文件

修改主服务器配置文件my.sandbox.cnf,添加下面的几行:

binlog-format=ROW
log-slave-updates=true
gtid-mode=on # GTID only
enforce-gtid-consistency=true # GTID only …
[获取更多]
表示 进入内容 15