返回顶部
首页 > 资讯 > 数据库 >MySQL 的主从复制(高级篇)
  • 709
分享到

MySQL 的主从复制(高级篇)

MySQL的主从复制(高级篇) 2016-04-17 04:04:54 709人浏览 绘本
摘要

首先要明白为什么要用 Mysql 的主从复制: 1–在从服务器可以执行查询工作 (即我们常说的读功能),降低主服务器压力;(主库写,从库读,降压) 2–在从主服务器进行备份,避免备份期间影响主服务器服务;(确保数据安全) 3–当主

MySQL 的主从复制(高级篇)

首先要明白为什么要用 Mysql 的主从复制:

1–在从服务器可以执行查询工作 (即我们常说的读功能),降低主服务器压力;(主库写,从库读,降压)

2–在从主服务器进行备份,避免备份期间影响主服务器服务;(确保数据安全

3–当主服务器出现问题时,可以切换到从服务器。(提升性能)

来说一下主从复制的实现原理

 

 

 

mysql 复制过程分为三步(如上图所示):

mster 将改变记录到二进制日志 (binary log) 当中 这些记录过程叫做二进制日志事件 binary log events;

slave 将 master 的 binary log events 拷贝到它的中继日志 (relay log) 当中;

slave 重做中继日志中的事件 将改变应用到自己的数据库当中 mysql 复制是异步的且串行化的 3.slave 重做中继日志中的事件 将改变应用到自己的数据库当中 mysql 复制是异步的且串行化的

复制的最大问题:

从主机复制数据达到从机可能会有延时!

都说 master 主机和 slave 从机的 mysql 版本号要一致 我就没一致

master 主机上是 5.6 slave 从机上是 5.7 一样搞

拿过来一台服务器你不得先找 mysql 吗?mysql 在哪里 配置文件在哪里?

执行命令:

which mysql
/usr/bin/mysql --verbose --help | grep -A 1 "Default options"

结果如图所示:

 

先去找 /etc/my.cnf 再去找 /etc/mysql/my.cnf 然后就是后边

我的是在 /etc/my.cnf

修改 my.cnf 配置文件如下:

 

重启 mysql 服务器执行命令:

service mysqld restart;

解释:

server-id=1 // 复制组中的每台服务器都要配置唯一的 Server ID,取值范围是 1 到 (232)−1,你自己决定取值

log-bin=master-bin // 日志文件名以 “master-bin” 作为前缀

binlog-do-db=finance_online // 要同步的 finance_online 数据库

如要同步多个数据库,就多加几个 replicate-db-db = 数据库名

binlog-ignore-db=mysql // 要忽略的数据库

read-only // 主机 读写都可以 (必须)

登录上 mysql 然后执行:

show master status;

结果如下:

 

记住里面的 File 和 Position 的值 待会会用到!

在主数据中创建一个同步账号(可不创建使用现有的),如果仅仅为了主从复制创建账号,只需要授予 REPLICATION SLAVE 权限

创建一个账号,账号:zcfz 密码: 123456

这个账号是专门用来搞主从复制用的哈

上述 主服务器配置完成

slave 从服务器配置开始:

 

重启 mysql 服务器:

service mysqld restart;

进入到 slave 从机的 mysql 命令行执行命令:

stop  slave;

 

CHANGE MASTER TO MASTER_HOST="10.10.20.120",
MASTER_USER="zcfz",
MASTER_PASSWord="123456",
MASTER_LOG_FILE="master-bin.000005",
MASTER_LOG_POS=3878614;

解释:

MASTER_HOST 就是 master 主服务器的 ip

MASTER_USER 就是 master 主服务器里面的专门复制复制的用户 zcfz

MASTER_PASSWORD 就是 zcfz 账户的密码

MASTER_LOG_FILE 就是我们上边让您保存的 file 对应的值

MASTER_LOG_POS 就是我们上边让您保存的 Position 的值

然后执行命令:

show slave statusG

结果如图所示:

 

wating for master to send evnet 说明已经在待命状态了

另外必须注意的是 slave_io_runing 以及 slave_sql_runing 都同时必须为 yes 才行!!!

截止到此刻说明主从复制的道路打通了!

然后执行命令:

start slave;

验证阶段:

执行命令创建数据库:

CREATE DATABASE finance_online DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

这个时候 master 和 slave 上都有了数据库

然后你再导入数据到 master 主机上的 finance_online 那么 slave 从机上也就有了然后你再导入数据到 master 主机上的 finance_online 那么 slave 从机上也就有了

 

另外如果你不想复制这个库了 想换一个

那么去修改 master 主机上的 my.cnf 当中的 binlog-do-db=tprbac 然后重启 mysql 服务

然后 show master status 看看 file 和 positon

然后再去 linux 服务器上停止 slave 在 mysql 当中执行 stop slave;

然后再执行:

CHANGE MASTER TO MASTER_HOST=’10.10.20.120’,

MASTER_USER=’zcfz’,

MASTER_PASSWORD=’123456’,

MASTER_LOG_FILE=‘你看到的 file’,

MASTER_LOG_POS = 你看到的 positon;

然后在 start slave;

就完事了!

这样就会主从复制你想要复制的数据库了!!!

    • PHP高级开发工程师简历打造,祝你金三银四跳槽加薪

 

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 的主从复制(高级篇)

本文链接: https://lsjlt.com/news/5586.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL 的主从复制(高级篇)
    首先要明白为什么要用 mysql 的主从复制: 1–在从服务器可以执行查询工作 (即我们常说的读功能),降低主服务器压力;(主库写,从库读,降压) 2–在从主服务器进行备份,避免备份期间影响主服务器服务;(确保数据安全) 3–当主...
    99+
    2016-04-17
    MySQL 的主从复制(高级篇)
  • MySQL高级篇(SQL优化、索引优化、锁机制、主从复制)
    目录 0 存储引擎介绍1 SQL性能分析2 常见通用的JOIN查询SQL执行加载顺序七种JOIN写法 3 索引介绍3.1 索引是什么3.2 索引优劣势3.3 索引分类和建索引命令语句3.4 索引结构与检索原理3.5 哪些情况适合...
    99+
    2023-08-16
    mysql sql 数据库 etl 数据库开发
  • PHP面试宝典之Mysql数据库高级篇(二)主从复制
    主从复制的原理? 主服务器写,从服务器读; 主服务器将更新语句记录到日志中,从服务器获取主服务器的日志,并写入到自己日志中,从服务器的sql线程监控从服务器日志情况,发现变化,就对日志进行解析并执行 ...
    99+
    2023-09-04
    数据库 mysql php
  • MySQL入门--MySQL复制技术之主从从级联复制
    MySQL复制技术之主从从级联复制 主数据库:192.168.12.181 上的mysqld1 中继slave:192.168.12.182上的mysqld1 级联slave:192....
    99+
    2024-04-02
  • Mysql的主从复制
    Mysql的主从复制   Mysql的主从复制,我们一般用来保证数据间的同步关系,比如有分公司,我们就需要把数据同步给千里之外的分公司,这样就很方便快捷。这个实验我们还实现了ssl安全连...
    99+
    2024-04-02
  • mysql主从复制
    一.主从复制简介 2015年5月28日11时,12小时后恢复,损失:平均每小时106.48W$ 1)高可用 2)辅助备份 3)分担负载 复制是 MySQL 的一项功能,允许服务器将更改从一个实例复制到另一个实例。 1)主服务器将所有数据和...
    99+
    2019-04-07
    mysql主从复制
  • 【MySQL】主从复制
    纸上得来终觉浅,绝知此事要躬行。 概述 复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多...
    99+
    2015-07-01
    【MySQL】主从复制
  • mysql主从复制
    两台mysql版本号为5.7以上   主库配置文件设置(注意设置在[mysqld]项中) 主库的ip地址为:192.168.1.1 server-id=1 #唯一id,主库设置1 log-bin=mysql-bin #日志记录...
    99+
    2018-10-04
    mysql主从复制 数据库入门 数据库基础教程 数据库 mysql
  • mysql 主从复制
    1, 准备二台机器或者服务器 ,保持mysq 版本一样或者版本相差不大; 主机:114.215.198.39 从机:116.62.234.228 2    新建一个数据库 我的数据库是hlqzxm; 进入主机的mysql 配置文件中修改配置...
    99+
    2021-10-15
    mysql 主从复制 数据库入门 数据库基础教程 数据库 mysql
  • mysql主从复制--一主一从
    1、启动实例3306和33072、检查主库配置[root@client 3306]# egrep  "log-bin|server|sock"  my.cnfsocket &n...
    99+
    2024-04-02
  • Mysql/Mariadb主从复制
    概念 什么是·Mysql/Mariadb主从复制?     Mysql/Mariadb主从复制:当Master(主)数据库发生变化的时候,变化实时会同步到slave(从)数据库中; 类似于:Samba共享文件(C/S)、NFS网络文件...
    99+
    2021-03-22
    Mysql/Mariadb主从复制
  • MySQL-5.5.33主从复制
    搭建主从同步需要在两个电脑上分别安装 MySQL ,我这里安装的是 CentOS6.7 64位,MySQL-5.5.33。MySQL 是二进制包安装的:http://aby028.blog.51cto.co...
    99+
    2024-04-02
  • mysql+ssl主从复制
    主从复制原理 作为主服务器Master, 会把自己的每一次改动都记录到 二进制日志 Binarylog 中。 (从服务器I/O thread会负责来读取master binary log, 然后写入自身r...
    99+
    2024-04-02
  • MySQL主从复制(二)
    主从架构中:从node是不接受w操作的,否则可能会导致数据不一致。一、复制架构中应该注意的问题: 1.限制slave为只读模式 可以设置在启动参数中。 > show global variable...
    99+
    2024-04-02
  • Mysql 主从复制GTID
    --------------------------------------------安装准备配置/etc/my.cnf主master grant 分配复制帐号从slave ...
    99+
    2024-04-02
  • Mysql之主从复制
    文章目录 一.Mysql主从复制介绍 1.Mysql主从复制原理2.Mysql的复制类型3.Mysql主从复制的工作过程 二.搭建 Mysql主从复制1.首先关闭防火墙2.Mysql主从服...
    99+
    2023-09-04
    mysql java 数据库
  • centos8 mysql 主从复制
    ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 目录 Linu...
    99+
    2023-08-31
    数据库 mysql 服务器
  • MySQL中的主从复制和高可用架构
    MySQL中的主从复制和高可用架构随着互联网应用和数据量的不断增长,数据库的高可用性和可扩展性变得越来越重要。MySQL作为一种使用广泛的开源关系型数据库,提供了主从复制和高可用架构的解决方案。主从复制是指将一个MySQL数据库实例作为主库...
    99+
    2023-10-22
    MySQL 主从复制 高可用架构
  • MySQL的主从复制、半同步复制和主主复制的概念
    本篇内容主要讲解“MySQL的主从复制、半同步复制和主主复制的概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL的主从复制、半同步复制和主主复制的概念...
    99+
    2024-04-02
  • docker下MySQL的主从复制
    MySql的主从复制 sudo docker pull MySQL:5.7 拉取MySQL的镜像文件(版本号为 5.7) sudo docker run -p 3339:3306 --name master -e MYSQL_ROOT_PA...
    99+
    2016-02-20
    docker下MySQL的主从复制
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作