mysql replication(主从复制)(二)MSS模式

1、理论部分

1.1、One Master-Muti Slave

mysql replication(主从复制)(二)MSS模式

工作原理:

一台到多台Slave

缺陷:

I/O压力集中在Master上

1.2、M-S-S

mysql replication(主从复制)(二)MSS模式

工作原理:

1)使用一台Slave作为中继,分担Master的压力。

2)中继SLave上需要开启二级制日志,并配置log-slave-updates。

1.3、M-M

mysql replication(主从复制)(二)MSS模式

工作原理:

相互负载均衡

缺点:

破坏了事物的隔离性何数据一致性(不建议使用)

1.4、M-M-M

mysql replication(主从复制)(二)MSS模式

工作原理:

通过Monitor监控其他三台机器运行

DML发送到其中一台机器,其他三台循环同步

缺点:

1)传递多级别延迟问题。

2)monitor维护增加复杂度。

1.5、One Slave-Muti Master

mysql replication(主从复制)(二)MSS模式

工作原理:


优点:

1)数据自动化整合

2)节省成本

缺点:

1)对库和表修改比较多

2)对运行过M-S来说风险比较高

2、实验部分

2.1、实验环境

mysql主服务器(master):

ipaddress=10.168.0.103

hostname=sql-m

mysql中继从服务器(relay-slave):

ipaddress=10.168.0.104

hostname=sql-s

mysql从服务器(slave):

ipaddress=10.168.0.105

hostname=sql-s-s

2.2、实验步骤

以下实验以“mysql replication(主从复制)(一)MS模式”为基础,如果你做如下测试,请先参阅如下链接:

http://cmdschool.blog.51cto.com/2420395/1696474

以上slave机器初始化设置同理请参考“mysql replication(主从复制)(一)MS模式”,以下不在详述。

2.2.1、step1

In Relay-Slave

配置server-id,标识服务器。

vim编辑/etc/my.cnf

实验一基础上增加如下参数:

1
2
3
log-bin
log-slave-updates
binlog-format=row

最后必须包含以下参数:

1
2
3
4
5
[mysqld]
server-id=2
log-bin
log-slave-updates
binlog-format=row

配置效果:

mysql replication(主从复制)(二)MSS模式


配置完成后重启服务:

1
/etc/init.d/mysqld restart

mysql replication(主从复制)(二)MSS模式

2.2.2、step2

In Slave

配置server-id,标识服务器。

vim编辑/etc/my.cnf

增加如下参数:

1
server-id=3

mysql replication(主从复制)(二)MSS模式

配置完成后重启服务:

1
/etc/init.d/mysqld restart

mysql replication(主从复制)(二)MSS模式

2.2.3、step3

本步骤目的是将Relay-Slave的数据导到Slave中

In Relay-Slave

1
2
mysqldump --all-databases -uroot -p > /var/lib/backup/backup.sql
scp /var/lib/backup/backup.sql 10.168.0.105:~/

mysql replication(主从复制)(二)MSS模式

In Slave

导入备份并登陆数据库:

1
2
mysql -uroot -p < ~/backup.sql
mysql -uroot -p

mysql replication(主从复制)(二)MSS模式

数据库检查:

1
show databases;

mysql replication(主从复制)(二)MSS模式

In Relay-Slave

授权本机作为master允许被slave访问:

1
grant replication slave on *.* to 'repl'@'10.168.0.105' identified by 'repl';

mysql replication(主从复制)(二)MSS模式

查看master状态:

1
show master status\G

mysql replication(主从复制)(二)MSS模式

记录下“File”与“Position”的值,下一步要使用。

2.2.4、step4

In Slave

设置连接到master的参数:

1
2
3
4
5
6
mysql> change master to
    -> master_host='10.168.0.104',
    -> master_user='repl',
    -> master_password='repl',
    -> master_log_file='mysqld-bin.000002',
    -> master_log_pos=106;

mysql replication(主从复制)(二)MSS模式

启动作为slave身份的相关进程:

1
mysql> start slave;

mysql replication(主从复制)(二)MSS模式

查看状态:

1
mysql> show slave status\G;

mysql replication(主从复制)(二)MSS模式

2.2.5、step5

本步骤完成测试

In Master&Relay-Slave&Slave

mysql replication(主从复制)(二)MSS模式

mysql replication(主从复制)(二)MSS模式

mysql replication(主从复制)(二)MSS模式









本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1697067,如需转载请自行联系原作者