文档章节

Mysql的AB复制

Berry涩味
 Berry涩味
发布于 2014/06/22 21:00
字数 929
阅读 69
收藏 5
点赞 0
评论 0

MysqlAB复制

环境:rhel 6.5

master:192.168.2.1

slave1:192.168.2.2

slave2192.168.2.10


1.mysql的单向复制

: mysql 数据库的版本,两个数据库版本要相同,或者slave master 版本高!

yum install  mysql-server -y

请注意当你进行复制时,所有对复制中的表的更新必须在服务器上进行。否则,

必须要小心,以避免用户对主服务器上的表进行的更新与对从服务器上的表所进行的

更新之间的冲突。

master server配置

开启mysqld服务

mysql> show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000003 |      106 | westos      | mysql            |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

1)创建同步帐户,并给予权限

mysql> grant replication slave, reload, super on *.* to westos@'%' identified by 'westos';


mysql>flush privileges;

2 )配置 /etc/my.cnf 配置文件

[mysqld]下添加一下参数

log-bin=mysql-bin #启动二进制日志系统

binlog-do-db=westos #二进制需要同步的数据库名

server-id=1 #必须为1232–1之间的一个正整数值

binlog-ignore-db=mysql #避免同步 mysql用户配置,以免不必要的麻烦


3 )service mysqld restart

slave server 配置

1 )配置 /etc/ my.cnf 文件

[mysqld]下添加一下参数

server-id=2 #从服务器 ID ,不要和主ID相同,如果设置多个从服务器,每个从服务器必须有一个唯一的server-id,必须与主服务器的以及其它从服务器的不相同。可以 认为server-id值类似于IP地址:这些ID值能唯一识别复制服务器群集中的每个服务 器实例。

2 )service mysqld   start

mysql -uwestos  -pwestos  -h  192.168.2.1 #进入mysql

mysql> change master to master_host='192.168.2.1', master_user='westos', master_password='westos', master_log_file='mysql-bin.000003', master_log_pos=106; #注意跟master的日志文件,日志位置保持一致


mysql> slave start;

mysql> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.2.1

Master_User: westos

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000003

Read_Master_Log_Pos: 106

Relay_Log_File: mysqld-relay-bin.000002

Relay_Log_Pos: 251

Relay_Master_Log_File: mysql-bin.000003

Slave_IO_Running: Yes

          Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 106

Relay_Log_Space: 407

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

master创建数据库,创建表添加数据,slave server是否同步

mysql> create database westos;

mysql> use westos;

mysql> create table linux(

-> username varchar(20)  not  null,

-> password varchar(50)  not  null

-> );

mysql> desc linux;

mysql> insert into linux values ('user1','123');

mysql> insert into linux values ('user2',password(123));

mysql> select * from linux;

+----------+-------------------------------------------+

| username | password                                  |

+----------+-------------------------------------------+

| user1    | 123                                       |

| user2    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |

+----------+-------------------------------------------+

slave机子上:

mysql> show databases;

mysql> select * from westos.linux; #数据同步成功

+----------+-------------------------------------------+

| username | password                                  |

+----------+-------------------------------------------+

| user1    | 123                                       |

| user2    | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |

+----------+-------------------------------------------+

master上更改:

mysql> update linux set password=456;

slave上: #查看数据同步已过来

mysql> select * from westos.linux;

+----------+----------+

| username | password |

+----------+----------+

| user1    | 456      |

| user2    | 456      |

+----------+----------+



线性A- > B - > Cmaster - >slave1- >slave2

添加一个slave2192.168.2.10

slave1node2上修改配置文件

vim /etc/my.cnf

server-id=2

添加: log-bin=mysql-bin

binlog-do-db=westos

inlog-ignore-db=mysql


log-slave-updates

/etc/init.d/mysqld  restart #重启mysql

授权mysql>grant replication slave, reload, super on *.* to westos@'%' identified by 'westos';

mysql> flush privileges;


slave2192.168.2.10:

