(详细简单成功版本)Mysql主从复制

2023-11-03

博主不易,如果有帮助点个赞加个关注再走啊家人们

目录

介绍

配置-前置条件

大坑:如果两份mysql文件都是复制的一份,那么就修改其中一份的uuid,要不后续配置不成功

配置-主库Master

1.修改Mysql数据库的配置文件my.ini

2.重启mysql,并登陆mysql

3.创建可以主从中复制的权限账号

4.执行下面SQL,记录下结果中File和Position的值

配置-从库Slave

1.修改Mysql数据库的配置文件my.ini

2.重启mysql,并登陆mysql

3.配置连接主数据库

4.启动连接 

5.查看连接

6.Slave_IO_Running: No 解决方法

7.如果6还没解决,那就看看你的主数据库的服务器是不是能连接的上 

1.可能网络原因

2.如果是阿里云啦啥的服务器看看3306端口有没有放开

3.可能被主数据库所在的服务器被放防火墙拦了,关掉防火墙


介绍

MysSQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台AysQL数据库(slave,即从库)从另一台MysQL数据库(master,即主库)进行日志的复制然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL主从复制是MysQL数据库自带功能,无需借助第三方工具。

MysQL复制过程分成三步:

  • master将改变记录到二进制日志( binary log)
  • slave将master的binary log拷贝到它的中继日志(relay log)
  • slave重做中继日志中的事件,将改变应用到自己的数据库中

配置-前置条件

提前准备好两台服务器,分别安装Mysql并启动服务成功

如果配置的mysql中没有my.ini文件

下方链接可以配置

 (简单成功版本)Mysql配置my.ini文件__揽的博客-CSDN博客

(简单成功版本)Mysql配置my.ini文件__揽的博客-CSDN博客

大坑:如果两份mysql文件都是复制的一份,那么就修改其中一份的uuid,要不后续配置不成功

主从两台数据库的UUID相同了,即data目录下的 auto.cnf 中的 server-uuid值相同了找个字母随便改一下就行 比如把 9改成8 ,重启数据库

uuid在这个文件夹里面

 

注意:克隆的需要修改数据库的uuid

配置-主库Master

1.修改Mysql数据库的配置文件my.ini

在my.ini文件下面的[mysqld]的下面配置如下

[mysqld]
log-bin=mysql-bin #[必须]启用二进制日志
server-id=100 #[必须]服务器唯一ID

2.重启mysql,并登陆mysql

net stop mysql//关闭mysql
net start mysql//打开mysql
mysql -u root -p//登陆mysql

3.创建可以主从中复制的权限账号

CREATE USER '用户名' IDENTIFIED WITH 'mysql_native_password' BY '密码';//第一步
GRANT REPLICATION SLAVE ON *.* TO '用户名';//第二步
flush privileges;//第三步刷新立刻生效

4.执行下面SQL,记录下结果中File和Position的值

show master status;

File和Position后续副数据库连接的时候用到

OK,到这里主数据库就别动了,因为操作可能会影响上图中的Position的值

配置-从库Slave

1.修改Mysql数据库的配置文件my.ini

在my.ini文件下面的[mysqld]的下面配置如下

注意:这里的server-id不能与主数据的id相等

[mysqld]
server-id=101 #[必须]服务器唯一ID

2.重启mysql,并登陆mysql

net stop mysql//关闭mysql
net start mysql//打开mysql
mysql -u root -p//登陆mysql

3.配置连接主数据库

执行下面命令

change master to master_host='主数据库地址',master_user='主数据创建的权限账号',master_password='密码',master_log_file='主数据里面的File',master_log_pos=主数据库里面的Position;

例子

change master to master_host='101.201.110.183',master_user='wang1',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=441;

红字都是主数据执行完最后一步显示的东西

4.启动连接 

start slave;

5.查看连接

show slave status\G;

 这两个都是YES就是配置成功了,可以试着操作主数据库,然后刷新副数据库测试效果

6.Slave_IO_Running: No 解决方法

