MySQL热机双备之双主同步复制配置
此配置方案来源于csdn前辈博客,奈何找不到出处了,抱拳!!!
1. MySQL同步机制概述
MySQL支持单向、异步复制,复制过程中一台服务器充当主服务器,一台或多台服务器充当从服务器,双主同步要求两台服务器互为主从即可。
MySQL的同步机制基于主服务器把所有的对数据库的更新操作记录在二进制日志中,并维护日志文件索引以跟踪日志。从服务器在日志中读取最后一次更新的位置,并接收从那时起发生的所有更新,然后封锁并等待主服务器的下一次更新通知。因此,启用同步机制,主服务器必须启用二进制日志,每个从服务器接受来自主服务器上二进制日志中记录的更新操作,其实从服务器执行的是来自主服务器日志中记录的sql拷贝。所以启用同步时要求主从服务器的二进制日志文件相一致,否则同步失败。
MySQL同步功能由3个线程(主服务器master上1个,从服务器slave上2个)来实现。执行START SLAVE语句后,slave就创建一个I/O线程。I/O线程连接到master上,并请求master发送二进制日志中的语句。master创建一个线程来把日志的内容发送到slave上。这个线程在master上执行SHOW PROCESSLIST语句后的结果中的 Binlog Dump 线程便是。slave上的I/O线程读取master的Binlog Dump线程发送的语句,并且把它们拷贝到其数据目录下的中继日志(relay logs)中。第三个是SQL线程,salve用它来读取中继日志,然后执行它们来更新数据。
如上所述,每个mster/slave上都有3个线程。每个master上有多个线程,它为每个slave连接都创建一个线程,每个slave只有I/O和SQL线程。在MySQL中执行SHOW PROCESSLIST语句就会告诉我们所关心的master和slave上发生的情况。
2. 配置环境
操作系统:Linux
环境:MySQL
A、B两台服务器
A- ip:192.168.204.128
B- ip:192.168.204.129
要求A、B两台服务器可通信
关闭两台服务器防火墙
3同步配置
3.1在主从服务器上创建同步账号
在A服务器上创建一个B服务器可登陆的账号,进入到mysql终端创建同步账号为:rootnew,密码为:123456;
Mysql>grant all privileges on *.* to ‘rootnew’@’192.168.204.129’ identified by ‘123456’;
Mysql>flush privileges;
在B服务器上创建一个A服务器可登陆的账号:
Mysql>grant privileges on *.* to ‘newroot’@’192.168.204.128’ identified bu ‘123456’;
Mysql>flush privileges;
此时在A、B服务器上的mysql数据库中各有一个newroot用户:
3.2主服务器数据库备份(新装数据库忽略此步骤)
3.3修改主从服务器配置文件
在A、B服务器上创建空的zyyt_antm数据库,打开A服务器的my.cnf文件,在文件中[mysqld]下添加如下内容:(各操作系统的my.cnf文件位置不一样,我的是在/etc/mysql/下)
skip-name-resolve
server-id=1 #必须与其他服务器不同,且必须为1到232–1之间的一个正整数值
#i am master
log-bin=mysql-bin #二进制文件
binlog-do-db=zyyt_antm #要同步的数据库,此处我直接用单位项目做测试
binlog-ignore-db=information_schema #不同步的数据库
binlog-ignore-db=db_Im
binlog-ignore-db=db_Mdr
binlog-ignore-db=db_mrs
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=test
slave-skip-errors=1032,1062
重启A服务器的mysql服务:
~# /etc/inti.d/mysql restart
重启成功表明A服务器配置成功。
打开B服务器的my.cnf文件,在[mysqld]节点下添加同样内容:
skip-name-resolve
server-id=2 #必须与其他服务器不同,且必须为1到232–1之间的一个正整数值
#i am master
log-bin=mysql-bin #二进制文件
binlog-do-db=zyyt_antm #要同步的数据库
binlog-ignore-db=information_schema #不同步的数据库
binlog-ignore-db=db_Im
binlog-ignore-db=db_Mdr
binlog-ignore-db=db_mrs
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=test
slave-skip-errors=1032,1062
重启B服务器的mysql服务。
3.4指定主从服务器同步信息
1.在A服务器上查看当前二进制日志文件和偏移量值:
Mysql>show master status\G;
记录mysql二进制文件中的file和position值;
2.在B服务器上指定更新点(根据上面样例修改MASTER_LOG_FILE值为样例结果中的file值;修改MASTER_LOG_POS值为样例结果中的position值)。
Mysql>stop slave;
Mysql>change master to master_host=’192.168.204.128’,master_port=3306,master_user=’rootnew’,master_password=’123456’,master_log_file=’mysql-bin.000012’,master_log_pos=154;
Mysql>start slave;
3.在B服务器上查看当前二进制日志名和偏移量:
Mysql>show master status;
记录mysql二进制文件中的file值和position值
4. 在A服务器上指定更新点(根据上面样例修改MASTER_LOG_FILE值为样例结果中的file值;修改MASTER_LOG_POS值为样例结果中的position值)。
Mysql>stop slave;
Mysql>change master to master_host=’192.168.204.129’,master_port=3306,master_user=’rootnew’,master_password=’123456’,master_log_file=’mysql-bin.000010’,master_log_pos=154;
Mysql>start slave;
5.重启A、B服务器的mysql服务。
3.5检查数据库同步状态
1.查看A、B服务器数据库同步状态,主要查看Slave_IO_Running与Slave_SQL_Running这两字段显示为yes就可以。
Mysql>show slave status\G;
2.查看A、B服务器的同步线程状态:
Mysql>show processlist\G;
若输入命令后出现概述所述的三个线程,则证明配置成功。
MySQL热机双备之双主同步复制配置的更多相关文章
- InnoSQL HA Suite的实现原理与配置说明 InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync replicaiton)的功能 MySQL 5.6支持了crash safe功能
InnoSQL HA Suite的实现原理与配置说明 InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync repl ...
- MySQL数据库的主从同步复制配置
一.主从同步机制原理 MYSQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态), ...
- Mysql 半同步复制配置
以下是配置和监控半同步复制: 1. 半同步复制功能以plugin的方式接入MySQL,需要在主库与从库两端同时开启半同步的支持,具体配置如下: On the master mysql> INST ...
- MySQL + KeepAlived + LVS 单点写入主主同步高可用架构实验
分类: MySQL 架构设计 2013-05-08 01:40 5361人阅读 评论(8) 收藏 举报 mysql 高可用 keepalive ㈠ 实战环境 服务器名· IP OS MySQL odd ...
- mysql 主从master-slave同步复制 配置,为读写分离准备
1.为方便,我在一个windows下安装两个mysql实例,端口分别是 3306.3307 打开 my.ini 或 my-default.ini 文件 配置 basedir datadir 和port ...
- MySQL半同步复制配置
ansible-playbook -f 3 endpoint/mysql.yml -e "exec=fileConfig" -e "db_action=setAll&qu ...
- mysql数据库备份,主从复制及半同步复制
1.使用mysqldump备份数据库并通过备份及二进制日志还原数据(备份完后再写入数据,然后再删库) mysqldump -A --single-transaction -F --master-dat ...
- 烂泥:mysql5.5主从同步复制配置
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mys ...
- mysql5.5主从同步复制配置
在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mysql5.5的主从同步复制功能. 注意mysql5 ...
随机推荐
- 三分钟网络基础-IP地址分类
IP 地址的编址方法共经过了三个历史阶段: 分类的 IP 地址 子网的划分 超网 这篇文章首先介绍,最初始的 IP 地址分类方法. 分类的 IP 将 IP 地址划分为若干个固定类,每一类地址都由两个固 ...
- matplotlib 直方图
一.特点 数据必须是原始数据不能经过处理,数据连续型,显示一组或多组分布数据 histogram 直方图 normed 定额 二.核心 hist(x, bins=None, normed=None) ...
- [bzoj2815] [洛谷P2597] [ZJOI2012] 灾难
Description 阿米巴是小强的好朋友. 阿米巴和小强在草原上捉蚂蚱.小强突然想,如果蚂蚱被他们捉灭绝了,那么吃蚂蚱的小鸟就会饿死,而捕食小鸟的猛禽也会跟着灭绝,从而引发一系列的生态灾难. 学过 ...
- 创建dynamics CRM client-side (十三) - 在HTML Web Resource中获取form elements & 获取外部js文件
上一节我们讨论到创建HTML Web Resource. 但是纯HTML的页面不能满足我们的需求, 所以今天我们来做在HTML Web Resource中获取form elements Please ...
- VLC for CentOS7
https://blog.csdn.net/qiuyoujie/article/details/78486947 http://elearning.wsldp.com/pcmagazine/insta ...
- Kubernetes 服务自动发现CoreDNS
前言 Service服务,是一个概念,逻辑通过selector标签代理指定后端pod.众所周知,pod生命周期短,状态不稳定,pod错误异常后新生成的Pod IP会发生变化,之前Pod的访问方式均不可 ...
- Java博客专栏
1. Java23种设计模式 2. JVM虚拟机 3. 设计模式6大原则 4. Java代码性能优化总结 5. 三种代理 6. iText操作PDF 7. 解析XML的4种方式 8. 面向对象思想 9 ...
- 【干货】国外程序员整理的 C++ 资源大全–日常工作,我觉得用处确实很大,所以分享
考到群里的纯技术文章比较少,发一篇,其实不限于C++可用,这些东西 百度文库链接10 百度云下载15 我个人感觉很有用的,因为其中有些东西时 头儿让我在项目里用的 关于 C++ 框架.库和资源的一些 ...
- java设计模式5——适配器模式
java设计模式5--适配器模式 1.结构型模式介绍 1.1.作用 从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题. 分类: 适配器模式 代理模式 桥接模式 装饰模式 组合模式 ...
- Jmeter之设置动态关联
前言 在Jmeter中,如何进行接口关联(上一个接口的返回参数作为下一个接口的入参使用)测试呢?下面我们一起来学习吧! 需求:需要利用商品信息接口的返回结果skuName值作为下一个登录接口参数Use ...