`

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环境下实现双机热备。 首先,我们需要理解热备份和普通备份的区别。热备份关注的是业务连续性,它通过故障转移技术确保服务不中断。而备份主要是为了防止数据丢失,通过定期或实时备份...

    MYSQL双机热备配置手册

    - 考虑使用MySQL的复制功能(如主从复制)以实现真正的双机热备,这涉及到配置主服务器和从服务器之间的复制关系。 - 确保两台服务器之间有高速且可靠的网络连接,以保证数据同步的实时性。 - 对于生产环境,可能...

    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实现在多台服务器之间的自动切换,一旦...

    Rose双机热备软件安装的指南_共享磁盘阵列方式.doc

    Rose公司的高可用性系统解决方案则为用户提供了具有单点故障容错能力的平台,通过主备或主主模式实现在线故障自动切换,确保系统7×24小时不间断运行。 Rose基于共享存储的双机热备解决方案是业界标准配置。两台...

Global site tag (gtag.js) - Google Analytics