你看看这里

大坑:如果两份mysql文件都是复制的一份,那么就修改其中一份的uuid,要不后续配置不成功

主从两台数据库的UUID相同了,即data目录下的 auto.cnf 中的 server-uuid值相同了找个字母随便改一下就行 比如把 9改成8 ,重启数据库

uuid在这个文件夹里面

7.如果6还没解决,那就看看你的主数据库的服务器是不是能连接的上 

1.可能网络原因

2.如果是阿里云啦啥的服务器看看3306端口有没有放开

3.可能被主数据库所在的服务器被放防火墙拦了,关掉防火墙

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(详细简单成功版本)Mysql主从复制 的相关文章

  • 无法实例化接收器 com.parse.GcmBroadcastReceiver

    我正在编写一个使用 GCM 通知和解析推送的离子应用程序 这个应用程序正在使用这些插件 com ionic keyboard 1 0 3 Keyboard com phonegap plugins PushPlugin 2 4 0 Push
  • 如何识别 Java 中的不可变对象

    在我的代码中 我正在创建一个对象集合 这些对象将由各种线程以只有在对象不可变的情况下才安全的方式访问 当尝试将新对象插入到我的集合中时 我想测试它是否是不可变的 如果不是 我将抛出异常 我能做的一件事是检查一些众所周知的不可变类型 priv
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • 慢速自动增量重置

    我有很多表 由于某些原因 我需要在应用程序启动时调整这些表的自动增量值 我尝试这样做 mysql gt select max id from item max id 97972232 1 row in set 0 05 sec mysql
  • 从关卡堆栈中获取相对比例的数学

    为这个可怕的标题道歉 我花了 10 分钟试图用一句话来解释这一点 但失败了 虽然提示这个问题的应用程序是用Java Android 编写的 但我认为它非常通用并且适用于任何语言 欢迎使用伪代码 或简单的英语 回复 我不确定是否应该标记所有通
  • BlackBerry SQLite:将一个 SQLite 数据库连接到另一个

    我正在尝试使用 SQLite 将一个 SQLite 数据库附加到 BlackBerry 上的另一个数据库附加数据库 http www sqlite org lang attach html命令 Database d1 d2 Statemen
  • 从 sbt 程序集运行 uber jar 会导致错误:无法找到或加载主类

    我有一个使用 sbt 程序集插件打包为 uber jar 的 Spark 作业 这build sbt指定一个可运行的 main 作为生成的 uber jar 的目标 mainClass in assembly Some com foo Ba
  • 打印 jasper 文件时执行报表 SQL 语句时出错

    我修改了一个旧项目 但无法确定这段代码有什么问题 使用下面的 jrxml它创造 jasper文件 当我打印 jasper 文件时 使用此代码JasperPrint jasperPrint JasperFillManager fillRepo
  • 在 eclipse 之外将 Spring MVC 应用程序部署到 tomcat 的幕后会发生什么?

    我猜想使用像 eclipse 这样很棒的 IDE 的一个缺点是你会忽略应用程序幕后发生的事情 我是一名 Ruby 开发人员 所以不是一名 Java 老手 所以我一直在用 java 编写一个项目 并使用 spring 框架进行 IOC 和 M
  • 如何通过子 POJO 的属性过滤复合 ManyToMany POJO?

    我有两个像这样的房间实体 Entity public class Teacher implements Serializable PrimaryKey autoGenerate true public int id ColumnInfo n
  • mysql 中的二进制、十六进制和八进制值

    我对在 mysql 数据库中使用二进制 十六进制和八进制系统非常感兴趣 首先 请给我一个建议 为什么我们在存储信息时需要它们 因为信息太多 或者为什么 另外 哪种类型的值必须存储在标记系统中 另外这里还有像 这是例子 gt SELECT 5
  • 在 jQuery AJAX 成功中从 MySql 获取特定响应

    好吧 我有这个 ajax 代码 它将在 Success 块中返回 MySql 的结果 ajax type POST url index php success function data alert data My Query sql SE
  • 我们可以有虚假中断吗?

    我正在创建一个任务轮询器 每分钟都会查找任务 它看起来像这样 public class Poller private final ExecutorService e Executors newSingleThreadExecutor pub
  • scala中的协变类型参数需要在java接口中保持不变

    我有一个看起来像这样的特征 一些进一步的信息可以在我自己提出了这个相关问题 https stackoverflow com questions 3695990 inheritance and automatic type conversio
  • Selenium - 等待网络流量

    我们将 Selenium 与 Java API 和一些 Javascript 用户扩展一起使用 我们在应用程序中使用了大量 AJAX 调用 我们的许多测试随机失败 因为有时 AJAX 调用完成得比其他时候慢 因此页面未完全加载 我们通过等待
  • H2 - (相当)长的 INSERT 失败,错误 42000

    H2 内存中 插入 错误 42000 尝试过版本 1 4 196 1 4 197 1 4 199 我还尝试在 H2 服务器 本地 上执行 INSERT 也失败 给出错误的行 抱歉 但出于安全原因 我无法生成更多 INSERT INTO tb
  • 如果抛出RuntimeException,是否可以将其作为异常捕获?

    如果我有一个try抛出一个块RuntimException子类 可以是后续的catch块将其捕获为Exception 具体来说 public class MyAppException extends RuntimeException In
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • 将带有 webapp 的 WAR 部署到 Maven 中央存储库是否有意义?

    这样做有意义吗 如果是 我在哪里可以找到使用简单的 Web Hello World 执行此操作的示例 当人们从 Maven 执行 Web 应用程序时 他们会使用 Jetty 来运行它吗 我想 tomcat 太重了 任何帮助将不胜感激 谢谢
  • 我找不到 IntelliJ 快捷方式

    我使用 vim 一段时间 我知道有一个 intellij vim 插件 我很好奇内置的 IntelliJ 文本导航存在什么 如何打开实时模板来创建模板 如何查看以 tr 开头的现有模板列表 如何进行全局搜索并在当前文档中进行搜索 然后转到下

