mysql主从复制实战——详细

mysql主从原理:

1)至少需要2台数据库服务器,一主一从,master开启bin-log功能。(bin-log功能用户记录主控增           加、删除、修改、更新SQL的语句。)

2)异步复制的过程,有延迟,毫秒级别(延迟和你的网络和性能、数据库的量级有关),开启3个线程。分别是master开启io线程,slave开启io线程、sql线程。

3)从库启动 salve start,通过io线程、用户名和密码去连接master,master接收请求后,master io线程负责将bin-log内容position位置点数据发给salve端。

4)slave io线程收到数据之后,会将内容追加到本地relay-log中继日志,同时会产生master.info文件(这次从哪台机器同步,用户名、密码、bin-log文件名、position位置).

5)slave SQL线程实时监测relay-log,如果这个日志内容有更新,解析文件中的SQL语句,在本地去执行。

实战:

1)master配置文件中开启bin-log,设置server-id

2)授权同步用户和密码

3)slave执行change master绑定主库

192.168.1.155(master)

192.168.1.156(salve)

注:关掉服务器的防火墙和setenforce 0

主库配置:

1.在mysql配置文件中加入

log-bin=mysql-bin(开启bin-log)

server-id=1(区分主从)

2.重启数据库

/etc/init.d/mysql restart

3.进入数据库,创建一个新的用户,并授权允许同步

create user ‘tongbu‘@‘192.168.1.156‘ identified by ‘123456‘;(创建用户)

grant replication slave on *.* to ‘tongbu‘@‘192.168.1.156‘ identified by ‘123456‘;(授权给从库)

4.查看主库状态

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 |      990 |              |                  |                   |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.01 sec)

从库配置:

5.修改从库配置文件

server-id = 2

6.重启数据库

/etc/init.d/mysql restart

7.在从服务器上指定master IP和同步的pos点

进入数据库:

change master to master_host=‘192.168.1.155‘ ,master_user=‘tongbu‘ ,master_password=‘123456‘ ,master_log_file=‘mysql-bin.000001‘ ,master_log_pos=990;

注:如果报错

ERROR 3021 (HY000): This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL ‘‘ first

说明slave正在运行,stop slave;(关闭slave)

7.启动slave

start slave;

8.测试,在主库创建一个数据库,查看从库是否同步过来。

(本实验是成功的)

时间: 2024-10-11 20:17:08

mysql主从复制实战——详细的相关文章

mysql主从复制实战

mysql主从复制实战 主机规划主:172.16.1.51    db01 从:172.16.1.52    db02 需求:mysql主库用户写入数据实时同步到从库.这里演示1主1从. 1.主机开启bin-log功能[[email protected] ~]# egrep log_bin /etc/my.cnf log_bin 2.主从server-id不同.主从/etc/my.cnf必须有server-id[[email protected] ~]# egrep server-id /etc

MySQL主从复制介绍

1.1 MySQL主从复制原理介绍 MySQL的主从复制是一个异步的复制过程(虽然一般情况下感觉是实时的),数据将从一个MySQL数据库(我们称之为Master)复制到另一个MySQL数据库(我们称之为Slave),在Master与Slave之间实现整个主从复制的过程是由三个线程参与完成的,其中有两个线程(SQL线程和IO线程)在Slave端,另外一个线程(I/O线程)在Master端. 要实现MySQL的主从复制,首先必须打开Master端的binlog记录功能,否则就无法实现.因为整个复制过

【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构 一、业务发展驱动数据发展

一.业务发展驱动数据发展 随着网站业务的不断发展,用户量的不断增加,数据量成倍地增长,数据库的访问量也呈线性地增长.特别是在用户访问高峰期间,并发访问量突然增大,数据库的负载压力也会增大,如果架构方案不够健壮,那么数据库服务器很有可能在高并发访问负载压力下宕机,造成数据访问服务的失效,从而导致网站的业务中断,给公司和用户造成双重损失.那么,有木有一种方案能够解决此问题,使得数据库不再因为负载压力过高而成为网站的瓶颈呢?答案肯定是有的. 目前,大部分的主流关系型数据库都提供了主从热备功能,通过配置

MySQL 5.7.17主从复制实战(一主多从)

MySQL 5.7.17主从复制实战(一主多从) 主从复制的原理: 分为同步复制和异步复制,实际复制架构中大部分为异步复制. 复制的基本过程如下: 1).Slave上面的IO进程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容: 2).Master接收到来自Slave的IO进程的请求后,通过负责复制的IO进程根据请求信息读取制定日志指定位置之后的日志信息,返回给Slave 的IO进程.返回信息中除了日志所包含的信息之外,还包括本次返回的信息已经到Master

MySQL主从复制原理及配置详细过程以及主从复制集群自动化部署的实现

Technorati 标签: 那你魔鬼 一.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读

Mysql主从复制原理加实战

前言:本文将介绍主从复制的作用,原理以及实战等内容 一,主从复制作用 MYSQL主从复制有利于数据库架构的健壮性,提升访问速度和易于管理 健壮性: 当主服务器出现问题,可以立刻切换到从服务器提供服务 1.主从服务器互为备份 但是异步同步,有时还是不能数据完全一样,当主挂了,只能把主的binlog拉到从库上,让从库不丢失数据 2.读写分离分担网站压力(读写分离数据库结构) 把更新数据操作交给主服务器,查询交给从服务器,如果网站以浏览为主的业务,这时多个从服务器的负载均衡就很有效了 中大型公司:通过

【实战】Amoeba 代理 MySQL 主从复制 + 读写分离 【提供源码包】

目录简介: 1· Amoeba 的介绍2· MySQL 主从复制原理3· MySQL 读写分离原理4· 实战案例5· 总结归纳 Amoeba 的介绍 1)Amoeba 是什么: 1·Amoeba 的中文名是:变形虫.它是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行.基于此可以实现负载均衡.读写分离.高可用性等需求. 2·Amoeba相当于一个SQL请求的路由器,目的是为负载均衡.读

Docker实战之MySQL主从复制

前言 曾几何时,看着高大上的架构和各位前辈高超的炫技,有没有怦然心动,也想一窥究竟?每当面试的时候,拿着单应用的架构,吹着分库分表的牛X,有没有心里慌的一批? 其实很多时候,我们所缺少的只是对高大上的技术的演练.没有相关的业务需求,没有集群环境,然后便只是Google几篇博文,看下原理,便算是了解了.然而真的明白了吗?众多的复制粘贴中,那篇文章才对我们有用,哪些又是以讹传讹? 所幸容器技术的快速发展,让各种技术的模拟成为现实.接下来Docker相关的一系列文章,将以实战为主,帮助大家快速搭建测试

MySQL主从复制实现数据库服务器双机热备详细讲解

1.mysq主从复制简介 1.1.复制介绍 MySQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新.如果你想要设置链式复制服务器,从服务器本身也可以充当主服务器.请注意当你进行复制时,所