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

MySQL 主从同步

为什么需要主从复制 分别读写数据库的时候,把读和写分开,能够有效的提高数据库的负载 保证数据的高可用,一旦有一台数据库服务器宕机,不会对数据产生太大的影响 可以横向扩展,实现数据库的水平扩容 主从同步的原理...主从复制的根本原理是从 master 服务器上面的数据,通过一定的方式同步到 slave 服务器上面。...上面的 3 个过程是 MySQL 主从同步的大概流程,其中 binlog 和 relay log 的读写都是顺序 IO,性能很高。...搭建主从同步 此处用 Linux 服务器进行演示: 安装 MySQL 修改 my.cnf 如果找不到 my.cnf文件可以直接新建一个文件,MySQL 会自动读取。...#同步数据库的名称 重启 MySQL 服务 不同安装方式的重试方式不同,此处仅仅是一种可行的方式。

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

    mysql主从同步

    mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面; 2)master有一个I/O线程将二进制日志发送到slave; slave有一个I/O线程把master发送的二进制写入到...relay日志里面; 4)slave有一个SQL线程,按照relay日志处理slave的数据; 二.操作 准备两台装好mysql的服务器(我在此用docker模拟了两台机器) 环境 mysql版本 ip...2.3 测试主从同步 #在主库上创建数据库test1 create database test1; use test1; #创建表 create table tom (id int not null,name...varchar(100)not null ,age tinyint); #插入数据 insert tom (id,name,age) values(1,'xxx',20),(2,'yyy',7),(3...,'zzz',23); #在从库上查看是否同步成功 #查看数据库 show database; use test1; #查看表 show tables; #查看数据 select * from test1

    1.2K10

    Mysql主从同步

    概念 主从同步:其实主从同步和Redis系列讲到的主从同步比较类似,在多个服务器部署Mysql服务,将其中一台Mysql服务设置为主数据库,其他的Mysql服务设置为从数据库,然后主从同步保证主从数据数据的一致性...读写分离:实现主从同步后,主数据库负责所有主动写操作,从数据库负责所有主动读操作。...上成功安装Mysql服务后,接下来进入正题,部署主从同步,实现主从数据数据的复制,不过需要注意一点:在进行主从复制时,所有需要复制数据数据表所有更新操作必须在主数据库中进行,否则可能导致主数据库表更新和从数据库表更新导致数据冲突出现不一致...测试主从同步 首先,进入主数据库,插入一条数据: ? 然后进入从数据库查看数据是否存在: ? 可以看到我们主数据库更新的数据可以同步到从数据库中,实现主从数据数据同步。...主从同步实现之后我们就可以在这个基础上实现数据库读写分离,减轻主数据库的负载。下一篇将着重介绍Mysql的读写分离。

    1.6K30

    mysql数据主从同步

    ,创建mysql用户(或者使用已经存在的也行),并且给予只能进行主从同步 /*新建用户,使用已有用户的略过进行下面的*/ /*设置的主机只允许192.168.43.201进行连接访问*/ mysql> ...器后再运行下面的命令*/ mysql> flush privileges; 二、数据导入与导出 flush tables with read lock;  将主要要同步到从库的数据库导出(注意这里一定要将主库锁定停止操作...),然后将导入的数据库导入到从库中去(注意主从表名一致),如果在这里导入数据的状态不一致或者有表的主键自增不一致,则会导致无法同步,这里操作从简单,但要谨慎操作。...3、启动同步进程 mysql> start slave;  4、检查同步状态,标出的两个全为YES表示成功 mysql> show slave status \G; ?...四、测试 只要按上边的步骤全部走通了,这里向主库写数据,那么从库一定会同步过来的。

    6.9K10

    揭秘MySQL主从数据不一致

    前言 : 目前MySQL数据库最常用的是主从架构,大多数高可用架构也是通过主从架构演变而来。...1.造成主从不一致的原因 造成主从不一致的可能原因有很多,下面简单列举几条: 主库binlog格式为Statement,同步到从库执行后可能造成主从不一致。...主从实例版本不一致,特别是高版本是主,低版本为从的情况下,主数据库上面支持的功能,从数据库上面可能不支持该功能。 MySQL自身bug导致。...2.主从不一致修复方法 下面介绍下主从不一致的修复方法,注意,这里讲的是修复主从不一致而不是修复主从同步错误。 想要修复主从不一致,我们首先要发现主从不一致,下面将根据不同情形给出合适的修复方法。...例如:a1 b1 c1这三张表主从数据不一致,那么我们可以这么做: 1、从库停止Slave复制 mysql>stop slave; 2、在主库上dump这三张表,并记录下同步的binlog和POS

    1.9K20

    mysql主从同步

    非常感谢大家昨晚来到我们的公开课课堂,一起探讨了关于数据库的架构,最后详细探讨学习了mysql主从同步的搭建过程。...以下是本次课程的课堂笔记,主题聊聊数据库架构那些事 首先分享了同方,从14年到17年的数据库架构,接下来是关于数据主从的搭建 原理图如下: ?...mysql主从复制中: 第一步:master记录二进制日志。在每个事务更新数据完成之前,master在二日志记录这些改变。MySQL将事务写入二进制日志,即使事务中的语句都是交叉执行的。...SLAVE 测试:数据同步 x-63写数据mysql> use bawei; Database changed mysql> show tables; +--------------+ | Tables_in_bawei...test1; +------+ | id | +------+ | 1 | +------+ 到现在为止mysql主从同步就搭建完成了,因为篇幅限制,后面会出现的问题解决方案暂时就不在这里阐述了

    3.9K20

    MySQL主从同步原理

    关于MySQL主从同步的一些问题 master的写操作,slaves被动的进行一样的操作,保持数据一致性,那么slave是否可以主动的进行写操作?...假设slave可以主动的进行写操作,slave又无法通知master,这样就导致了master和slave数据不一致了。因此slave不应该进行写操作,至少是slave上涉及到复制的数据库不可以写。...(谈到MySQL数据主从同步延迟原理,得从mysql数据主从复制原理说起,mysql主从复制都是单线程的操作,主库对所有DDL和DML产生binlog,binlog是顺序写,所以效率很高;slave...解决办法三:对于比较重要且必须实时的数据,比如用户刚换密码(密码写入 Master),然后用新密码登录(从 Slaves 读取密码),会造成密码不一致,导致用户短时间内登录出错。...是否同步更新 读写分离实现方法: 为了减轻数据库的压力,一般会进行数据库的读写分离,实现方法一是通过分析sql语句是insert/select/update/delete中的哪一种,从而对应选择主从

    1.8K20

    Mysql数据库设置主从同步

    主从复制的原理 分为同步复制和异步复制,实际复制架构中大部分为异步复制。...环境描述 OS:Centos6 主服务器master:192.168.11.120 从服务器slave:192.168.11.139 mysql主从配置 mysql主服务器配置(master) master...# 启用二进制日志binlog-do-db=sakzss #指定数据库,如果不指定就是全部数据库 重启服务器: service mysqld restart # centos6重启mysql 设置同步源...=22927; #对应show master status中Position 启用同步mysql> start slave; 停止同步 mysql> stop slave; 检查从服务器状态: mysql...mysql数据同步验证 主从数据库设置工作已经完成,可以在master新建数据库和表,插入和修改数据,查看slave是否获得同步,测试一下是否成功。

    11.1K00

    【黄啊码】MySQL入门—16、什么是数据主从同步?怎么解决主从数据不一致

    流程如下:​今天我们就从一下几个方面了解数据主从同步问题:为什么需要主从同步 首先不是所有的应用都需要对数据库进行主从架构的设置,毕竟设置架构本身是有成本的, 如果我们的目的在于提升数据库高并发访问的效率...主从同步的原理实际上主从同步的原理就是基于 Binlog 进 行数据同步的。在主从复制过程中,会基于 3 个线程来操作,一个主库线程,两个从库线程。...进行主从同步的内容是二进制日志,它是一个文件,在进行网络传输的过程中就一定会存在延迟(比如 500ms),这样就可能造成用户在从库上读取的数据不是最新的数据,也就是主从同步中的数据不一致性问题。...COMMIT 之后不需要等从库返回任何结果,而是直接将结果返回给客户端,这样做的好处是不会影响主库写的效率,但可能会存在主库宕机,而 Binlog 还没有同步到从库的情况,也就是此时的主库和从库数据不一致...所以,这种复制模式下的数据一致性是最弱的。半同步复制MySQL5.5 版本之后开始支持半同步复制的方式。

    89410

    MySQL 主从同步配置

    =mysql-bin ​ sync_binlog=1 binlog_checksum=none binlog_format=mixed ​ #binlog-do-db=cdev #需要同步数据库...然后可以在主库上创新一个数据库和表,插入几条数据,从库会同步的创建数据库和表还有数据。...,则这个值为0,如果没有开启执行同步,则这个值在MySQL8中是NULL MySQL 配置互为主备同步,使用gtid 模式同步 假设 我们目标是 mysql_1 和 mysql_3 互为主备 在mysql...就研究了下,怎么简单的配置主从设置,其实这块有很多细节。再生产环境中配置的话,需要深入的理解同步的机制,在出现同步问题的时候需要能够快速的解决。...问题:同步时跳过无法执行的GTID对应的事务 如果是修复主从复制中的异常,如果是在确认错误可以跳过的情况下,可以使用如下的方式: stop slave; set gtid_next='xxxxxxx:N

    2.5K10

    MySQL数据库的主从同步配置

    如果没有本篇,上一篇文章实际就是主从复制,DCGH-DB1为Master,DCGH-DB2为从服务器。本文承接上文,本文完整阐述MySQL主从复制、主主复制。 二、系统架构简图 ?...> grant replication slave,replication client on *.* to 'copy'@10.1.1.33; 五、完成从DCGH-DB2同步到DCGH-DB1的主从配置...1.登录DCGH-DB2,锁表,备份数据(上一篇文章中,由于使用的是完整克隆,主备环境完全一致,因此并未进行备份,在同步之前要求两端数据一致,因此之前的操作如果在生产环境中操作是非常不严谨的,备份之前的文章有介绍...七、验证 在DCGH-DB2按照上一篇文章建库、增、删、改、查,然后分别在DCGH-DB1、DCGH-DB3上查看数据是否同步。按照本文的步骤,操作成功,为了节省篇幅,不在阐述。...八、注意事项 1.主主同步需要2个MySQL用户,主从同步只需一个MySQL用户,用户满足条件之后还需要注意权限。 2.在同步之前需要保证两端数据一致,涉及到备份及还原。

    6.2K10

    mysql高可用 - 主从同步

    (10.4.230.207) 配置文件 [mysqld] server-id=2 #设置server-id,必须唯一 导入数据 mysql < backup.sql # 可以直接将master数据目录打包...: Yes MASTER指定同步库 1 忽略库 # 不同步哪些数据库 binlog-ignore-db = mysql binlog-ignore-db = test binlog-ignore-db...= information_schema 2 指定库 # 只同步哪些数据库,除此之外,其他不同步 binlog-do-db = live 从库设置为只读库 /etc/my.cnf read_only=1...Slave_IO_Running: no 检查账号密码和 iptables Slave_SQL_Running: no mysqldump备份只导出部分库,我采用手动建库导入master 表结构 slave数据不一致处理过程为...跳过slave上的1个错误 mysql>set  global sql_slave_skip_counter=1; 3.在slave上手工插入一条数据 mysql>insert into  ...

    1.8K10

    Mysql配置 主从同步(上)

    一.准备 1.主从数据库版本最好一致 2.主从数据库内数据保持一致,若不一致,可将从库中所有数据删除,并将主库全部数据导入进去 主数据库:182.92.172.80 从数据库:123.57.44.85...二.操作 主数据库操作 1.开启binlog [mysqld] log-bin=mysql-bin #开启二进制日志 server-id=1 #设置server-id,和从不能一样 2.重启mysql,...创建用于同步的用户账号 systemc restart mysql 登陆数据mysql -hlocalhost -uname -ppassword 创建用户并授权:用户:test密码:123456,...privileges; 锁表,禁止写入,当前窗口不能退出,这时候开启另一个终端继续操作 flush table with read lock; 3.新窗口操作,查看master状态,记录二进制文件名(mysql-bin...Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin

    1.4K21

    windows下mysql 主从同步

    今天先讲讲数据库的主从同步,两个好处:     一是读写分离可以用上。...比如 写操作就写到主数据库,读就从从数据库读取            二是纯粹给数据库备份,以防硬盘彻底崩了 主从数据库操作准备: 两台电脑,都安装好mysql 5.5及以上版本,最好两台电脑都安装同一版本数据库...    #二进制文件存放路径 binlog-do-db=test1    #待同步数据库 保存并重启mysql服务后你可以在C:\Program Files\MySQL\MySQL Server 5.5...    #待同步数据库 保存并重启mysql服务 步骤五: 从服务器上测试:mysql -u slave -p root -h 192.168.0.102,查看能否连接主数据库成功, 然后输入exi退出...,是不会同步对主数据库进行修改的,这样就应该用主-主同步了,方法类似, 所以insert,delete update 都应该是对主数据库的操作, 而select操作则对从表进行操作 具体程序中怎么实现读写分离

    2K10

    MySQL主从同步错误恢复

    MySQL主从同步集群在生成环境使用过程中,如果主从服务器之间网络通信条件差或者数据数据量非常大,容易导致MySQL主从同步延迟。...MySQL主从产生延迟之后,一旦主库宕机,会导致部分数据没有及时同步至丛库,重新启动主库,会导致丛库与主库同步错误,如何快速恢复主从同步关系呢,如下有两种方法: 1、忽略错误后,继续同步(只有一次错误)...跳过1次,跳过会导致数据不一致,最后启动start  slave,同步状态恢复,命令如下: stop slave; set  global sql_slave_skip_counter =1; start...slave; 2、重新做主从同步,完全同步:(主从数据差别大) 此种方法适用于主从数据内容相差很大,或者要求数据完全统一的情况,数据需完全保持一致。...:/tmp/ 5)停止从库的状态,导入数据备份 mysql> stop slave; mysql> source /tmp/mysql.sql; 6)设置从库同步,并开启slave; change master

    2.1K10
    领券