随机推荐

  • C语言程序设计大作业——员工管理系统(代码超详细内含实验报告)

    写在前面 欢迎来到 发奋的小张 的博客 我是小张 一名普通的在校大学生 在学习之余 用博客来记录我学习过程中的点点滴滴 也希望我的博客能够更给同样热爱学习热爱技术的你们带来收获 希望大家多多关照 我们一起成长一起进步 也希望大家多多支持我鸭
  • 基于BP神经网络的回归预测

    基本概念 误差反向传播神经网络简称为BP Back Propagation 网络 它是一种具有三层或三层以上的多层神经网络 每一层都由若干个神经元组成 如图所示为一个BP神经网络的结构图 它的左 右各层之间各个神经元实现全连接 即左层的每一
  • LINUX下搭建JAVA的开发环境

    1 Linux下JDK的安装 至于下载JDK的二进制可执行文件 这里就不讲了 大家直接到官方网去下载就可以了 1 我下载下来的JDK安装文件名称为 jdk 1 5 0 14 linux i586 rpm bin 我把它保存在 tools目录
  • el search 条件更新

    from elasticsearch import Elasticsearch es Elasticsearch 192 168 55 90 9200 updateBody query bool must wildcard fileName
  • esxi管理端口_VMWare Esxi 基于NAT的管理端口转发

    上一篇关于WMWare Esxi的文章介绍了在多台虚拟机之间用软路由共享一个IP的情况 VMWare Esxi 海蜘蛛配置NAT共享IP上网 其中用了两个IP 一个用于虚拟机上网 一个用于Management Network 但是在只有一个
  • R语言 数据导出和导入 csv tsv xls xlsx

    R语言 Excel 导出为Excel的xls xlsx 导出数据 write table data2 file train1 xls sep t row names TRUE col names TRUE quote TRUE write
  • Promise的理解和使用

    一 Promise 是什么 1 理解 Promise是一门新的技术 ES6规范 Promise是JS中进行异步编程的新解决方案 旧方案是使用回调函数 Promise是一个构造函数 Promise对象用来封装一个异步操作并可以获取其成功 失败
  • 使用 Docker 部署 Prometheus + Grafana 监控平台

    使用 Docker 部署 Prometheus Grafana 监控平台 默认docker 已经安装好 我使用的是CentOS7 注意一定要开启服务器对应的端口 1 安装Prometheus docker run itd name prom
  • Windows虚拟机激活

    打开cmd命令提示符 首先连接kms服务器 slmgr skms skms netnr eu org 接着输入对应系统版本的产品密钥 xxxxx xxxxx xxxxx xxxxx xxxxx slmgr ipk xxxxx xxxxx x
  • 【DEBUG】MoviePy couldn't find the codec associated with the filename.Provide the 'codec' parameter

    问题描述 ValueError MoviePy couldn t find the codec associated with the filename Provide the codec parameter in write videof
  • __weak详解

    object默认的修饰符是 strong 然而在开发中我们也经常使用 weak 用它来解决循环引用的问题 两个对象相互引用无法释放 造成内存泄露 用 weak来破坏一个强引用 来达到正常释放的目的 这种情况常见于block中 但是有没有想过
  • linux驱动面试题2018

    linux驱动面试题2018 面试题整理 含答案 版权声明 本文为博主原创文章 未经博主允许不得转载 转载请标明原址 https blog csdn net kai zone article details 82021233 前言 这篇文章
  • Camera:高斯模糊

    高斯模糊场景 手机相机不同于工业相机以及车载相机 手机相机的模式切换往往会伴随着预览分辨率的改变 而分辨率的切换伴随手机App gt Framework gt HAL gt Drivel一层层的下发上传 所造成的时间延迟已经带来了不可忽略的
  • Elasticsearch数据刷新策略RefreshPolicy简述

    说明 默认情况下ElasticSearch索引的refresh interval为1秒 这意味着数据写1秒才就可以被搜索到 每次索引refresh会产生一个新的 lucene 段 这会导致频繁的 segment merge 行为 对系统 C
  • node入门(一)bcrypt密码加密和验证

    前言 node js越来越被广泛的使用 现在找工作职位要求上大都写熟悉或了解一门后端 语言 如 java php node等 Node js是一个javascript运行环境 它让javascript可以开发后端程序 实现几乎其他后端语言实
  • 一道智力题--三个运动员参加M个项目,在每一项目中,第一,第二,第三名分别得X,Y,Z分

    题目 有一种体育竞赛共含M个项目 有运动员A B C三人参加 在每一项目中 第一 第二 第三名分别得X Y Z分 其中X Y Z为正整数且X gt Y gt Z 最后A得22分 B与C均得9分 B在百米赛中取得第一 1 求M的值 2 在跳高
  • 使用excel将一个数字随机分摊?

    在Excel中 如何把一个数值随机分配到N个单元格内 分配后每个单元格的数值之和等于这个数值 比如这里我们需要在A1 A10区域中随机输入数字 其实结果等于10000 这里我们可以选中区域 然后输入公式 FREQUENCY ROW 1 10
  • python代码,用于获取mp3部分信息并存入MySQL中

    a1 a2 a3 a4参数需要自己输 host a1 user a2 password a3 database a4 import os import base64 import struct import pymysql 这是python
  • 在github上创建个人主页的方法【2023更新版】

    01 进入github的网站 链接 https github com 然后注册 登陆 注意登陆时设置的用户名 username 就是将来你个人主页的三级域名 所以这里一定要慎重填写username 如下图所示 02 注册完成后进入个人主页如
  • (详细简单成功版本)Mysql主从复制

    博主不易 如果有帮助点个赞加个关注再走啊家人们 目录 介绍 配置 前置条件 大坑 如果两份mysql文件都是复制的一份 那么就修改其中一份的uuid 要不后续配置不成功 配置 主库Master 1 修改Mysql数据库的配置文件my ini