Mysql mss生产中使用_mysql replication(主从复制)(二)MSS模式

1、理论部分

1.1、One Master-Muti Slave

325555f28d3441e6e2ba7c19e42646b0.png

工作原理:

一台到多台Slave

缺陷:

I/O压力集中在Master上

1.2、M-S-S

b7baaccfae22a4480e446811bf9d8299.png

工作原理:

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

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

1.3、M-M

e8e1863e3732628bdec23b2ebfd05bd9.png

工作原理:

相互负载均衡

缺点:

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

1.4、M-M-M

47ce6a5618979ccd209da26742914e74.png

工作原理:

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

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

缺点:

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

2)monitor维护增加复杂度。

1.5、One Slave-Muti Master

1ee606948113a586de313336a12a6d7e.png

工作原理:

优点:

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模式”为基础,如果你做如下测试,请先参阅如下链接:

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

2.2.1、step1

In Relay-Slave

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

vim编辑/etc/my.cnf

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

log-slave-updates

binlog-format=row

最后必须包含以下参数:[mysqld]

server-id=2

log-bin

log-slave-updates

binlog-format=row

配置效果:

2ff601537c8f209450651d4d43e2cec6.png

配置完成后重启服务:/etc/init.d/mysqld restart

3ec5857600c931331ff81255ede6b274.png

2.2.2、step2

In Slave

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

vim编辑/etc/my.cnf

增加如下参数:server-id=3

e5498d30b3c30b62fdc057811d15108b.png

配置完成后重启服务:/etc/init.d/mysqld restart

472f4377a6012e4133afcddcab9620fb.png

2.2.3、step3

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

In Relay-Slavemysqldump --all-databases -uroot -p > /var/lib/backup/backup.sql

scp /var/lib/backup/backup.sql 10.168.0.105:~/

ba8c3e44b9da37d49d3acc9da1514824.png

In Slave

导入备份并登陆数据库:mysql -uroot -p 

mysql -uroot -p

6975925b647cf00685d5b6865518785d.png

数据库检查:show databases;

cc0d92b7bf00eb2c7762331ada717450.png

In Relay-Slave

授权本机作为master允许被slave访问:grant replication slave on *.* to 'repl'@'10.168.0.105' identified by 'repl';

9562f5fa87b5e4857345539c605a012a.png

查看master状态:show master status\G

821d2c6a79aafb141b5d243303dffcc4.png

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

2.2.4、step4

In Slave

设置连接到master的参数: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;

2c952d4843e66c95e1820ba2a319e3f3.png

启动作为slave身份的相关进程:mysql> start slave;

3273cb8eb91e863b22e2aa43f4023fe4.png

查看状态:mysql> show slave status\G;

5f01252a0a5b89d1456d289f0268faa4.png

2.2.5、step5

本步骤完成测试

In Master&Relay-Slave&Slave

7cf1cd51114c0a8c2beea08109ee22d7.png

41fa53b1f578bd506650e67b63907ac2.png

e3a5c20c52a9cbcd7b227719c9030f07.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值