验证权限  mysql -uwestos  -pwestos  -h  192.168.2.2  看能否登录进mysql

vim /etc/my.cnf

server-id=3

/etc/init.d/mysqld  restart #重启mysql


slave1上:


由于 master上已经有数据,而新加的slave2 没有,必须在配置复制前同步数据。

westos库里的表导入到back

mysqldump westos > back

scp back 192.168.2.10: #把库发给slave2


slave2上:

mysqladmin create westos #创建westos

mysql westos < back #back库里的表导入到westos


mysql> show databases;

mysql> use westos;

mysql> show tables;

mysql> select * from linux;

slave1mysql> show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000001 |      106 | westos       | mysql            |

+------------------+----------+--------------+------------------+

slave2上:

mysql> change master to master_host='192.168.2.2', master_user='westos', master_password='westos', master_log_file='mysql-bin.000001', master_log_pos=106

mysql> slave start;

mysql> show salve status\G; #查看状态是否正常

现在开始测试:

A mastermysql> delete from linux;

验证查看B slave1C slave2   mysql> select * from linux;

A mastermysql> insert into linux values ('sxy','123');

验证查看B slave1C slave2   mysql> select * from linux;

+----------+----------+

| username | password |

+----------+----------+

| sxy      | 123      |

+----------+----------+ 


© 著作权归作者所有

共有 人打赏支持
Berry涩味
粉丝 8
博文 7
码字总数 14335
作品 0
西安
系统管理员
探索MySQL高可用架构之MHA(4)

探索MySQL高可用架构之MHA(4) -----构建mysql高可用系列(共9篇) 上一篇文章介绍了本次架构中的Mysql源码安装。本篇文章主要介绍本次架构中的ABBB复制。 首先我们先介绍什么是MySql AB复制???...

顺境其生 ⋅ 2015/07/22 ⋅ 0

MYSQL_连接字符串函数

1、concat ()函数 1.1 MySQL的concat函数可以连接一个或者多个字符串,如 mysql> select concat('10'); +--------------+ | concat('10') | +--------------+ | 10 | +--------------+ 1 row......

喵王不瞌睡 ⋅ 2015/07/16 ⋅ 0

mysql (ab复制 mysql中间件)

原理图: mysql ab复制 A->B master: vim /etc/my.cnf 添加 log-bin=mysql-bin server_id=1 show master status grant replication slave on . to repl@'%' identified by 'repl' mysql-bin......

doudou___9958 ⋅ 2016/11/10 ⋅ 0

使用百度云加速防apache的ab测试ddos攻击

Apache带的有一个ab压力测试的; 具体的概念性的东西;咱不扯;有兴趣的自行搜索; 这里只简单介绍使用方法; windows示例:e:wamp64binapacheapache2.4.17binab.exe -n1000 -c100 http://ba...

白俊遥 ⋅ 2016/05/22 ⋅ 0

MySQL Group Replication 学习(部署篇+排错篇)

写在前面:之前一直用mariadb 版本,mariadb 集成了galera插件,实现pxc部署较为简单。官方在5.7推出了MySQL Group Replication,之前因为时间原因,一直没有时间搭建,今天也是抱着学习对比...

雪隐千寻 ⋅ 2017/10/20 ⋅ 0

青云QingCloud RDS 服务率先支持 MySQL 5.7

作为一家优秀的基础云服务提供商,青云QingCloud 一直致力于为用户提供更好的服务,今天QingCloud RDS 服务率先支持 MySQL 5.7 版本(据小编了解应该是国内首家吧,如有误,请轻拍),本次升...

cathyli ⋅ 2016/03/24 ⋅ 0

concat和concat_ws()区别及MySQL的几个实用字符串函数【转】

1、concat()函数 1.1 MySQL的concat函数可以连接一个或者多个字符串,如 mysql>select concat('10'); +--------------+ |concat('10') | +--------------+ |10 | +--------------+ 1 row in s......

houyiwujing ⋅ 2011/12/15 ⋅ 0

MySQL的小指南

