mysql ab复制延时_Mysql的AB复制

Mysql的AB复制

环境:rhel 6.5

master:192.168.2.1

slave1:192.168.2.2

slave2:192.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 #必须为1到232–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 - > C,master - >slave1- >slave2

添加一个slave2,192.168.2.10

在slave1即node2上修改配置文件

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;

在slave2即192.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;

在slave1上mysql> 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 master上mysql> delete from linux;

验证查看B slave1和C slave2   mysql> select * from linux;

在A master上mysql> insert into linux values ('sxy','123');

验证查看B slave1和C slave2   mysql> select * from linux;

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

| username | password |

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

| sxy      | 123      |

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python ckeditor上传图片400错误_又一款python开发神器

优秀的python开发工具有很多&#xff0c;比如pycharm&#xff0c;spder&#xff0c;ipython&#xff0c;jupyter以及很多编辑器的插件等。但是如果利用python来做数据分析的话&#xff0c;要是有一款类似Rstudio的工具就好了&#xff0c;Rstudio是非常人性化的工具。之前有一个…

mysql.data.dll win10_【MySQL】Windows10下安装

2.配置环境变量变量名&#xff1a;MYSQL_HOME变量值&#xff1a;download_path\mysql-8.0.19-winx64path添加&#xff1a;%MYSQL_HOME%\bin;3.生成data文件管理员身份&#xff0c;进入download_path\mysql-8.0.19-winx64\bin命令&#xff1a;mysqld --initialize-insecure --us…

Chrome 调试动态加载的js

今天有个同事问到我用chrome调试动态加载js的问题&#xff0c;这个问题之前遇到过&#xff0c;只是时间有点长了&#xff0c;有些忘记。在这里做一下记录&#xff1a; 在要调试的源码的后面加上 // sourceURL debug.js 注释。 这样子&#xff0c;当浏览器检测到这个标记的时候…

mysql数据库邮箱什么类型_MySQL的数据类型介绍

MySQL的数据类型介绍 发布时间:2020-06-01 20:57:09 来源:亿速云 阅读:154 作者:鸽子 由于Mysql独有的特性和实现细节对性能的影响是很明显的,因为做好Mysql数据库的设计很关键。对于数据库设计,我们不得不提表字段的类型选择,由于Mysql支持的数据类型非常多,因此如何选…

rabbitmq 延迟队列_Delayed Message 插件实现 RabbitMQ 延迟队列

延迟队列是为了存放那些延迟执行的消息&#xff0c;待消息过期之后消费端从队列里拿出来执行。DLX TTL 方式存在的时序问题对于延迟队列不管是 AMQP 协议或者 RabbitMQ 本身是不支持的&#xff0c;之前有介绍过如何使用 RabbitMQ 死信队列(DLX) TTL 的方式来模拟实现延迟队列…

JS - 按钮倒计时

效果&#xff1a; html代码&#xff1a; <input type"button" id"btn" value"点击获取效验码" />js代码&#xff1a; //倒计时var wait60;function time(o) {if (wait 0) {o.removeAttribute("disabled"); o.value&qu…

python安装报错类型_Python处理验证码第一篇(pytesser初探及报错处理)

前言&#xff1a;春节期间&#xff0c;无法全身心投入地去写爬虫&#xff0c;那就玩玩验证码吧&#xff0c;应该比较有趣&#xff01;首次接触验证码识别&#xff0c;用pytesser接触一下最简单的验证码先&#xff0c;代码参照&#xff1a;使用python以及工具包进行简单的验证码…

debian添加删除用户

debian添加删除用户增加普通用户命令&#xff1a;#adduser abc#passwd abc#exit用abc登录/etc/passwd中保存了用户信息LINUX创建用户的命令useradd -g test -d /home/test1 -s /etc/bash -m test1注解&#xff1a;-g 所属组 -d 家目录 -s 所用的SHELL删除用户命令userdel -r te…

bin文件怎么转换成文本文档_怎么把pdf文件转换成word文档?这样转很简单

在日常的学习、工作生活中&#xff0c;小伙伴们总少不了要对文件格式进行转换操作&#xff0c;例如把pdf文件转换成word文档。对于职场老手来说&#xff0c;这当然不算一个难度操作&#xff0c;甚至还很简单。但对于职场新人而言&#xff0c;找不对方法&#xff0c;可能操作起来…

python私有属性怎么定义_Python中定义私有属性的方法是()。

