mysql replication(主从复制)实验学习笔记(二)

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、实验步骤

注意:如果你没有做过实验(一),请通过以下链接完成实验(一)才来尝试本章的实验内容:

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

以上slave机器初始化设置同理请参考实验(一),以下不在详述。

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

配置效果:

------>

配置完成后重启服务:

/etc/init.d/mysqld restart

------>

2.2.2、step2

In Slave

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

vim编辑/etc/my.cnf

增加如下参数:

server-id=3

配置完成后重启服务:

/etc/init.d/mysqld restart

------>

2.2.3、step3

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

In Relay-Slave

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

In Slave

导入备份并登陆数据库:

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

数据库检查:

show databases;

In Relay-Slave

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

grant replication slave on *.* to ‘repl‘@‘10.168.0.105‘ identified by ‘repl‘

查看master状态:

show master status\G;

记录下“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.000004‘
    -> master_log_pos=106;

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

mysql> start slave;

查看状态:

mysql> show slave status\G;

2.2.5、step5

本步骤完成测试

In Master

insert into……

show variables like ‘%bin%‘;

In Relay-Slave

In Slave

未完待续……

时间: 2024-12-28 13:15:52

mysql replication(主从复制)实验学习笔记(二)的相关文章

MySQL Replication 主从复制全方位解决方案

原文:MySQL Replication 主从复制全方位解决方案 1.1 主从复制基础概念 在了解主从复制之前必须要了解的就是数据库的二进制日志(binlog),主从复制架构大多基于二进制日志进行,二进制日志相关信息参考:http://www.cnblogs.com/clsn/p/8087678.html#_label6 1.1.1 二进制日志管理说明 二进制日志在哪?如何设置位置和命名? 在my.cnf文件中使用 log-bin = 指定:命名规则为 mysql-bin.000000 (后为6

MySQL Replication主从复制—(实例)

主从复制原理 MySQL Replication是一个从Master复制到一台或多台Slave的异步复制过程. Master和Slave之间实现整个复制过程主要由三个线程来完成,其中一个IO线程在Master端,两个线程(SQL线程和IO线程)在Slave端. 通过Master服务器打开Binary Log(二进制日志文件)的功能,Slave端从Master端获取该日志信息,然后将二进制文件解析为SQL语句,并完全顺序地执行SQL语句所记录的各种操作.(Slave获取到的二进制文件同时也会写入到

mysql互为主从复制配置笔记--未读,稍后学习

MySQL-master1:192.168.72.128 MySQL-master2:192.168.72.129 OS版本:CentOS 5.4MySQL版本:5.5.9(主从复制的master和slave服务器中的mysql版本相同或者master版本高于slave版本) 一.MySQL master-master配置 1.修改MySQL配置文件 两台MySQL均如要开启binlog日志功能,开启方法:在MySQL-master1  配置文件/etc/my.cnf  [MySQLd]段中加上

mysql数据库主从复制部署笔记

数据库主从复制原理:数据库的主从复制就是从master数据库复制到slave数据库,在master与slave之间实现整个复制需要三个线程来完成,其中两个在slave端一个在master端.在master端必须打开binlog功能,因为从数据库需要获得主数据的完整的操作日志然后再自身上顺序的执行日志中的各种操作. 主要步骤:1.将slave的io线程连上master,请求获得指定日志文件的指定位置之后的操作日志的内容:2.master获得slave的io线程请求后,将请求中读取到的指定日志的指定

mysql互为主从复制配置笔记

MySQL-master1:192.168.72.128 MySQL-master2:192.168.72.129 OS版本:CentOS 5.4MySQL版本:5.5.9(主从复制的master和slave服务器中的mysql版本相同或者master版本高于slave版本) 一.MySQL master-master配置 1.修改MySQL配置文件 两台MySQL均如要开启binlog日志功能,开启方法:在MySQL-master1  配置文件/etc/my.cnf  [MySQLd]段中加上

MySql Replication配置

一.前言 Mysql Replication作为读写分离的廉价解决方案,支持一主多备的方式进行数据存储,采用二进制日志传送,目前存在着广泛应用,网上相关概念也比较多,不再重复介绍.引用一张官方提供的Replication应用场景图片(http://dev.mysql.com/doc/refman/5.1/en/replication-solutions.html).本文主要记录了基于Linux环境下的Mysql Replication配置步骤. 二.环境准备   IP_PORT OS Mysql

mysql replication(主从复制)实验学习笔记

1.理论部分 1.1.mysql replication的概念: enables data from one mysql database server(the master) to be replicated to one or more mysql database servers(the slaves). 1.2.mysql replication的实现基础: Binary Log(二进制日志)是实现mysql主从复制的基础 Binary Log的概念:所有的.无论是明确的或隐含的可以引起

马哥学习笔记二十六——MySQL主从复制

配置MySQL复制基本步骤: 一.master 1.启用二进制日志 log-bin = master-bin log-bin-index = master-bin.index 2.选择一个惟一server-id server-id = {0-2^32} 3.创建具有复制权限的用户 REPLICATION SLAVE REPLICATION CLIENT 二.slave 1.启用中继日志 relay-log = relay-log relay-log-index = 2.选择一个惟一的server

第四阶段 (七)MySQL REPLICATION(主从复制、半同步复制、复制过滤)

Linux运维 第四阶段 (七)MySQL REPLICATION(主从复制.半同步复制.复制过滤) 一.MySQL Replication相关概念: 1.复制的作用:辅助实现备份:高可用HA:异地容灾:分摊负载(scaleout):rw-spliting(mysql proxy工作在应用层). 2.master有多个CPU允许事务并行执行,但往二进制日志文件只能一条条写:slave比master要慢:master-slave默认异步方式传送. 3.半同步:仅负责最近一台slave同步成功,其它

mysql的主从复制(二)mysql-proxy实现读写分离

安装前准备(三台虚拟机): 主机1: 172.16.24.77   安装msyql服务器端  mysql-proxy 主机2: 172.16.24.88    安装mysql服务器端(mysql主) 主机3: 172.16.24.99   安装mysql服务器端(mysql从) (注,我这里的三台主机都是安装好了mysql的,如里你没有安装请参照前面的博客有安装过程) 一.安装mysql-proxy 所需安装包(mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit