博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql replication(主从复制)(二)MSS模式
阅读量:6070 次
发布时间:2019-06-20

本文共 1992 字,大约阅读时间需要 6 分钟。

1、理论部分

1.1、One Master-Muti Slave

工作原理:

一台到多台Slave

缺陷:

I/O压力集中在Master上

1.2、M-S-S

工作原理:

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

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

1.3、M-M

工作原理:

相互负载均衡

缺点:

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

1.4、M-M-M

工作原理:

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

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

缺点:

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

2)monitor维护增加复杂度。

1.5、One Slave-Muti Master

工作原理:

优点:

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

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

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

配置效果:

配置完成后重启服务:

1
/etc/init
.d
/mysqld 
restart

2.2.2、step2

In Slave

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

vim编辑/etc/my.cnf

增加如下参数:

1
server-
id
=3

配置完成后重启服务:

1
/etc/init
.d
/mysqld 
restart

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:~/

In Slave

导入备份并登陆数据库:

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

数据库检查:

1
show databases;

In Relay-Slave

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

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

查看master状态:

1
show master status\G

记录下“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;

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

1
mysql> start slave;

查看状态:

1
mysql> show slave status\G;

2.2.5、step5

本步骤完成测试

In Master&Relay-Slave&Slave

本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1697067,如需转载请自行联系原作者
你可能感兴趣的文章
MapReduce的模式,算法以及用例
查看>>
《Advanced Linux Programming》读书笔记(1)
查看>>
zabbix agent item
查看>>
一步一步学习SignalR进行实时通信_7_非代理
查看>>
AOL重组为两大业务部门 全球裁员500人
查看>>
字符设备与块设备的区别
查看>>
为什么我弃用GNOME转向KDE(2)
查看>>
Redis学习记录初篇
查看>>
爬虫案例若干-爬取CSDN博文,糗事百科段子以及淘宝的图片
查看>>
Web实时通信技术
查看>>
第三章 计算机及服务器硬件组成结合企业运维场景 总结
查看>>
IntelliJ IDEA解决Tomcal启动报错
查看>>
默认虚拟主机设置
查看>>
七周五次课(1月26日)
查看>>
Linux系统一些系统查看指令
查看>>
php中的短标签 太坑人了
查看>>
[译] 可维护的 ETL:使管道更容易支持和扩展的技巧
查看>>
### 继承 ###
查看>>
数组扩展方法之求和
查看>>
astah-professional-7_2_0安装
查看>>