`
阅读更多

mysql主从复制配置,mysql双主双从

 

================================

©Copyright 蕃薯耀 2020-10-27

http://fanshuyao.iteye.com/

 

一、修改配置文件

Linux修改/etc/my.cnf文件,Windows修改my.ini文件,下面以Linux为例

主库配置:

复制代码
# =====主从复制 主库 开始=====
# 设置需要同步的数据库
binlog-do-db=rw_slave
#屏蔽系统库同步
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=test


# =====双主双从 开始 =====
# 两个主库互为从库
#不加下面的配置,存在某一个从库不会同步数据,只有2主库、1个从库同步
# 该从库是否写入二进制日志。如果需要成为多主则可启用。只读可以不需要
log-slave-updates=1
# 该服务器自增列的初始值。(与 Master2,...... MasterN 的不同点),如主1的值为1,则主2的值为2
auto-increment-offset=1
# 该服务器自增列增量。其默认值是1, 取值范围是1 .. 65535
auto-increment-increment=2
=====双主双从 结束=====

#=====主从复制 主库 结束=====
复制代码

 

从库配置:

复制代码
# =====主从复制 从库 开始=====
relay-log=mysql-relay
#设置需要同步的数据库
replicate_do_db=rw_slave
#屏蔽系统库同步
replicate_ignore_db=mysql
replicate_ignore_db=information_schema
replicate_ignore_db=performance_schema
replicate_ignore_db=test
#replicate_wild_ignore_table=mysql.%
#replicate_wild_ignore_table=information_schema.%
#replicate_wild_ignore_table=performance_schema.%
#replicate_wild_ignore_table=test.%
# =====主从复制 从库 结束=====
复制代码

从库需要注意,server-id默认是1,从库需要修改成2或者其它的,不能设置成一样。

 

二、主从复制配置

1、主库设置

设置同步的账号和密码:都设置成rwuser,然后刷新权限

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'rwuser'@'%' IDENTIFIED BY 'rwuser';
-- 刷新权限
FLUSH PRIVILEGES;

 

确认位点,记录下文件名以及位点,在从库设置时需要用到

SHOW MASTER STATUS;

-- mysql-bin.000004

-- 533

 

2、从库设置

先停止同步:

STOP SLAVE;

 

重置从库(一般可以省略,也可以重置)

 解决: Slave failed to initialize relay log info structure from the repository

RESET SLAVE;

 

配置同步的主库地址和账号密码,以及读取的文件和位置(就是上面SHOW MASTER STATUS;的数据)

-- 修改同步的信息

-- 其中 MASTER_LOG_FILEMASTER_LOG_POSSHOW MASTER STATUS;中的filePosition

CHANGE MASTER TO MASTER_HOST='192.168.132.11',MASTER_USER='rwuser',MASTER_PASSWORD='rwuser',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=533;

 

启动从库同步

START SLAVE;

 

查看从库的状态:

-- slave_io_running,slave_sql_running都为Yes时,表示同步设置成功,如果不为Yes,请检查error.log排查异常。

SHOW SLAVE STATUS;

 

如果出现下面的错误,就是主、从库的server-id设置成相同的,修改从库的server-id,然后重启mysql(service mysql restart)。

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).

 

可以通过mysql查询server-id

SHOW VARIABLES LIKE 'server_id';

或者通过命令直接修改:

此处的数值和my.cnf里设置的一样就行

 SET GLOBAL server_id=12; 

 

 

需要注意的是:

Linux一般有端口限制,可以开放相应的端口,如3306

 或者直接关闭防火墙:

复制代码
查看防火墙状态:
firewall-cmd --state

关闭防火墙
systemctl stop firewalld.service

禁止防火墙开机启动
systemctl disable firewalld.service
复制代码

 

三、创建数据库,测试数据同步

1、创建的数据库,就是同步的数据库:rw_slave,此时会将数据库同步到从库

CREATE DATABASE rw_slave;

2、使用数据库:

use rw_slave;

3、创建表,此时会将表同步到从库

复制代码
CREATE TABLE rw_table(
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    `name` VARCHAR(20) NOT NULL,
    age INT,
    data_type INT
);
复制代码

4、插入数据,此时会将数据同步到从库

INSERT INTO rw_table(`name`, age, data_type) VALUES (@@hostname, 20, 4);

5、主库和从库都查询表有没有数据,验证数据是否同步,一般不会有问题

SELECT * FROM rw_table;

 

 

================================

©Copyright 蕃薯耀 2020-10-27

http://fanshuyao.iteye.com/

1
0
分享到:
评论

相关推荐

    MySQL主从复制配置文档

    MySQL主从复制是一种数据库高可用性和数据冗余的解决方案,它允许数据从一个服务器(主节点)实时同步到另一个或多个服务器(从节点)。这种架构能够实现读写分离,提高系统的读取性能,并且在主节点出现故障时,...

    MySQL主从复制与读写分离.docx

    2. 配置从服务器:配置从服务器的配置文件,在从服务器中连接主服务器并启动主从复制,查看连接状态。 3. 创建数据库和表:在主服务器中创建数据库和表,验证两台从服务器中可以成功同步复制到相应信息。 MySQL ...

    MySQL 主从复制模式全面实践

    - **双主互备(Master-Master)**:这种架构中,每台服务器既是主服务器也是从服务器,互为主从进行数据同步。但它存在事务隔离性和数据一致性的问题。 - **多主监控(Master-Master-Monitor)**:三台机器互相作为...

    MySQL主从复制搭建从入门到掌握

    MySQL主从复制是一种数据同步机制,它能够将一个MySQL服务器(主服务器)的数据自动同步到一个或多个MySQL服务器(从服务器)。这种机制不仅可以提高数据的安全性和可靠性,还能有效分担主服务器的压力,提升系统的...

    mysql 主从复制环境搭建

    在 Windows 环境下,搭建 MySQL 主从复制功能需要准备系统环境、安装 MySQL 服务、配置主从复制等步骤。 步骤一:准备系统环境 1. 准备一台 PC,安装 Windows XP 32 位操作系统。 2. 安装 MySQL 5.0。 步骤二...

    SpringBoot第 12 讲:SpringBoot+MySQL主从复制、读写分离

    1. **配置主从关系**:在主服务器和从服务器上分别配置复制的参数,如binlog格式、server_id等,并设置从服务器监听主服务器的binlog日志。 2. **启动复制**:在主服务器上执行SQL命令,将当前的数据状态传递给从...

    MySQL主从同步配置过程.docx

    MySQL 主从同步配置是指将 MySQL 数据库的数据从一台服务器(主服务器)同步到另一台服务器(从服务器)的过程。这种配置可以实现数据的高可用性和灾难恢复,提高系统的整体性能和安全性。 二、 主从同步配置的基本...

    MySQL主从复制.docx

    MySQL 主从复制是指在一个 MySQL 数据库集群中,通过配置将一台或多台 MySQL 服务器定义为主服务器(Master),其余服务器定义为从服务器(Slave)。主服务器负责接收客户端的写入请求,而从服务器则主要负责处理...

    mysql主从库配置

    ### MySQL 主从库配置详解 #### 一、MySQL 安装与环境变量设置 在进行 MySQL 主从库配置之前,我们需要确保已经正确安装了 MySQL,并设置了相应的环境变量。以下是具体的步骤: 1. **下载 MySQL 免安装版**: - ...

    mysql主从数据库配置

    MySQL主从数据库配置是数据库高可用性和负载均衡的重要实践,它允许数据从一个主数据库(Master)异步复制到一个或多个从数据库(Slave)。这种配置对于处理大规模数据操作和保证数据一致性至关重要。 主从复制的...

    mysql主从复制安装配置进阶.pptx

    MySQL 主从复制是指将一个 MySQL 服务器(主服务器)中的数据实时同步到另一个 MySQL 服务器(从服务器)中,以提高数据库的高可用性和读写性能。在本文中,我们将详细介绍 MySQL 主从复制的安装配置进阶。 1. 主从...

    MySQL主从复制模式全面实践

    MySQL主从复制是一种数据库高可用性和数据冗余的重要机制,它允许数据从一个服务器(主节点)同步到一个或多个其他服务器(从节点)。在本实践中,我们将深入探讨这一模式的各个方面,包括其工作原理、配置步骤、...

    MYsql主从复制.docx

    在Mysql主从复制中,一个数据库服务器充当主服务器,其他服务器充当从服务器。主服务器负责写入数据,而从服务器则负责读取数据。这样可以实现数据库的负载均衡、读写分离和高可用性。 首先,让我们来了解Mysql主从...

    Mysql主从复制配置

    Mysql 主从复制配置详解 Mysql 主从复制是指一个数据库服务器(主服务器)将其数据复制到另一个数据库服务器(从服务器)上,以实现数据的冗余备份和高可用性。以下是 Mysql 主从复制配置的详细步骤: 一、 热备份...

    MySQL主从复制搭建 需要用到的脚本

    MySQL主从复制是一种常见的数据库高可用性和数据冗余策略,它允许数据在多个服务器之间同步,确保即使在主服务器故障时,从服务器也能接管服务,从而实现无中断的服务连续性。这里提到的“MySQL主从复制搭建 需要...

Global site tag (gtag.js) - Google Analytics