美文网首页
数据库主主同步

数据库主主同步

作者: 山中人T | 来源:发表于2018-12-27 23:05 被阅读0次

1. 修改数据库配置文件 my.cnf

# vim /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# 服务器的ID, 必须唯一,一般设置自己的IP

server_id=241

# 复制过滤:不需要备份的数据库(MySQL库一般不同步)

binlog-ignore-db=mysql

# 开启二进制日志功能,名字可以随便取,最好有含义(比如项目名)

log-bin=edu-mysql-bin

# 为每个 session 分配的内存,在事务过程中用来存储二进制日志的缓存

binlog_cache_size=1M

# 主从复制的格式(mixed,statement,row,默认格式是 statement)

binlog_format=mixed

# 二进制日志自动删除/过期的天数。默认值为 0,表示不自动删除。

expire_logs_days=7

## 跳过主从复制中遇到的所有错误或指定类型的错误,避免 slave 端复制中断。

## 如:1062 错误是指一些主键重复,1032 错误是因为主从数据库数据不一致

slave_skip_errors=1062

# 作为从服务器时的中继日志

relay_log=edu-mysql-relay-bin

# log_slave_updates 表示 slave 将复制事件写进自己的二进制日志

log_slave_updates=1

# 主键自增规则,避免主从同步ID重复的问题

auto_increment_increment=2   # 自增因子(每次加2)

auto_increment_offset=1         #  自增偏移(一个填1,另一个填2)

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

修改完成后重启数据库

/etc/init.d/mysqld restart

2. 配置同步账号并开启同步

设置 masterA (假设IP 为 192.168.188.2)

# mysql -uroot -p123456     #  登录mysql,不要照抄,-u后面是账号,-p后面是密码

grant replication slave on *.* to 'repl'@'192.168.188.3' identified by '123456';  // 创建mysql账号repl,只容许指定ip访问,这里设置为MasterB

flush privileges;            // 刷新授权表信息

flush tables with read lock;    // 锁定数据库表暂时无法写服务;

show master status;        // 查看binlog文件值与pos值

stop slave;            // 关闭同步

设置 masterB(192.168.188.3)

# mysql -uroot -p123456     #  登录mysql,不要照抄,-u后面是账号,-p后面是密码

grant replication slave on *.* to 'repl'@'192.168.188.2' identified by '123456';     //创建用户,允许MasterA登录本机器

flush privileges;                //刷新授权表

stop slave;                        //关闭同步

show master status;        //查看binlog文件值与pos值

change master to master_host='192.168.188.2', master_user='repl', master_password='123456', master_log_file='test01.000001', master_log_pos=664383;  //这里注意log_file与pos值都要对应对应A的  show master status;值

start slave; //开启同步

设置 masterA

change master to master_host='192.168.188.3', master_user='repl', master_password='123456', master_log_file='test02.000001', master_log_pos=664343; //这里log_file与pos值写的必须是B上show master status;的值

start slave;                    //开启同步

unlock tables;                //解锁写

3. 查看同步状态

show slave status\G;

主要看以下两个参数,这两个参数如果是Yes就表示主从同步正常

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

引用:https://blog.csdn.net/xiyang_1990/article/details/51420513

相关文章

  • 数据库主主同步

    1. 修改数据库配置文件 my.cnf # vim /etc/my.cnf [mysqld]datadir=/va...

  • 第三章 数据同步之数据同步基础

    数据同步技术即不同系统间数据流转,如: 同类型不同集群间同步:① 主数据库与备份数据库之间数据同步② 主系统与子系...

  • mysql数据同步

    测试环境数据库同步,使用主从同步,但生产环境中,为了高可用,两组数据库,每组数据库组内实现主主互备,这时主从方案就...

  • Mysql之BinlogServer

    我们在数据库的应用里,经常会使用到数据同步的场景, 从简单的单主单从同步, 到从单主多从, 再到多主多从等。 不同...

  • MySQL数据库的主主同步配置

    一、架构方案思路 1.两台mysql都可读写,互为主备。本文的实验中:默认只使用一台(DCGH-DB1)负责数据的...

  • MySQL主主同步+keepalived

    项目环境 mysql主主同步 两台机器都安装MySQL5.7,我是编译安装的 配置MySQL 第一台 配置文件 相...

  • Mysql 配置主主同步

    同步现有数据 开始同步之前,要保证两边的mysql数据和表结构一致,不然同步过程中会出错。同步数据可以使用mysq...

  • 更新 MySQL 从数据库的同步配置信息

    如果主数据库主机连接信息出现变化,可以参考如下方式更新从数据库的同步配置信息: 首先,需要注意的是一旦主数据库主机...

  • MySQL主从复制原理

    实现mysql主从在线同步 一.工作环境及条件 主数据库:172.25.0.254 从数据库:172.25.0.1...

  • MySQL双主一致性架构优化

    阅读原文:MySQL双主一致性架构优化 双主保证高可用 MySQL数据库集群常使用一主多从,主从同步,读写分离的方...

网友评论

      本文标题:数据库主主同步

      本文链接:https://www.haomeiwen.com/subject/prrslttx.html