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

相关文章

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

浅谈mysql的not exists走不走索引

《浅谈mysql的notexists走不走索引》在MySQL中,​NOTEXISTS子句是否使用索引取决于子查询中关联字段是否建立了合适的索引,下面就来介绍一下mysql的notexists走不走索... 在mysql中,​NOT EXISTS子句是否使用索引取决于子查询中关联字段是否建立了合适的索引。以下

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满