文档章节

MySQL主从复制配置

文森特梵高
 文森特梵高
发布于 2015/08/17 12:03
字数 632
阅读 68
收藏 4

MySQL主从复制用于读写分离,主库负责写,从库负责读。这样无疑会让数据库提供更高的并发性能。

配置主从复制后,主库记录二进制日志到本地,从库读取主库的二进制文件并保存到本地的中继日志文件,然后重做日志达到同步数据的结果。

主库配置

1、创建复制用户

从库通过此用户身份在主库拉二进制日志。

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO slave_1@'%' IDENTIFIED BY 'gechong';

2、主库配置

修改my.cnf

server-id=1   #必须有 而且必须唯一
log-bin=/var/log/mysql/mysql_bin.log  #二进制文件的路径
binlog-do-db=employees   #需要记录二进制日志的库
binlog-ignore-db=mysql,information_schema  #忽略的库
sync_binlog=1    #即时记录,防止事务未提交而丢失二进制日志

备库配置

1、备库配置

修改my.cnf文件

server-id=2
log-bin=/var/log/mysql/mysql_bin.log
log-slave-updates=1
read-only=1   #阻止任何没有特权权限的线程修改数据,避免与主库的数据冲突

replicate-do-db=employees
replicate-ignore-db=mysql,information_schema


2、启动复制

在mysql中运行

stop slave; --首先关闭
change master to master_host='IP',
master_user='slave_1',
master_password='123456',
master_log_file='mysql_bin.000006',
master_log_pos=106;
start slave; --启动

如果slave_io_running和slave_sql_running都是yes,配置成功。



注意事项

关于mysql主从配置的简单介绍到此。除此之外,关于这个主题还有不少值得注意的关键点。

复制的方式

复制的方式分为基于行的 和基于语句的。

基于语句的方式(5.0以及之前的版本支持),因为从库重做语句有时间差,所以对于时间戳会有误差。

基于行的方式会将实际数据记录到二进制文件,克服了以上类似的弊端。


主库和从库数据冲突

从库主要是用作读取数据,与主库同步。如果随意修改从库,很可能造成数据的冲突和不一致。

在从库中配置 read_only=1 能有效避免。


数据库崩溃造成事件丢失

sync_binlog=1

该配置作用是,mysql每次提交事务前会将二进制日志同步到磁盘,防止数据库崩溃造成丢失。


总结

除了一主一从之外,还能允许一主多从的结构。这样无疑对与少量写大量读的系统十分有用。

1)灾难恢复,将一台从服务器部署到远端,能防火防震防盗防水灾。


© 著作权归作者所有

上一篇: MySQL调优
下一篇: 写文章的条理
文森特梵高
粉丝 2
博文 28
码字总数 15386
作品 0
广州
程序员
私信 提问
Mysql主从复制以及常见错误问题分析

Mysql主从复制以及常见错误问题分析 一、主从复制简介: 1、mysql主从复制原理: Mysql主从复制的实现,主要依赖于二进制日志来实现,过程主要是根据把主的MySQL 的数据复制到其它主机( Sla...

技术小疯子
2018/01/22
0
0
Mysql主从复制

Mysql主从复制 背景: Mysql可以实现主从复制,在学习了Mysql主从复制后,将一些如何主从复制过程记录下来,供以后复习使用。 准备: 在做Mysql的主从复制前需要做一些准备工作: 1、同步时间...

657188918
2017/11/13
0
0
MySQL5.7.21开启Gtid配置主从复制

mysql5.7.21开启Gtid配置主从复制 一、环境: mysql 主库master:10.0.0.101 172.168.1.101 mysql 从库slave:10.0.0.103 172.168.1.103 mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 二进制......

wjw555
2018/07/09
0
0
MySQL的主从复制介绍及配置

1.MySQL主从复制介绍 MySQL数据库支持单向、双向、链式级联、环状等不同业务场景的复制。在复制过程中,一台服务器充当主服务器(Master),接收来自用户的内容更新,而一个或多个其他的服务...

10pcm
2018/06/26
0
0
MYSQL主从复制配置

下载免安装MYSQL版本,这里以5.5.50版本为例,配置一主两从MYSQL服务 2. 解压复制三份,分别命名为 3. 创建my.ini配置文件,配置Master数据库 3. 创建my.ini配置文件,配置Slave 1数据库 4....

我想去看一看大海
2016/07/03
36
0

没有更多内容

加载失败,请刷新页面

加载更多

android 事件分发

记录下对Android事件分发的理解: 如果a作为viewgroup,b作为view,b包含在a中。事件会先传递到viewgroup中,既a。然后a会进行事件分发给子view。事件分发的方法中,会有个判断,是否要分发给...

醉雨
22分钟前
0
0
今天的学习

今天学到了 get和post传参: Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示 Post传输的数据量大,理论上是无限大,而Get方法由于受到URL长度的限制,只能传递大约1024字节 ...

墨冥
28分钟前
0
0
输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。

public class Solution { private ArrayList<ArrayList<Integer>> listAll = new ArrayList<ArrayList<Integer>>(); ArrayList<ArrayList<Integer>> all= new ArrayList<ArrayList<Integer>>......

南桥北木
30分钟前
1
0
使用lombok编写优雅的Bean对象

使用java编写代码,十之八九都是在写java类,从而构建java对象。lombok之前也说了不少,但使用了这么多年,感觉还是有很多技巧可以使用的。 毫无疑问,使用lombok,编写的java代码很优雅,而...

polly
31分钟前
0
0
表现与数据分离、web语义化的理解

表现与数据分离 什么是表现与数据分离? “分离”说的是两方面: 第一方面是前端与后台分离,所有数据都是后台通过AJAX发送给前端,前端处理数据展现页面,不需要后台在页面中插入变量。 第二...

祖达
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部