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

mysql的主从搭建

基础概念

MySQL的主从搭建是一种数据库复制技术,通过这种技术可以在一个MySQL服务器(主服务器)上执行写操作,并将这些操作同步到另一个或多个MySQL服务器(从服务器)上。主服务器负责处理写操作,而从服务器则处理读操作,从而实现读写分离,提高系统的性能和可靠性。

相关优势

  1. 读写分离:主服务器处理写操作,从服务器处理读操作,可以有效分担数据库负载。
  2. 数据备份:从服务器可以作为数据备份,防止数据丢失。
  3. 高可用性:当主服务器出现故障时,可以从从服务器中选择一个提升为主服务器,保证系统的可用性。
  4. 扩展性:通过增加从服务器的数量,可以提高系统的读取性能。

类型

MySQL的主从复制主要有以下几种类型:

  1. 异步复制:主服务器在执行完写操作后立即返回,不等待从服务器的确认。
  2. 半同步复制:主服务器在执行完写操作后需要等待至少一个从服务器确认收到数据后才返回。
  3. 组复制:多个服务器组成一个复制组,通过Paxos或Raft等一致性算法实现数据同步。

应用场景

  1. 高并发读写场景:通过主从复制实现读写分离,提高系统的读取性能。
  2. 数据备份和恢复:从服务器可以作为数据备份,方便数据恢复。
  3. 高可用性要求高的系统:通过主从复制实现故障切换,保证系统的可用性。

搭建步骤

以下是MySQL主从搭建的基本步骤:

主服务器配置

  1. 编辑MySQL配置文件(通常是my.cnfmy.ini),添加以下配置:
  2. 编辑MySQL配置文件(通常是my.cnfmy.ini),添加以下配置:
  3. 重启MySQL服务:
  4. 重启MySQL服务:
  5. 创建一个用于复制的用户:
  6. 创建一个用于复制的用户:
  7. 记录主服务器的二进制日志文件名和位置:
  8. 记录主服务器的二进制日志文件名和位置:

从服务器配置

  1. 编辑MySQL配置文件,添加以下配置:
  2. 编辑MySQL配置文件,添加以下配置:
  3. 重启MySQL服务:
  4. 重启MySQL服务:
  5. 在从服务器上设置主服务器的信息:
  6. 在从服务器上设置主服务器的信息:
  7. 启动从服务器的复制进程:
  8. 启动从服务器的复制进程:
  9. 检查从服务器的复制状态:
  10. 检查从服务器的复制状态:

常见问题及解决方法

  1. 主从不同步
    • 检查网络连接是否正常。
    • 检查主从服务器的配置是否正确。
    • 检查二进制日志文件和位置是否正确。
    • 检查从服务器的复制进程是否正常启动。
  • 从服务器无法连接主服务器
    • 检查防火墙设置,确保主从服务器之间的端口(默认是3306)是开放的。
    • 检查主服务器的用户权限和密码是否正确。
  • 数据不一致
    • 检查主从服务器的复制类型(异步、半同步等)是否配置正确。
    • 检查是否有未提交的事务导致数据不一致。

参考链接

通过以上步骤和注意事项,你可以成功搭建MySQL的主从复制环境,并解决常见的相关问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MySQL主从搭建

前言 公司规定,生产环境中一旦与数据(缓存也不例外)扯上关系一律不由k8s统一管理 因此,别想一键式部署了,只能老老实实单独部署 再此,就记录一下搭建过程,分享给小伙伴们,避免浪费时间 废话不多说,...= 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....000026',MASTER_LOG_POS=0; slave start; show slave status; 4、数据库主从日志很大 设置只保留30天binlog (临时,重启mysql

2.4K10

mysql主从搭建

