mysql主主复制配置

2024-02-08 05:58

本文主要是介绍mysql主主复制配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、原理:两个主服务建立二进制日志和relay-log,主服务器建立复制账号供另一个主服务器来连接监听用,另一个主服务器也建立复制账号提供主服务器连接监听


2.建立mysql在两个主节点master(192.168.1.110)和slave1(192.168.1.111)复制
1)配置master(192.168.1.110)和slave1(192.168.1.111)的my.cnf的配置信息(需要配置主机名、二进制文件、二进制文件格式和relay-log)
master(192.168.1.110):/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
#skip-grant-tables
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0


#server-id
server-id=110
#binary log
log-bin=mysql-bin
#statement row mixed
binlog-format=mixed




#relay log
relay-log=mysql-relay


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid




slave1(192.168.1.111):/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0


#server-id
server-id=111


log-bin=mysql-bin
binlog-format=mixed


#relay log
relay-log=mysql-relay


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
  **重启master(192.168.1.110)和slave1(192.168.1.111)的mysql,目的重启加载配置信息
    [root@master ~]# service mysqld restart
[root@slave1 mysql]# service mysqld restart
2)master(192.168.1.110) 和slave1(192.168.1.111)建立授权账号:
master(192.168.1.110):mysql>  grant replication client, replication slave on *.* to 'root'@'%' identified by '123456';
master(192.168.1.110):mysql> flush privileges;
slave1(192.168.1.111):mysql>  grant replication client, replication slave on *.* to 'root'@'%' identified by '123456';
slave1(192.168.1.111):mysql> flush privileges;
3)master(192.168.1.110)建立slave1(192.168.1.111)复制信息;slave1(192.168.1.111)建立master(192.168.1.110)复制信息
  a.master(192.168.1.110)要需要建立slave1(192.168.1.111)复制信息,即在master(192.168.1.110)中建立slave信息,启动slave(mysql>start slave)就可以从slave1(192.168.1.111)监听复制变化的二进制文件信息:
   //查看slave1(192.168.1.111)的master信息:
   slave1(192.168.1.111):mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 |      268 |              |                  |
+------------------+----------+--------------+------------------+


master(192.168.1.110)需要在slave配置复制slave1(192.168.1.111)的信息为:
master_host='192.168.1.111'
master_user='root'
master_password='123456'
master_log_file='mysql-bin.000003'
master_log_pos=268

   master(192.168.1.110):mysql>change master to master_host='192.168.1.111', master_user='root', master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=268;
   master(192.168.1.110):mysql>start slave;
  b.同理slave1(192.168.1.111)建立master(192.168.1.110)复制信息
  master(192.168.1.110):mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000005 |      268 |              |                  |
+------------------+----------+--------------+------------------+


slave1(192.168.1.111):mysql>change master to master_host='192.168.1.110', master_user='root', master_password='123456',master_log_file='mysql-bin.000005',master_log_pos=268;
  c.启动各自配置好的slave进行互相复制监听
master(192.168.1.110):mysql> start slave
    slave1(192.168.1.111):mysql> start slave

这篇关于mysql主主复制配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/690088

相关文章

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

基于SpringBoot+Mybatis实现Mysql分表

《基于SpringBoot+Mybatis实现Mysql分表》这篇文章主要为大家详细介绍了基于SpringBoot+Mybatis实现Mysql分表的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录基本思路定义注解创建ThreadLocal创建拦截器业务处理基本思路1.根据创建时间字段按年进

Python3.6连接MySQL的详细步骤

《Python3.6连接MySQL的详细步骤》在现代Web开发和数据处理中,Python与数据库的交互是必不可少的一部分,MySQL作为最流行的开源关系型数据库管理系统之一,与Python的结合可以实... 目录环境准备安装python 3.6安装mysql安装pymysql库连接到MySQL建立连接执行S

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要