首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux中MySQL 双主复制(互为主从)配置指南(详细过程)!

MySQL 双主复制(Master-Master Replication)提供了一种有效的解决方案,通过配置两台服务器互为主从,保证数据的实时同步和高可用性。...本文将详细介绍如何配置基于 GTID 的 MySQL 双主复制,并进行测试验证。...配置基于GTID的复制模式 GTID(全局事务标识符)是 MySQL 提供的一种新型复制方式,它简化了主从复制的配置和管理,确保数据的一致性和完整性。...= ON enforce_gtid_consistency = true 这些配置项的作用如下: server-id:设置服务器的唯一标识符。...此配置不仅提高了数据库的可用性,还确保了数据的一致性。在实际生产环境中,这种配置可以极大地减少数据丢失的风险,提升系统的容灾能力。希望本文对您在 MySQL 双主复制的配置上有所帮助。

21410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mysql数据库设置主从同步

    主从复制的原理 分为同步复制和异步复制,实际复制架构中大部分为异步复制。...环境描述 OS:Centos6 主服务器master:192.168.11.120 从服务器slave:192.168.11.139 mysql主从配置 mysql主服务器配置(master) master...服务器配置: vim /etc/my.cnf #先看下原来的配置有没以下设置,有的话修改下就行了[mysqld]server-id=120log-bin=/var/lib/mysql/mysql-bin...mysql数据库同步验证 主从数据库设置工作已经完成,可以在master新建数据库和表,插入和修改数据,查看slave是否获得同步,测试一下是否成功。...一般不成功有以下几个原因: 1.server-id 设置了一样,默认都是1,要设置不一样 2.主数据库防火墙没设置允许远程访问3306端口 3.没锁表再记录MASTER_LOG_FILE、MASTER_LOG_POS

    11.1K00

    MySQL时区设置导致主从复制报错

    问题背景 在云服务器上构建一个云数据库RDS数据库的从库,构建的方式也相对比较简单,和搭建主从的复制没啥区别,这里不做具体介绍; 构建完成后,业务上线之后,构建的从库出现主从复制报错的问题,具体的报错信息如下所示...: 备注:由于云数据库RDS由于没有开启GTID,所以只能基于偏移量进行主从复制、 (有些强一致性金融级云数据库RDS默认GTID是关闭的) mysql>show slave status\G ****...:SET @@session.time_zone=’Asia/Shanghai’ 按道理的话,设置session级别应该是支持的,那为什么会出现报错呢?...接下来,我们查看一下,目前从库设置的时区 mysql>show variables like '%time_zone%'; +------------------+--------+ | Variable_name...默认这个时区设置是没有的,mysql默认不支持’Asia/Shanghai’这种时区格式 mysql>set global time_zone='Asia/Shanghai'; ERROR 1298

    1.5K20

    Mysql主从

    前提: mysql主从的搭建前提有: 两台虚拟机 两台虚拟机上都装有mysql,并且版本一样,两边的mysql数据库文件一致,mysql的安装方式我在前面博客已经介绍过了。...测试的过程我这里就不说了,自己尝试, 缺点 主从虽然能解决数据库服务器负载过高的问题以及备份的问题,但是主从同步是有延迟的,特别是当慢查询语句过多,主从服务器性能差别较大,或者网络中断情况的时候,也会造成同步延迟的问题...–master-connect-retry=seconds 单位为秒 默认设置为 60秒 参数含义:当重新建立主从连接时,如果连接建立失败,间隔多久后重试 通常配置以上2个参数可以减少网络问题导致的主从数据同步延迟...= 1 之类的设置,而slave则不需要这么高的数据安全,完全可以讲sync_binlog设置为0或者关闭binlog innodb_flushlog也可以设置为0来提高sql的执行效率。...另外就是使用比主库更好的硬件设备作为slave 扩展 主从还能配合MySQL中proxy实现真正意义的读写分离,还能配合keepalived做主从切换高可用,还能配合mysqljump做异地备份,在从库定时物理备份

    2.8K10

    mysql主从架构的实现

    但是,有利就有弊,这样的话,我们的主从就不能实时同步了,因为我们的主从同步是通过把主上的 sql 语句放在从上再执行一遍来实现的,可是我们锁表的话,sql 语句就不能执行了。...我们的数据已经恢复成功 5)设置主从 接下来就是按照上述步骤,对该从服务器进行设置就好: [root@slave2 ~]# vim /etc/my.cnf [mysqld] server-id...回到顶部 互为主从(双主)   还有一种数据库的架构为双主模式,也就是互为主从,这种设定在企业中虽不常用,但是我们还是需要掌握的。   ...2.1 环境准备:   centos系统服务器2台、 两台用户实现Mysql互为主从, 配置好yum源、 防火墙关闭、 各节点时钟服务同步、 各节点之间可以通过主机名互相通信 2.2 准备步骤: 1)iptables...KEY AUTO_INCREMENT,name char(20) not null);   因为我们设置了主从,所以在任一机器使用该命令即可。

    1.1K10

    MySQL主从搭建

    = 1001 2、进入Mysql,分别为二台master创建各种的用户供对方使用 温馨提示: 本案例为双主从,也就是master同步到node,node同步到master。...单主从,就只需要不执行带*即可 #master的机器上 CREATE USER 'master'@'%' IDENTIFIED BY '123456';   #node的机器上(*) CREATE USER...pos位置,为slave配置复制位置 master node 5、分别切换master,注意master_log_file还有master_log_pos mysql里面操作 #node的机器上 change...SQL_SLAVE_SKIP_COUNTER=1; START SLAVE; show slave status; 3、Slave_IO_Running: No #解决办法 stop slave; #根据master重新设置...status; 4、数据库主从日志很大 设置只保留30天的binlog (临时,重启mysql这个参数会失败) set global expire_logs_days = 30; (永久,my.cnf

    2.4K10

    mysql主从搭建

    # 1.原理 master的I/O线程将数据写入binlog中; slave的I/O线程从master的binlog中读取数据,写入自己的Relay_Log_File日志中; slave的SQL线程从Relay_Log_File...# 2.应用场景 从服务器作为主服务器的实时数据备份 主从服务器实现读写分离(主写从读),从服务器实现负载均衡 把多个从服务器根据业务重要性进行拆分访问(从服务器根据业务进行拆分) # 3.master...> 在主库上建立用于主从复制的账号 mysql> CREATE USER 'rep1'@'%'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'...%' identified by 'coolsummermoon'; 查看主库的二进制日志的名称 这里的Position和File后面会用到 mysql> show master status\G *...',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=154; mysql> start slave; 查看slave的状态 mysql> show slave

    2.9K20

    mysql主从同步

    #开启mysql的binlog日志功能 sync_binlog = 1 #控制数据库的binlog刷到磁盘上去 , 0 不控制,性能最好,1每次事物提交都会刷到日志文件中,性能最差...#不生成日志文件的数据库,多个忽略数据库可以用逗号拼接,或者 复制这句话,写多行 auto-increment-offset = 1 # 自增值的偏移量 auto-increment-increment...= 1 # 自增值的自增量 slave-skip-errors = all #跳过从库错误 1.进入master的数据库,为master创建复制用户 CREATE USER repl_user IDENTIFIED...by 'repl_passwd'; 刷新权限 FLUSH PRIVILEGES; 3.查看master的状态 show master status; mysql> show master status...OK, 0 rows affected (0.04 sec) 在 Slave 的 MySQL 终端执行查看主从同步状态: show slave status \G;

    9110

    mysql主从复制周期_Mysql主从复制

    大家好,又见面了,我是你们的朋友全栈君。 Mysql主从复制 背景: Mysql可以实现主从复制,在学习了Mysql主从复制后,将一些如何主从复制过程记录下来,供以后复习使用。...准备: 在做Mysql的主从复制前需要做一些准备工作: 1、同步时间 做主从的服务器的时间需要同步,不然会出问题。...命令:ntpdate ip (ntpdate命令需要先安装ntpdate) 2、版本一致 做主从的Mysql服务需要版本一致,或者从服务器的版本高于主服务器。...的所有者和所属组为mysql;命令:chown mysql.mysql /app/bin_log 2)启动服务并添加主从复制需要的帐号 CentOS6:service mysqld start CentOS7...步骤4、测试 1)在主数据库服务器创建一个数据库 2)在从mysql从服务器查看是否生成创建的数据库 到此mysql的主从复制已完成。

    4.2K10

    mysql主从配置

    怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下: 1、主从服务器分别作以下操作: 1.1、版本一致 1.2、初始化表,并在后台启动mysql 1.3、修改root的密码...6、登录主服务器的mysql,查询master的状态 mysql>show master status; +------------------+----------+-----------...注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。 以上操作过程,主从服务器配置完成。...9、主从服务器测试: 主服务器Mysql,建立数据库,并在这个库中建表插入一条数据: mysql> create database hi_db; Query OK, 1 row affected...yes(Slave_IO及Slave_SQL进程),如发现只有一个或零个yes,就表明主从有问题了,发短信警报吧。

    2.8K40

    MySQL 主从同步

    为什么需要主从复制 分别读写数据库的时候,把读和写分开,能够有效的提高数据库的负载 保证数据的高可用,一旦有一台数据库服务器宕机,不会对数据产生太大的影响 可以横向扩展,实现数据库的水平扩容 主从同步的原理...主从复制的根本原理是从 master 服务器上面的数据,通过一定的方式同步到 slave 服务器上面。...上面的 3 个过程是 MySQL 主从同步的大概流程,其中 binlog 和 relay log 的读写都是顺序 IO,性能很高。...搭建主从同步 此处用 Linux 服务器进行演示: 安装 MySQL 修改 my.cnf 如果找不到 my.cnf文件可以直接新建一个文件,MySQL 会自动读取。...sudo vim /etc/mysql/my.cnf 打开后,加入如下内容: [mysqld]# 这行一定要有 server-id = 1 #主机可以设置为1,从机可设置为IP最后一段(保证唯一性)

    5K30

    MySQL的主从复制

    MySQL的主从复制 Why we need 主从复制 ? 复制功能 复制方式 复制原理 复制流程图 复制过程 复制中线程的作用 从节点 主节点 从节点需要建立二进制日志文件吗?...Mysql复制特点 主从复制配置过程 主节点 从节点 配置演示 主机修改my.ini配置文件(Windows) 从机修改my.cnf配置文件(Linux) 因为修改过配置文件,主机和从机都需要重启mysql...为当前节点设置一个全局唯一的server_id。 创建有复制权限的用户账号 REPLIACTION SLAVE ,REPLIATION CLIENT。 从节点 启动中继日志。...为当前节点设置一个全局唯一的server_id。 使用有复制权限的用户账号连接至主节点,并启动复制线程。...---- 配置演示 环境: 主机: windows , mysql 5.7 ip:192.168.14.165 从机: Linux, mysql 5.7 , ip: 192.168.14.167 主从都配置在

    48810

    Mysql主从|笔记

    为什么要做主从复制1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景...业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能原理 binlog(主库中保存所有更新事件日志的二进制文件) 主从复制的基础是主库记录数据库的所有变更记录到...mysql主从复制是一个异步的复制过程,主库发送更新事件到从库,从库读取更新记录,并执行更新记录,使得从库的内容与主库保持一致。...可以知道,对于每一个主从复制的连接,都有三个线程(binlog输出线程、从库I/O线程、从库的SQL线程)。...Mysql关闭主从主服务器reset master;重启mysql从服务器stop slave; reset slave all;重启mysql

    1.6K30

    mysqL主从架构

    port=3306 # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/mysql-files...端口 port=3306 # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/mysql-files...库中应用日志,保证主从数据库同步一致; 2、read_only=1设置的只读模式, 限定的是普通用户进行数据修改的操作,但不会限定具有super权限的用户的数据修改操作。...另外 如果要想连super权限用户的写操作也禁止,就使用"flush tables with read lock;",这样设置也会阻止主从同步复制! ​...我们也可以扩展出互为主从的互主集群甚至是环形的主从集群,实现MySQL多活部署。 ​

    1.9K20

    mysql主从同步

    mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面; 2)master有一个I/O线程将二进制日志发送到slave; slave有一个I/O线程把master发送的二进制写入到...relay日志里面; 4)slave有一个SQL线程,按照relay日志处理slave的数据; 二.操作 准备两台装好mysql的服务器(我在此用docker模拟了两台机器) 环境 mysql版本 ip...=utf8 #启动主库容器(挂载外部目录,端口映射成33307,密码设置为123456) docker run -di -v /home/mysql/data/:/var/lib/mysql -v /...-e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 #启动从库容器(挂载外部目录,端口映射成33306,密码设置为123456) docker run -di -v /home...主服务器IP地址', master_user='之前在MySQL主服务器上面创建的用户名', master_password='之前创建的密码', master_log_file='MySQL主服务器状态中的二进制文件名

    1.2K10

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券