# 1.原理 masterI/O线程将数据写入binlog中; slaveI/O线程从masterbinlog中读取数据,写入自己Relay_Log_File日志中; slaveSQL线程从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
  • Docker + MySQL 主从环境搭建

    首先,在任意挂载目录下新建*.cnf文件(这里*代表可以是任意文件名称)。...如果你mysql是下载安装,请找到my.cnf并参考如下配置: [mysqld] log-bin=mysql-bin //启用二进制日志 server_id=xxx...=utf8mb4_unicode_ci   注意,当前mysql版本是8.0.11,不同版本之间可能存在差别,docker可以拉取指定版本mysql Image,命令:docker pull mysql...mysql -uroot -proot // 3.rep表示复制账号;可修改为%,代表任意主机;`IDENTIFIED BY`后面代表rep用户认证密码 CREATE...踩坑记录   执行show slave status\G;,发现从库并没有连接上主库,留意到错误信息大致为:“主从库server_id不能一致”,随即查看新增master.cnf和slave.cnf,

    1.4K20

    redis部署方式,主从,集群(docker搭建mysql主从)

    大家好,又见面了,我是你们朋友全栈君。 Redis集群搭建——主从模式 前言 一、什么是主从模式?...二、主从模式集群搭建案例 三、主从模式优缺点 总结 前言 一般情况下,为了减轻数据库访问压力,我们会把热点数据保存在内存中而不是直接从后端数据库中读取。...这个时候我们就可以搭建redis集群,可以保证数据分散存储与数据一致性,实现redis高可用,发生故障时保证程序正常运行与数据保存。...Redis有几种集群模式,每种模式都有它各自特点,下面将介绍redis集群搭建模式之一:主从模式。 提示:以下是本篇文章正文内容,下面案例可供参考 一、什么是主从模式?...二、主从模式集群搭建案例 1.创建新目录存放redis.conf 1.打开redis安装目录,新建目录 mikdir master-cluster 2.

    91710

    搭建Mysql主从复制

    MySQL主从复制是一种常用数据库高可用性解决方案,可以提高数据库可用性和性能。本教程将介绍如何搭建MySQL主从复制。...2、MySQL主从复制工作过程 ---- 主从复制原理: 1、change master to 时,ip pot user password binlog position写入到master.info...12、主库一旦有新日志生成,会发送“信号”给binlog dump,通知IO线程再请求 3、搭建步骤 ---- 步骤1:环境准备 在开始搭建之前,您需要准备以下环境: 两台服务器(一台作为主服务器...//如果需要停止主从服务复制功能,使用以下命令: stop slave; //若搭建主从复制过程出错,则需要清理掉之前配置,还需要执行以下命令: reset slave all; 4、主从延迟问题...5、结论 ---- MySQL主从复制是一种提高数据库可用性和性能常用解决方案。本教程介绍了如何搭建MySQL主从复制,您可以根据实际情况进行调整和优化。

    40650

    快速搭建MySQL主从系统

    说明主从复制已经正常开启。...,可能是下面4种原因: a、主从节点网络不通,检查ip端口 b、密码不对,检查配置主节点用户名和密码 c、pos不对,检查MasterPosition 总结来说,肯定是主从配置信息不对 2.2 Fatal...,重启db即可 三、扩展和原理 3.1 mysql 主从复制基本原理 mysql主从同步涉及三条线程:主节点:binary log dump thread,从节点:I/O thread ,SQL...SQL线程负责读取relay log中内容,解析成具体操作并执行 主从.png 3.2. master 与slave之间如何实时数据同步, pull还是push a. slave IO thread...根据查阅相关资料,mysql5.5版本及之前是仅支持单线程。但是为了提高同步效率,从mysql 5.6 版本开始支持多线程模式,并且从5.6 - 5.7各个版本中对多线程复制策略都有新迭代。

    88570

    mysql主从复制搭建

    原理: MySQL主从复制涉及到三个线程,一个运行在主节点(log dump thread),其余两个(I/O thread, SQL thread)运行在从节点,如下图所示: ?...l 从节点SQL线程 SQL线程负责读取relay log中内容,解析成具体操作并执行,最终保证主从数据一致性。 对于每一个主从连接,都需要三个进程来完成。.../mysql.conf.d)并重启mysql server-id=3306 2.2设置从服务器信息并启动 mysql> change master to -> master_host = "192.168.99.100...Slave_IO_Running: Yes //主要查看这两个指标状态 Slave_SQL_Running: Yes    //主要查看这两个指标状态 到这里主从配置就配置完了...slave服务器连接 master数据库是否能够成功; 第二种 当 “Slave_SQL_Running” 值为 No 时可以执行如下命令 mysql> stop slave ; mysql> set

    1.7K40

    MySQL 主从复制简易搭建

    ~]# vim /etc/my.cnf log_bin=mysql-bin server-id=1 #赋予权限使之可以主从复制 mysql> grant replication slave on *....* to bak@'192.168.171.%' identified by '123'; mysql> show master status; 查看主服务器结束位,一会需要在从服务器上指定从哪里开始复制主....000001',master_log_pos=448; #各选项含义: master_host:主服务器IP master_user:连接主服务器所使用用户 master_password:连接主服务器所使用用户密码...那么,怎么去解决呢,造成这种正在连接情况有很多,有可能是防火墙策略设置报错,也有可能是配置报错,检查一番后发现是MySQL服务器UUID相同报错,这时才想起来我从服务器是克隆主服务器(流汗、、、)...cat auto.cnf # 这就对了,两个UUID不相同 [auto] server-uuid=b56c5475-b0b0-11ea-81e0-000c2987dda6 再次查看主从复制状态

    43020

    MySQL5.7 搭建主从同步

    性能更好新服务器申请下来了,我们决定在2台新服务器上使用MySQL 5.7,并且使用主从同步、读写分离架构,很不幸这个任务落到了我头上。...读写分离是在业务代码中实现,在此不做详述,介绍一下我搭建MySQL主从过程。...1.为了兼容emoji等特殊字节符,配置中使用utf8mb4编码 2.与主从相关配置在整个配置最下边,主库和从库server-id必须不同 3.binlog-ignore-db设置不需要同步库...二、创建用于主从同步账户 1.登录MySQL    mysql -uroot -p 2.create user 'sync'@'%' identified by 'Sync!...在5.7之前版本这一步相关参数是写到配置文件中,5.7如果再写进配置文件会报参数错误) 4.start slave; 如果顺利的话,到目前为止主从同步已经搭建完成,在从库中使用show slave

    1.5K10

    mysql主从搭建、使用mycat实现主从读写分离

    M-M 双主互备 (互为主从) 很多人误以为这样可以做到 MySQL 负载均衡,实际没什么好处,每个服务器需要做同样同步更新,破坏了事物隔离性和数据一致性。 4....Slave_SQL_Running:负责自己 slave mysql 进程 看到图中标红两个线程均为 YES 则成功 主从同步情况测试 到master上查看状态 mysql -u root...); # 插入数据 在slave上查看 : use HA; select * from T1; # 查看数据 主从同步搭建成功...排错 如果遇到主从不同步,看一下主从 bin-log 位置,然后再同步。...缺点: 需要一定开发运维团队支持。 MyCat服务安装与配置 架构: 上面我们已经安装并配置好了mysql主从,接下来只需安装并配置mycat。

    2.6K31

    基于Docker搭建MySQL主从复制

    docker 数据库安装 主从基本信息 image.png 创建工作目录 mkdir -p /usr/local/docker/mysql cd /usr/local/docker/mysql mkdir...3306 3307 准备my.cnf 这里准备这个配置文件主要目的是为了后续方便主从配置;使用就是5.7.13版本对应my.cnf;是预先从容器/etc/mysql目录中拷贝出来;如果你使用不同...配置主从 主库配置 vim /usr/local/docker/mysql/3306/my.cnf ## 添加以下配置 # 集群唯一id # 同个局域网内唯一 所以可以使用ip最后一段用来作为id...create table test_db(id int(3),name char(10)); 到这里,MySQL主从复制就已经搭建完成了,这里是基于Docker搭建,基于操作系统安装和使用Docker...本质是没有什么不同;但是使用Docker对系统污染较少,所以个人是比较推荐使用Docker搭建

    48820

    MySQL主从复制集群搭建

    ,今天我们就来讲讲如何实现MySQL集群搭建。...一主一从集群搭建 binlog 简介 Mysql中有一个binlog二进制日志,这个日志会记录下主服务器所有修改了SQL语句,从服务器把主服务器上binlog二进制日志,在指定位置开始复制主服务器所有修改语句...主主复制集群搭建 上面介绍了主从复制实现方法,我们在主从复制基础上介绍主主复制(只需要把 111 也变成 222 从机),把上面讲222从库改成主库,实现111和222两个库互为主从,不懂同学可以看看上篇文章主主复制架构图...步骤和第一个主从复制集群搭建一样,按照上面的操作即可。 当我们做好所有操作之后,在111主机上新增数据进行测试,发现222和333均已同步数据。...老哥结语 MySQL主从复制,是实现高性能,高可用MySQL基石,所以一定要会这个知识,才能进一步往下深入学习MySQL,跟紧老哥脚步,我们下篇文章讲讲主从复制原理。

    1.5K20
    领券