`

原创 MYSQL主从复制配置

阅读更多

主服务器: 192.168.56.11

从服务器: 192.168.56.102

MYSQL版本:5.5.28-log

 

 

配置步骤:

1、配置主服务器:

vi /etc/my.cnf

在mysqld下添加以上两行。

[mysqld]

server-id = 1 

log-bin=mysql-bin

binlog-do-db=database1          //需要同步的数据库

binlog-do-db=database2

binlog-ignore-db=mysql          //被忽略的数据库

 

2、主服务器创建授权用户

grant replication slave on *.* to 'slave'@'192.168.56.%' identified by '123456';

FLUSH PRIVILEGES;

 

3、重启 MYSQL主服务器

 

4、reset maste

获取日志的名称及偏移位置

 

5、配置从服务器:

vi /etc/my.cnf

server-id=2

replicate-do-db=database1     //同步的数据库

replicate-do-db=database2

replicate-ignore-db=mysql  //被忽略的数据库

 

6、如获取的主服务器日志名称=mysql-bin.000004

便宜位置=107

change master to master_host='192.168.56.11',master_user='slave',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=107;

 

7、

重启MYSQL从服务器

 

8、启动slave

start slave;

配置完毕

经验教训:

1、主要是5.5之后不再支持master打头的参数

如:master-host,master-user,master-password,master-port等。

错误如下:

[ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'master-host=192.168.2.182'

 

2、 使用replicate-wild-ignore-table选项而不要使用replicate-do-db或者replicate-ignore-db。

使用replicate_do_db和replicate_ignore_db时有一个隐患,跨库更新时会出错。

 

如设置 replicate_do_db=test

use mysql;

update test.table1 set ......

第二句将不会被执行

 

如设置 replicate_ignore_db=mysql

use mysql;

update test.table1 set ......

第二句会被忽略执行

 

原因是设置replicate_do_db或replicate_ignore_db后,MySQL执行sql前检查的是当前默认数据库,所以跨库更新语句被忽略。

可以使用 replicate_wild_do_table 和 replicate_wild_ignore_table 来解决跨库更新的问题,如:

replicate_wild_do_table=test.%

replicate_wild_ignore_table=mysql.%

 

这样就可以避免出现上述问题了

 

分享到:
评论

相关推荐

    MySQL主从复制配置文档

    以下是关于MySQL主从复制及其在Linux环境下编译安装配置的详细知识: 1. **主从复制的基本概念** - 主节点:执行所有写操作(INSERT、UPDATE、DELETE等)的服务器,其更改的数据会同步到从节点。 - 从节点:接收...

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

    1. 实现 MySQL 主从复制:打开三台 MySQL 服务器,配置相应 IP,实现时间同步。 2. 配置主服务器:配置主服务器的配置文件,添加授权用户,查看日志信息。 3. 配置从服务器:配置从服务器的配置文件,在从服务器中...

    使用keepalived实现对mysql主从复制的主备自动切换.docx

    "使用keepalived实现对mysql主从复制的主备自动切换" 本文主要讲解如何使用keepalived实现对mysql主从复制的主备自动切换。keepalived是一款高可用性解决方案,可以实现虚拟IP的管理和服务监控,在mysql主从复制...

    mysql 主从复制环境搭建

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

    MySQL 主从复制模式全面实践

    MySQL主从复制模式是数据库领域内一种重要的数据同步机制,它能够让一台主数据库服务器(master)的数据实时复制到一个或多个从数据库服务器(slave)上。这种机制在数据库的高可用性、数据备份、读写分离以及负载...

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

    ### MySQL主从复制搭建知识点详解 #### 一、MySQL主从复制概述 MySQL主从复制是一种数据同步机制,它能够将一个MySQL服务器(主服务器)的数据自动同步到一个或多个MySQL服务器(从服务器)。这种机制不仅可以提高...

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

    总的来说,SpringBoot与MySQL的主从复制和读写分离是企业级应用中常见的数据库架构设计,通过合理配置和优化,可以显著提高系统的稳定性和响应速度。通过学习和实践这些知识,开发者能够更好地构建可扩展、高可用的...

    mysql主从库配置

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

    MySQL主从复制.docx

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

    MySQL主从同步配置过程.docx

    MySQL 主从同步配置过程 一、 MySQL 主从同步配置概述 MySQL 主从同步配置是指将 MySQL 数据库的数据从一台服务器(主服务器)同步到另一台服务器(从服务器)的过程。这种配置可以实现数据的高可用性和灾难恢复,...

    mysql主从复制配置文档

    一次mysql主从复制配置文档,系统环境centos7,mysql5.7

    mysql主从数据库配置

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

    MYsql主从复制.docx

    "Mysql主从复制" Mysql主从复制是一种常用的数据库复制方式,旨在提高数据库的可用性、安全性和读取性能。在Mysql主从复制中,一个数据库服务器充当主服务器,其他服务器充当从服务器。主服务器负责写入数据,而从...

    MySQL主从复制模式全面实践

    配置MySQL主从复制涉及以下几个关键步骤: 1. 启用主节点的二进制日志功能。 2. 设置从节点的连接信息,如主机名、用户名和密码。 3. 在主节点上创建一个用于复制的专用用户。 4. 在从节点上配置复制,使用`CHANGE ...

    MySQL主从复制配置

    以下是一个详细的MySQL主从复制配置步骤: 1. **配置主数据库**: - 在`/etc/my.cnf`配置文件中,确保有`log-bin=mysql-bin`参数,这会开启二进制日志功能,记录所有更改数据的SQL语句。 - 添加`server-id=1`,为...

Global site tag (gtag.js) - Google Analytics