1.为什么要搭建主从数据库

(1)通过增加从库实现读写分离,提高系统负载能力

(2)将从库作为数据库备份库,实现数据热备份,为数据恢复提供机会

(3)根据业务将不同服务部署在不同机器同时又共享相同的数据

2.主从数据库原理分析

主从数据库同步流程

步骤一:主库开启binlog日志后,会启动dump将数据数据变化写入binlog

步骤二:从库开启slave参数后,会与主库建立一个连接

步骤三:主库数据变化是dump线程会将变化的数据写入binlog中并将数据通过步骤二建立的连接写到从库中

步骤四:从库接收到主库发送的binlog内容后将内容写入relay log

步骤五:创建一个SQL线程从relay log读取数据写入到数据库中

3.搭建流程

以contes7系统,5.7.29版本的数据库为例

(1)安装完数据库之后找到主库mysql服务的配置文件my.cnf,一般默认在/etc/目录下

(2)在配置文件中的[mysqld]下增加以下两行,server-id为mysql服务唯一id,不用mysql服务不能重复,log-bin=mysql-bin为生成binlog的文件目录和文件名,也可写成log-bin=/自定义目录/mysql-bin

server-id=1
log-bin=mysql-bin

(3)mysql会话输入show master status;

(4)修改从库mysql服务配置文件,增加以下一行配置

server-id=2

(5)在主库会话中创建从库同步数据的账号并刷新权限,赋予slave权限到用户名为“slave”的账户上,“%”表示不限制ip,密码为“123456”

grant replication slave on *.* to 'slave'@'%' identified by '123456';
flush privileges;

(6)从库mysql会话设置要连接的主库的相关信息,设置参数与show master status查询出来的数据对应上即可

change master to master_host='192.168.168.243',master_user='slave',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=8378;

(7)从库开启同步功能

start slave;

(8)查看从库状态show slave status; 可以看到Slave_IO_Running和Slave_SQL_Running两个线程已启动

MySQL主从数据库配置与原理的更多相关文章

  1. MySQL主从数据库配置

    使用工具 MySQL数据版本:5.6.36-log. 两台云服务器(Linux系统) 首先,需要在Linux系统下安装MySQL,具体步骤可以参考这里,并且确保两台主机可以相互访问,可以直接ping一 ...

  2. MySQL主从数据库同步延迟问题解决(转)

    最近在做MySQL主从数据库同步测试,发现了一些问题,其中主从同步延迟问题是其中之一,下面内容是从网上找到的一些讲解,记录下来以便自己学习: MySQL的主从同步是一个很成熟的架构,优点为:①在从服务 ...

  3. MySQL主从备份配置实例

    转载自:https://www.cnblogs.com/ahaii/p/6307648.html MySQL主从备份配置实例 场景: 1.主服务器192.168.0.225.从服务器192.168.0 ...

  4. Mysql主从安装配置

    Mysql主从安装配置   环境: 主从服务器上的MySQL数据库版本同为5.1.34 主机IP:192.168.0.1 从机IP:192.168.0.2  一. MySQL主服务器配置 1.编辑配置 ...

  5. mysql主从同步配置(windows环境)

    mysql主从同步配置(mysql5.5,windows环境)   A主机(作为主服务器)环境:windows8.mysql5.5 ip:192.168.1.100(自己填) B主机(作为从服务器,由 ...

  6. Docker Mysql主从同步配置搭建

    Docker Mysql主从同步配置搭建 建立目录 在虚拟机中建立目录,例如路径/home/mysql/master/data,目录结构如下: Linux中 新建文件夹命令:mkdir 文件夹名 返回 ...

  7. Mysql 主从数据库

    MYSQL主从数据库同步备份配置 一.准备 用两台服务器做测试: Master Server: 172.16.0.180/Linux/MYSQL 5.1.41 Slave Server: 172.16 ...

  8. Windows系统环境下创建mysql主从数据库方法(双向主从复制)

    创建mysql主从数据库方法(双向主从复制) (一)Windows系统下的MySQL主从复制(单向复制) (1)环境说明: 1,Mysql版本:mysql5.7.20(主从机mysql版本必须一致) ...

  9. MySQL主从架构配置

    MySQL主从架构配置有两台MySQL数据库服务器master和slave,master为主服务器,slave为从服务器,初始状态时,master和slave中的数据信息相同,当master中的数据发 ...

随机推荐

  1. python 基本知识

    1.windows下Spyder中快捷键 块注释/块反注释 Ctrl + 4/5 断点设置 F12 关闭所有 Ctrl + Shift + W 代码完成 Ctrl +空格键 条件断点 SHIFT + ...

  2. 【3D】PoseCNN姿态检测网络复现过程记录

    最近在研究室内6D姿态检测相关问题,计划在PoseCNN网络基础上进行改进实现.但是在第一步的复现过程中踩了无数的坑,最终成功运行了demo,但目前数据集train还是遇到了一些问题.有问题欢迎一起交 ...

  3. 「MoreThanJava」计算机发展史—从织布机到IBM

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  4. MYSQL-----------实验一 MySQL的安装与命令初步

    (1)启动MySQL,并打开任务管理器查看服务进程是否已经启动.   (2) 进入Windows命令行,使用命令登录MySQL服务器.   (3) 使用show命令查看当前系统的字符集,并修改其中的两 ...

  5. Func 和 Action 委托

    有了泛型委托,就有了一能适用于任何返回类型和任意参数(类型和合理的个数)的通用委托,Func 和 Action.如下所示(下面的in表示参数,out表示返回结果): delegate TResult ...

  6. .NET Core项目部署到Linux(Centos7)(五)Centos 7安装.NET Core环境

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  7. Shell:Day06.笔记

    sed命令 Linux文本处理三剑客 之 sed sed stream EDite  作为行编辑器,对文本进行编辑(以行为单位进行编辑)  注意:sed编辑文件,却不改变原文件:  sed的工作原理: ...

  8. C语言 加密解密

    加密解密算法,对于一个未接触加密的人来说,这听起来是多么可望而不可及,但是只要我们理解了加密的本质,对于它就没那么陌生了,更难的是加密的算法,而不是加密这个术语上! 我们知道,文本文件是以ascii码 ...

  9. ensp的基础路由命令,接口,下一跳的配置,入门必备

    关于ensp入门事情,第一件事当是安装必备三件套:而后,应该是接触路由和PC机了,最烦人满屏代码,眼花缭乱: 今天写一篇零基础接触ensp的首次操作,PC-路由-路由-PC的互通实验: 实验要拉出两台 ...

  10. 《闲扯Redis四》List数据类型底层编码转换

    一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...