`

MySQL复制实现互为主从双机热备

阅读更多

A B 为两台MySQL服务器,均开启二进制日志,数据库版本 5.5.2

一、服务器参数

[A 服务器]
server-id = 1
binlog-do-db = test
binlog-ignore-db = mysql
replicate-do-db = test
replicate-ignore-db = mysql
master-host     =   192.168.1.100
master-user     =   backup
master-password =   123
master-port     =  3306
master-connect-retry = 10
sync-binlog = 1

[B 服务器]
server-id = 2
binlog-do-db = test
binlog-ignore-db = mysql
replicate-do-db = test
replicate-ignore-db = mysql
master-host     =   192.168.1.101
master-user     =   backup
master-password =   123
master-port     =  3306
master-connect-retry = 10
sync-binlog = 1

二、操作步骤

# A B 服务器停止同步
STOP SLAVE;

# A B 服务器清空Master日志
RESET MASTER;

# A 服务器授权同步账户
GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY '123';
FLUSH PRIVILEGES;

# A B 服务器锁表(锁表状态下不能终止mysql进程,否则会失败)
FLUSH TABLES WITH READ LOCK;

# 如果使用SSH,需要重新开启,复制数据库文件。
tar -cvf /tmp/mysql-data.tar /usr/local/mysql/data
tar -xvf /tmp/mysql-data.tar /usr/local/mysql/data

# 查看 A 服务器主机状态(记录二进制开始文件,位置)
SHOW MASTER STATUS;

# B 服务器锁表(锁表状态下不能终止mysql进程,否则会失败)
FLUSH TABLES WITH READ LOCK;

# 修改 B 服务器配置
CHANGE MASTER TO MASTER_HOST='192.168.1.100',MASTER_USER='backup', MASTER_PASSWORD='123',MASTER_LOG_FILE='binlog.000001',MASTER_LOG_POS=107;

# 开启 B 服务器同步进程
START SLAVE;

# 查看 B 服务器同步状态是否正常
SHOW SLAVE STATUS;

# 查看 B 服务器主机(记录二进制开始文件,位置)
SHOW MASTER STATUS;

# 修改 A 服务器配置
CHANGE MASTER TO MASTER_HOST='192.168.1.101',MASTER_USER='backup',MASTER_PASSWORD='123',MASTER_LOG_FILE='binlog.000001',MASTER_LOG_POS=107;

# 开启 A 服务器同步进程
START SLAVE;

# 分别查看 A B 服务器同步状态,确定是否成功
SHOW SLAVE STATUS;SHOW MASTER STATUS;

# 解锁 A B 服务器
UNLOCK TABLES;

# 数据测试分别在 A B 服务器上创建表插入数据测试
USE test;
CREATE TABLE `test_aa` (
`id` int(10) unsigned NOT NULL auto_increment,
`string` varchar(30) NOT NULL DEFAULT '0',
`time` datetime NOT NULL DEFAULT '00-00-00 00:00:00',
PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
INSERT INTO `test_log_1` VALUES ('', 'test_1', NOW());
SELECT * FROM `test_log_1`;

CREATE DATABASE `test_db_1` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

注意:
1. 数据库目录下的master.info的内容会覆盖命令行或my.cnf中指定的部分选项,更改配置需删除master.info
2. my.cnf中的master配置在MySQL 6.0以后会取消,官方建议使用动态的CHANGE MASTER
3. 如果只指定ignore-db而不指定do-db。则创建数据库的操作也会同步。


互为同步配置实例:
1. A B 互为主从同步test, 不同步mysql:
两个数据库配置中均设置:binlog-do-db=test, binlog-ignore-db=mysql,replicate-do-db=test,replicate-ignore-db=mysql

2. A B 互为主从只同步test,不同步其他数据库,新创建的也不会同步
两个数据库配置中均设置:binlog-do-db=test,replicate-do-db=test

3. A B 互为主从不同步mysql, 同步其他数据库,譬如创建的新数据库也会同步
两个数据库配置中均设置:binlog-ignore-db=mysql,replicate-ignore-db=mysql

4. A B 互为主从同步所有数据库,包括新建的数据库
两个数据库配置中均不设置上述四项

分享到:
评论

相关推荐

    windows下mysql双机热备.doc

    * 服务器A和服务器B互为主从,需要分别建立同步用户 知识点二:创建同步用户 * 在主服务器上为从服务器建立连接账户,授予replication slave权限 * 在从服务器上用root账户对主服务器数据库进行访问,测试同步用户...

    mysql数据库双机热备与主从热备

    MySQL的双机热备通常采用主主复制(Active-Active)或Keepalived+Heartbeat等方式实现。 1. **主主复制**: - 与主从复制类似,但两台服务器既是主也是从,互相同步数据。 - 需要解决冲突问题,如使用ROW格式的...

    Legato双机热备软件培训

    在IP地址规划中,通常需要为主服务器和从服务器分配不同的IP地址,同时还需要为故障切换后的从服务器预留IP。 在双机热备的实现模式中,可以有多种策略,如共享存储模式,两台服务器共享同一物理磁盘,或者镜像模式...

    mysql实现双机热备

    通过以上步骤和命令,我们可以实现MySQL的双机热备,确保在主服务器故障时,服务能够无缝切换到备机,保障业务的连续运行。然而,实际部署时还需考虑负载均衡、数据安全和性能优化等多方面问题,以构建更为完善的高...

    图文演示双机热备mysql主主模式配置全过程.pdf

    在双机热备中,主主模式是指两台服务器都配置为对方的主服务器,它们之间可以互相同步数据。 接下来,我们要讨论的是MySQL的二进制日志,它在双机热备中扮演了至关重要的角色。二进制日志(binary log)记录了所有...

    构建Keepalived双机热备.pdf

    Keepalived通过虚拟路由冗余协议(VRRP)实现双机热备,其核心思想是将两台服务器设定为主备关系,其中一台为主(MASTER),另一台为备(BACKUP),在主节点失效时,备节点可以迅速接管服务,从而保证服务的连续性。...

    mysql双机热备

    在IT领域,尤其是在数据库管理与高可用性设计中,“MySQL双机热备”是一个关键概念,它涉及到如何通过设置两台服务器(ServerA与ServerB)来实现数据的实时复制,确保在主服务器出现故障时,备服务器可以无缝接管...

    mysql 数据库的同步问题(双机热备).pdf

    ### MySQL 数据库同步问题详解(双机热备) #### 一、引言 在现代企业的IT架构中,数据库同步是一项非常重要的技术。...希望本文能为正在部署或优化MySQL双机热备同步方案的读者提供有益的帮助。

    mysql双机热备实现方案【可测试】

    本文将详细介绍如何在MySQL环境下实现双机热备。 首先,我们需要理解热备份和普通备份的区别。热备份关注的是业务连续性,它通过故障转移技术确保服务不中断。而备份主要是为了防止数据丢失,通过定期或实时备份...

    linux双机热备 运维趋势 第8期

    根据给定文件的信息,我们可以提炼出以下几...综上所述,该期杂志围绕着Linux双机热备和运维趋势展开了深入讨论,不仅涵盖了理论知识,还有具体实践案例和技术细节,为从事IT运维工作的技术人员提供了宝贵的学习资源。

    rossmirrorha 双机热备

    - **定义**:双机热备是指在一个系统中同时配置两台服务器(一台主服务器和一台备用服务器),正常情况下主服务器承担所有业务,而备用服务器则处于实时监控状态,一旦检测到主服务器故障,则立即接管主服务器的工作...

    MySQL双机热备PPT

    在Linux环境下,MySQL双机热备通常采用Master-Slave复制或Master-Master复制架构。Master-Slave复制中,主服务器(Master)处理所有写操作,并将这些更改记录到二进制日志(binlog)中。备服务器(Slave)通过网络...

    MySQL双机热备

    **MySQL双机热备**是一种通过配置使得两台MySQL服务器之间能够实时同步数据的技术方案,从而实现高可用性和故障转移的能力。该技术可以确保在一台服务器发生故障时,另一台服务器能够立即接管服务,以减少数据丢失和...

    如何设置MySQL同步(双机热备)

    下面将详细介绍如何设置 MySQL 同步(双机热备)。 同步方式 MySQL 提供了两种同步方式:“主-从”和“主-主”。 主-从方式 1. 准备服务器 在设置 MySQL 同步之前,需要准备服务器,包括主服务器(Master)...

    mysql 双机热备

    ### MySQL双机热备原理与实现 #### 一、概览 MySQL双机热备是一种高可用性解决方案,旨在确保数据库服务的连续性和可靠性。它通过Linux HA(High Availability)软件Heartbeat实现在多台服务器之间的自动切换,一旦...

Global site tag (gtag.js) - Google Analytics