【判断题】请假条带有请求的性质,所以一般来说篇幅要尽量长一些,以示郑重;更多要用煽情性语句,以打动对方。( )【单选题】关于类和对象的关系,下列描述正确的是()。【选择】Трудоспособный возраст в России у женщин считается _…

GIT撤销相关命令

刚开始正式使用git不久&#xff0c;很多使用方法不是很了解&#xff0c;提交文件什么的总是提心吊胆的&#xff0c;生怕项目代码给自己弄乱&#xff0c;一开始为了保险还傻傻的copy一份放起来再做git提交。 今天学习了git撤销的一些命令。发现git作为一个版本控制系统&#xff…

delphi if多个条件_Python从入门到精通——一文读懂if语句用法

1、if语句概述if语句能够进行条件测试&#xff0c;并依据一定的条件进行具体的操作2、if语句条件测试if语句的核心是一个值为True或False的表达式&#xff0c;这种表达式称为条件测试。Python根据条件测试的值为True或False来决定是否执行if语句中的代码。2.1 条件测试是否相等…

mysql 实时性能_Mysql 实时查看性能

今天陪DBA 加班 又学会个新玩具mysqladmin -P3306 -uasd -pasdasd -hmysql.com -r -i 1 ext |\awk -F"|" \"BEGIN{ count0; }"\{ if($2 ~ /Variable_name/ && ((count)%20 1)){\print "----------|---------|--- MySQL Command Status --|--…

计算机网络——零碎知识点

1. T1载波&#xff1a;是专用电话连接、时分多路数字传输设施&#xff0c;其支持的数据传输速度为 1.544M 比特/秒。T1 线路实际上是由24个单独的通道组成的&#xff0c;每个通道支持 56K 比特/秒的传输速度。大多数的电话公司只允许用户购买这些被称为部分 T1 接入的单独通道的…

jquery交换数组元素位置_跟我一起学jQuery——第一集

《锋利的JQuery》第二版阅读笔记-第一章jQuery对象和DOM对象想学习jQuery&#xff0c;首先要学会区分jQuery对象和DOM对象。1)jQuery对象是用jQuery类库的选择器获得的对象。2)DOM对象是用传统(javascript)获得的对象。举个栗子//DOM对象var domO document.getElementById(&qu…

maya怎么贴膜_maya怎么渲染成白膜?

回答&#xff1a;打开render setting里设置你的动画格式avi或tga等等avi是视频 tga一般为单帧的图像序列然后设置从第几帧开始渲染 start frame 和渲染到第几帧结束 end frame;然后再选择你需要渲染的摄影机如果你有自己创建的摄影机的话&#xff01;否则则使用默认的透视图摄影…

Gitlab的develop角色的人没有权限无法提交的问题解决方案

问题 事情是这样的&#xff0c;最近跟几位同事搞一些东西&#xff0c;打算在Gitlab上建一个仓库&#xff0c;然后协同开发。 我建好仓库&#xff0c;将其他几位同事添加进来&#xff0c;角色分配为Develop。 之后提交初始代码到master分支后&#xff0c;他们用sourceTree拉取代…

macbook不能进系统 备份数据_不基于备份和表,生产系统数据误删就能完全恢复?!...

作者介绍刘宝珍&#xff0c;架构师&#xff0c;目前就职于大型资产管理公司的科技子公司&#xff0c;拥有多年的大型私有云的规划和设计工作经验&#xff0c;熟悉软件的开发流程&#xff0c;目前醉心于研究基于DDD和敏捷的软件的开发模式&#xff0c;对分布式架构有深入的理解&…

padding 后尺寸变化 设置_padding margin border 和元素大小

元素占用宽度 元素宽度paddingbordermargin注意margin只是隔开元素&#xff0c;不会使得元素变大&#xff0c;而padding会使得元素变大&#xff0c;也就是说元素真实宽度元素宽度paddingborderborder 在元素的外层一、关于Padding1、设置对象四边的内边距。默认值是0。2、如果…

新加入“扫码阅读”功能

今天看到一个用户发了个话题&#xff0c;“PC端的URL在移动端上打开要一个个敲好麻烦&#xff0c;有什么好的办法&#xff1f;”。 确实现在已经是移动时代了&#xff0c;在移动设备上阅读慢慢会成为主流&#xff0c;网站如果没有便捷的方式让用户在移动设备阅读的话还真有点落…