文档章节

MySQL主从复制配置

文森特梵高
 文森特梵高
发布于 2015/08/17 12:03
字数 632
阅读 65
收藏 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)灾难恢复,将一台从服务器部署到远端,能防火防震防盗防水灾。


© 著作权归作者所有

共有 人打赏支持
文森特梵高
粉丝 2
博文 28
码字总数 15386
作品 0
广州
程序员
Mysql主从复制以及常见错误问题分析

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

技术小疯子
01/22
0
0
MySQL的主从复制介绍及配置

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

10pcm
06/26
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
07/09
0
0
MySQL架构的优化

mysql的复制: mysql的二进制日志:记录了所有对MySQL数据库的数据增删查改和对表和数据库的修改 binlog命令行的工具进行查看 二进制日志格式:

Panda_Jerry
2017/11/12
0
0
Mysql主从复制

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

657188918
2017/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Bash各类扩展详解

Bash各类扩展详解 Bash中主要包括大括号扩展、波浪号扩展、变量扩展、子命令扩展、文件名扩展和算数扩展。这些扩展组合在一起为Bash带来了极大的易用性。掌握这些扩展的用法和功能,能够为B...

小陶小陶
今天
1
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
5
0
OpenCV图像处理实例:libuv+cvui显示摄像头视频

#include <iostream>#include <opencv2/opencv.hpp>#define CVUI_IMPLEMENTATION#include <cvui.h>extern "C"{#include <uv.h>}using namespace std;#define WINDOW_NAM......

IOTService
今天
3
0
openJDK之JDK9的String

1.openJDK8的String 先来看下openJDK8的String的底层,如下图1.1所示: 图1.1 底层上使用的是char[],即char数组 每个char占16个bit,Character.SIZE的值是16。 2.openJDK9中的String 图2.1...

克虏伯
今天
3
0
UEFI 模式下如何安装 Ubuntu 16.04

作者:知乎用户 链接:https://www.zhihu.com/question/52092661/answer/259583475 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 针对UEFI模式下安装U...

寻知者
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部