《高性能MySQL》一书给我们做了许多指导,其中有5章应该精读的: Schema与数据类型优化 创建高性能的索引 查询性能优化 MySQL高级特性 复制 我对这几章都读过不下三遍了,有一些理解,当然更...

JoshuaShaw ⋅ 2016/05/04 ⋅ 1

MySQL中concat函数 concat_ws函数 group_concat函数 repeat

MySQL中concat函数 使用方法: CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 注意: 如果所有参数均为非二进制字符串,则结果为非二进...

adbug ⋅ 2016/04/20 ⋅ 0

mysql连接字符串的函数

1.MySQL中concat()函数 使用方法: CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 注意: 如果所有参数均为非二进制字符串,则结果为非...

freedonn ⋅ 2014/03/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Kubeflow实战系列:利用TFJob导出分布式TensorFlow模型

介绍 本系列将介绍如何在阿里云容器服务上运行Kubeflow, 本文介绍如何使用TfJob导出分布式模型训练模型。 第一篇:阿里云上使用JupyterHub 第二篇:阿里云上小试TFJob 第三篇:利用TFJob运行...

全部原谅 ⋅ 18分钟前 ⋅ 0

007. 深入JVM学习—老年代

老年代空间的主要目的是用于存储由Eden发送来的对象,一般在经历好几次“Minor GC”还会保存下来的对象,才会被复制到老年代,这样就可以存放更多的对象,同时在老年代中执行GC的次数也相对较...

影狼 ⋅ 19分钟前 ⋅ 0

常见的一些C#开源框架或者开源项目

原:https://blog.csdn.net/qq_27825451/article/details/70666044 Json.NET http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更......

whoisliang ⋅ 19分钟前 ⋅ 0

设计模式基本原理

刚开始接触编程这行的时候看过设计模式,当时感觉学这些模式没有太大的用处,当时也看不太懂。但是随着慢慢接触这一行,经过一段时间的编程以后,再回过头来看设计模式,发现设计模式的确是太...

王子城 ⋅ 23分钟前 ⋅ 0

阿里云全面支持IPv6!一文揽尽4位大咖精彩演讲

摘要: 自从去年11月以来,阿里巴巴高度重视数据中心的网络改造、云产品改造、应用及网络改造等多个维度,经过半年以来的建设,阿里云已经完成了域名解析等关键产品的分析,现在阿里云已经完...

传授知识的天使 ⋅ 33分钟前 ⋅ 0

windows Android sdk 配置

1、下载Android SDK,点击安装,直接默认路径即可! 下载地址:http://developer.android.com/sdk/index.html 2、默认路径安装后,安装完成,开始配置环境变量。 3、打开计算机属性——高级系...

阿豪boy ⋅ 36分钟前 ⋅ 0

bash shell script 简明教程

User <--> bash <--> kernel shell is not kernel or part of kernel various shells: tcsh, csh, bash, ksh find the using shell: echo $SHELL find all the shells: cat /etc/shells what......

mskk ⋅ 38分钟前 ⋅ 0

Service Mesh简史

William Morgan Service Mesh是一个相当新的概念,讲它的“历史”似乎有些勉强。就目前而言,Service Mesh已经在部分企业生产环境中运行了超过18个月,它的源头可以追溯到2010年前后互联网公...

好雨云帮 ⋅ 39分钟前 ⋅ 0

10个免费的服务器监控工具

监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。你要确保用户始终可以打开你的网站并且网速不慢。服务器监控工具允许你收集和分析有关你的Web服务器的数据。 有许多非常好的服...

李朝强 ⋅ 51分钟前 ⋅ 0

压缩工具之zip-tar

zip 支持目录压缩。使用yum安装zip包,使用yum安装unzip包 zip 1.txt.zip 1.txt #将1.txt文件压缩,新生成的压缩文件为1.txt.zip,原文件保留 zip -r 123.zip 123/ #-r对目录操作。将123/目录...

ZHENG-JY ⋅ 52分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部