广告
返回顶部
首页 > 资讯 > 数据库 >Mysql主主复制配置
  • 833
分享到

Mysql主主复制配置

2024-04-02 19:04:59 833人浏览 泡泡鱼
摘要

在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器互为主从,并且都能向外提供服务。配置的时候需要注意:主键重复,server-id不能重复。1.新建数据库

在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器互为主从,并且都能向外提供服务。配置的时候需要注意:主键重复,server-id不能重复。
1.新建数据库
ubuntu16.04,开启两个虚拟机
配置前,两个Mysql分别新建一个数据库,保证的test数据库的数据一致
create database test default character set utf8 default collate utf8_general_ci;
2.修改配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
服务器A(192.168.8.129)配置如下
bind-address = 0.0.0.0
log_bin = /var/log/mysql/mysql-bin.log #开启二进制日志
server-id = 1 #任意自然数n,只要保证两台MySQL主机不重复即可
expire-logs-days = 100
replicate-do-db = test #要同步的数据库,默认所有库
binlog-ignore-db = mysql #忽略mysql库
binlog-ignore-db = infORMation_schema #忽略information_schema库
auto-increment-increment = 2 #步进值,有n台主MySQL就填n
auto-increment-offset = 1 #起始值。第n台主MySQL,此时为第1主MySQL

服务器B(192.168.8.131)配置
bind-address = 0.0.0.0
log_bin = /var/log/mysql/mysql-bin.log
server-id = 2
expire-logs-days = 100
replicate-do-db = test
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
auto-increment-increment = 2
auto-increment-offset = 2 #起始值,第2台主MySQL
二者只有server-id不同和 auto-increment- offset不同
auto-increment-offset是用来设定数据库中自动增长的起点的,两个服务器都设定了一次自动增长值2,所以它们的起点必须得不同,这样才能避免两台服务器数据同步时出现主键冲突
replicate-do-db 指定同步的数据库,我们只在两台服务器间同步test数据库。auto-increment-increment的值应设为整个结构中服务器的总数,本例用到两台服务器,所以值设为2
3.重启mysql服务
/etc/init.d/mysql restart
4.创建共享用户
创建一个可以在另一台主机上登录的MySQL用户repl
看是否有mysql中是否有repl这个用户
use mysql;
select user from user;
Mysql主主复制配置
若没有的话,新建用户
create user 'repl'@'%' IDENTIFIED BY 'passwd';
grant replication slave on . to 'repl'@'%';
flush privileges;
查看repl用户的权限
show grants for 'repl'@'%';
Mysql主主复制配置
5.测试是否能够远程登录
在服务器A上(192.168.8.129)
mysql -h 192.168.8.131 -u repl –p
输入口令jvkpxdYrlz
若成功,则继续下一步
若失败,检查mysqld.cnf文件中的配置,可能因为bind-address=127.0.0.1导致,使得仅允许本机访问。

  1. 分别查看二进制日志名和位置
    show master status;
    Mysql主主复制配置
  2. 相互授权用户
    在两台服务上分别先停止slave
    stop slave;
    在服务器A上(192.168.8.129)
    change master to MASTER_HOST='192.168.8.131',MASTER_USER='repl', MASTER_PASSWord= 'passwd', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=154;
    在服务器B上(192.168.8.131)
    change master to MASTER_HOST='192.168.8.129',MASTER_USER='repl', MASTER_PASSWORD= 'passwd', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=154;
    再启动slave
    start slave;
    8.查看slave状态
    show slave status \G;
    正确结果如下图所示:
    Mysql主主复制配置
    可能出现的情况:
    (1) 当配置完成Slave_IO_Running、Slave_SQL_Running不全为YES时,show slave status\G信息中有错误提示,可根据错误提示进行更正。
    (2) Slave_IO_Running、Slave_SQL_Running不全为YES时,大多数问题都是数据不统一导致。
    (3) stop slave后,数据变更,再start slave,出错。重新执行一遍CHANGE MASTER即可。
    (4) 若出现如下图所示错误2003,连接不通过,则说明mysqld.cnf 中的bind_address未修改为0.0.0.0。如果要让mysql监听到其他的地址,可以将bind-address = 127.0.0.1注释掉,或者将bind-address = 0.0.0.0监听所有的地址
    Mysql主主复制配置
    (5) 若出现如下图所示错误1045,则说明配置change maseter时输入的repl用户的口令错误
    Mysql主主复制配置
    9.测试是否同步成功
    在A上
    create table test_user (id int NOT NULL AUTO_INCREMENT PRIMARY KEY,createtime datetime NOT NULL DEFAULT CURRENT_TIMESTAMP);
    在B上可以看到新增了一个表
    Mysql主主复制配置
    在B上
    insert into test_user set id=1;
    在A上可以看到test_user表中新增了一条记录。
    Mysql主主复制配置

