mysql数据库复制—双主

一、实现环境

centos

master1:172.16.20.245

master2:172.16.20.219

两数据库均是新安装

二、master1安装配置

1配置文件

#vim /etc/my.cnf

server-id = 10

log-bin = mysql-bin

log-bin-index = mysql-bin.index

binlog-format = mixed

relay-log = relay-mysql

relay-log-index = relay-mysql.index

auto-increment-increment = 2

auto-increment-offset = 1

innodb_file_per_table=1

sync-binlog = 1

innodb_flush_log_at_trx_commit=1

#service mysqld restart

2创建复制用户

mysql>grant replication slave on *.* to ‘user1‘@‘172.16.20.%‘ identified by ‘password1‘;

mysql>flush privileges;

3记录二进制日志位置

mysql> show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000003 |      353 |              |                  |

+------------------+----------+--------------+------------------+

三、master2安装配置

1master2配置文件

#vim /etc/my.cnf

server-id = 20

log-bin = mysql-bin

log-bin-index = mysql-bin.index

binlog-format = mixed

relay-log = relay-mysql

relay-log-index = relay-mysql.index

auto-increment-increment = 2

auto-increment-offset = 2

innodb_file_per_table=1

sync-binlog = 1

innodb_flush_log_at_trx_commit=1

#service mysqld restart

2创建复制用户

mysql>grant replication slave on *.* to ‘user2‘@‘172.16.20.%‘ identified by

‘password2‘;

mysql>flush privileges;

3记录二进制日志位置

mysql> show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000002 |      253 |              |                  |

+------------------+----------+--------------+------------------+

四、启动复制

1master1启动复制

mysql>CHANGE MASTER TO

MASTER_HOST=‘172.16.20.219‘,

MASTER_USER=‘user2‘,

MASTER_PASSWORD=‘passwd2‘,

MASTER_LOG_FILE=‘master-bin.000002‘,

MASTER_LOG_POS=253;

mysql>start slave;

#或者单独START SLAVE IO_Thread;START SLAVE SQL_Thread;来启动这两个线程

master2启动复制

mysql>CHANGE MASTER TO

MASTER_HOST=‘172.16.20.245‘,

MASTER_USER=‘user‘,

MASTER_PASSWORD=‘passwd‘,

MASTER_LOG_FILE=‘master-bin.000003‘,

MASTER_LOG_POS=353;

mysql>start slave;

#或者单独START SLAVE IO_Thread;START SLAVE SQL_Thread;来启动这两个线程

五、检查

mysql>show slave status\G

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

以上连个进程启动则表示双主复制启动,双主复制安装完成。

mysql数据库复制—双主

时间: 2024-08-27 10:53:49

mysql数据库复制—双主的相关文章

Mysql + keepalived 实现双主热备读写分离【转】

Mysql + keepalived 实现双主热备读写分离 2013年6月16日frankwong发表评论阅读评论 架构图 系统:CentOS6.4_X86_64软件版本:Mysql-5.6.12,Keepalived-1.2.7环境简介:1.Master-A 192.168.1.168 (Mysql+Keepalived)2.Master-B 192.168.1.169 (Mysql+Keepalived)3.写入VIP 192.168.100 (168主,169从)4.读取VIP 192.1

MySQL数据库自增主键归零的几种方法

MySQL自增主键归零的方法: 如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数: truncate table table_name; 2.  当用户没有truncate的权限时且曾经的数据不需要时: 1)删除原有主键: ALTER TABLE 'table_name' DROP 'id'; 2)添加新主键: ALTER TABLE 'table_name' ADD 'id' int(11) NOT NULL FIRST; 3)设置新主键: ALTER TABLE

mysql数据库‘复制’的办法

mysql数据库‘复制’的办法 2006-01-17 10:36:00 标签:Mysql SQL 数据库 休闲 职场 >mysqldump wap -u root -ppassword --add-drop-table | mysql test -u root -ppassword 这样就用本地的wap数据库,复制到了test数据库.当然,这里的例子数据库都数本地的.通过给定选项h,也可以指定一个远程的mysql. 这个例子,在做开发的时候很有用:用一个生产数据库的内容来填充开发数据库的内容.

MySQL 5.7 双主复制+keepalived,常规业务一般够用了

业务需求: 为Zabbix搭建2个数据库,一个库给服务器监控用,一个库给网络监控用. 硬件: 两台服务器,硬盘是1.2 T SSD卡,内存128G 架构: 希望做双主复制+keepalived,架构大概如下图 主机A IP:192.168.1.2 主机B IP:192.168.1.3 VIP:192.168.1.4 一.首先安装MySQL 5.7 到下面的url下载你操作系统对应的yum包 http://dev.mysql.com/downloads/repo/yum/ 运行下面两个命令安装 r

mysql主从复制及双主复制

之前做过一次在单台机器上的多实例的mysql,这次分开做,使用两台主机. 这里使用的主机地址分别为: MASTER:192.168.214.135 SLAVE  : 192.168.214.128 这两个主机已经安装过mysql,但是两个数据库数据不一样 主从复制大致步奏 配置MySQL复制基本步骤: 一.master 1.启用二进制日志log-bin = master-binlog-bin-index = master-bin.index 2.选择一个惟一server-idserver-id

实现MySQL主从复制、双主模型的简单案例

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. MySQL复制的基本原理 MySQL复制解决的基本问题 让一台MySQL服务器的数据与其他MySQL服务器的数据保持同步. MySQL复制的工作原理 MySQL复制的工作原理图如下所示(图来自高性能MySQL第3版) MySQL主从复制的基本步骤: 1.启动主库上的二进制文件,并把数据更改记录到二进制日志中: 2.备库将主库上的二进制日志复制到自身的中继日志中: 3.备库读取自身的中继日志中的事

MySQL数据库复制概念及数据库架构不断扩展方案

MySQL Replication 系统扩展的方式: scale up:向上扩展,垂直扩展    使用更高性能的硬件来扩展 scale out:向外扩展,水平扩展    提供更多的节点来提供更多的访问需求 复制:水平扩展的一种方案 如果构建一个httpd负载均衡集群会面临的问题: 当用户请求到达时,负载均衡器给调度到后端的各realserver上,如果web服务器允许用户上传数据,用户上传数据到第一个节点上,而后他又访问被调度到第三个节点上来,则数据就访问不到,如果要解决此问题,需要如何操作?使

MySQL数据库复制过滤

在复制的时候只复制数据库中的部分表,可以减少主从服务器的压力 在主服务器上 binlog-bin-db仅将指定数据库相关的修改操作计入二进制日志(一般来讲)[白名单] binlog-ignore-db[黑名单] 一旦主数据库发生故障,则无法立即还原引起较大的损失,因此主端的二进制日志是完整的 从服务器上 replicate-do-db[白名单]只应用哪个数据库到本地 replicate-ignore-db[黑名单] replicate-do-table使用指定表 replicate-ignore

mysql高可用双主+keepalived

Mysql双主复制 实验拓扑:sql1  192.168.10.1   server id 1 vip 192.168.10.100 Sql2  192.168.10.2   server id 2 vip 192.168.10.100 客户端 192.168.10.3 Sql1配置双主 主库配置:vim /etc/my.cnf Log-bin=mysql-bin    //打开二进制日志 Server-id=1 Service mysqld start   //重启mysql进程 登录到mys