参考网址https://www.cnblogs.com/zping/p/5315827.html
Https://www.cnblogs.com/PHPstudy2015-6/p/6485819.html#_label7

您可能感兴趣的文档:

--结束END--

本文标题: Mysql主主复制配置

本文链接: https://www.lsjlt.com/news/45375.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql主主复制配置
    在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器互为主从,并且都能向外提供服务。配置的时候需要注意:主键重复,server-id不能重复。1.新建数据库...
    99+
    2022-10-18
  • MySQL主主复制(双主复制)配置过程介绍
    一、修改配置文件my.cnf 服务器A(172.16.16.70)配置如下 server_id = 70 socket = /tmp/mysql.sock innodb_buffer_pool_size =...
    99+
    2022-10-18
  • MySQL主从复制配置
    配置主数据库: my.cnf: server-id       = 1 log-bin  重启数据库 登录并查看: ...
    99+
    2022-10-18
  • Keepalived+Mysql如何配置主主复制
    小编给大家分享一下Keepalived+Mysql如何配置主主复制,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!安装环境:Hos...
    99+
    2022-10-18
  • MySQL 5.6 主从复制配置
    一、前言:为什么MySQL要做主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低。为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻主...
    99+
    2022-10-18
  • MySQL配置SSL主从复制
    MySQL5.6 创建SSL文件方法 官方文档:https://dev.mysql.com/doc/refman/5.6/en/creating-ssl-files-using-openssl.html#c...
    99+
    2022-10-18
  • Mysql中怎么配置主主复制架构
    这期内容当中小编将会给大家带来有关Mysql中怎么配置主主复制架构,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 MySQL主主复制结构区别于主从复制结构。在主主复制结...
    99+
    2022-10-18
  • mysql主从复制配置过程
    主库配置 1. 配置mysql vim /etc/my.cn # 在文件中增加以下内容 server-id=1 # 保证server id唯一 log-bin = /var/lib/mysql/mysql-bin...
    99+
    2022-05-23
    mysql 主从复制 mysql 主从复制配置
  • 【MySQL】主从异步复制配置
    简介: Mysql的 主从同步 是一个异步的复制过程,从一个 Master复制到另一个 Slave上。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程...
    99+
    2022-10-18
  • mysql主从复制配置(日志点)
            一些mysql版本并不会开启二进制日志,所以一定要检查是否开启。如果一开始没开启,在以后需要开启,则必须重启数据库服务器,而数据库服务器重启会对业务造成很大影响。所以,尽管二进制日志会对性能...
    99+
    2022-10-18
  • 配置mysql数据库主从复制
        一、    原理说明 复制有以下三个步骤:   (a)主服务器把数据更改记录到二进制日志中。(这叫做二进制日志事件(binary...
    99+
    2022-10-18
  • mysql的主从复制如何配置
    这篇文章给大家分享的是有关mysql的主从复制如何配置的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。数据库复制对于系统高可用、高性能的提升扮演者很重要的角色。1 主库配置1.1 ...
    99+
    2022-10-18
  • Linux下MySQL主从复制的配置
    本篇内容主要讲解“Linux下MySQL主从复制的配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下MySQL主从复制的配置”吧! MySQL...
    99+
    2022-10-18
  • mysql中如何配置主从复制
    这篇文章主要介绍了mysql中如何配置主从复制,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。对于现在的系统来说,在业务复杂的系统中,数据库往...
    99+
    2022-10-18
  • MySQL配置主从复制的方法
    今天小编给大家分享一下MySQL配置主从复制的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、检测通信查看主库(mas...
    99+
    2023-07-02
  • MySQL 主主复制
            MySQL主主复制其实就是基于主从复制做的双向同步。主从复制:对master做操作会同步到slave,对slave做操作不会同步到maste...
    99+
    2022-10-18
  • mongodb主从复制配置
    主从复制是mongodb最常用的复制方式,这种方式很灵活.可用于备份,故障恢复,读扩展等.最基本的设置方式就是建立一个主节点和一个或多个从节点,每个从节点要知道主节点的地址. 我们用两种方式来实现主从.这里...
    99+
    2022-10-18
  • MySQL 配置主从复制实践分享
    目录一、检测通信二、master配置1. 开启二进制日志2. 创建一个用于主从库通信用的账号3. 获取binlog的日志文件名和position三、slave配置1. 配置全局唯一的server-id2. 使用maste...
    99+
    2022-07-14
    MySQL 配置主从复制 MySQL 主从复制
  • MySQL 主从复制的原理和配置
    工作原理图: 主从复制的原理: 分为同步复制和异步复制,实际复制架构中大部分为异步复制。 复制的基本过程如下: 1).Slave上面的IO进程连接上Master,并请求从指定日志文件的指...
    99+
    2022-05-26
    MySQL 主从复制 配置
  • MySQL主从复制的配置及原理
    -----------------------------------------------------------mysql 5.5   环境用的数据库可的多实例----------...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作