MySQL主从环境搭建

news2024/11/15 10:58:31

MySQL主从环境搭建

主机MySQL配置

  1. 修改主机配置文件
vim /etc/my.cnf

主要是在my.cnf配置文件中增加以下内容:

#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库
binlog-do-db=TESTDB
#设置logbin格式
binlog_format=STATEMENT
  1. 创建用于从机复制时连接主机的账号以及设置权限
    这里创建的账号后面从机连接时会用到

在主机中打开mysql命令行,执行下面的命令,创建从机连接主机的账号以及设置权限。

slave是用户名称;192.168.200.225是登录域名,这里是从机的ip;123123是登录密码

create user 'slave'@'192.168.200.225' identified by '123123'; 

设置权限,这里给了这个账号所有的权限。

grant all privileges on *.* to 'slave'@'192.168.200.225' with grant option; 

通过下面的命令查看账号拥有的权限

show grants for 'slave'@'192.168.200.225';

在这里插入图片描述

  1. 查看主机的状态
 show master status;

这里的File和Position字段的值等下从机连接主机时需要用到。 需要注意的是,重启MySQL服务后这两个值可能会发生变化。
在这里插入图片描述

从机MySQL配置

  1. 在从机的my.cnf配置文件中加入以下内容
#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay

需要注意的是,修改配置文件后重启才会生效。

  1. 在从机上配置主机

MASTER_HOST是主机的ip;MASTER_LOG_FILE是前面使用show master status展示出来的值,MASTER_LOG_POS也是一样的。

CHANGE MASTER TO MASTER_HOST='192.168.200.215',
MASTER_USER='slave',
MASTER_PASSWORD='123123',
MASTER_LOG_FILE='mysql-bin.000013',MASTER_LOG_POS=120;

在这里插入图片描述

  1. 启动从机
#启动从机
start slave;

#停止从机
stop slave;
  1. 查看从机的状态
 show slave status\G;

当下图中的Slave_IO_Running和Slave_SQL_Running都是Yes就说明主从配置成功。
在这里插入图片描述

我这里Slave_IO_Running一开始是Connecting状态,原因在于主机中创建的slave账号权限没有给。其它可能的原因是主机和从机的防火墙开着,所以连接不上;或者端口未开放。详细信息可以查看错误日志。

测试主从配置

在主机中创建TESTDB数据库,然后创建user表,插入一条记录;然后刷新从机的数据库,就可以看到从机同步了TESTDB数据以及表中的记录。

主机
在这里插入图片描述

从机
在这里插入图片描述
可以看到从机同步了主机的数据。

参考

  1. mysql8.0数据库添加用户和授权
  2. linux服务器上查看mysql日志文件位置
  3. mysql 8.0 + Last_IO_Error: error connecting to master ‘root@XXX:3306‘ - retry …
  4. MySQL 8.0主从(Master-Slave)配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1201512.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python】二维码和条形码的识别

我主要的问题就在于无法识别图片 注意事项: 1、从文件中加载图像的时候注意图片尽量用英文来命名,因为中文无法识别到图片 2、使用绝对地址的时候要用两个双斜杠,因为用一个会被识别为Unicode 转义,但是并没有后续的合法 Unico…

联邦学习研究综述笔记

联邦学习 联邦学习的定义:联邦学习是一种分布式机器学习架构,包含多个客户端(参与者)和一个聚合服务器。客服端(参与方):在本地使用自己的私有数据训练模型,训练完成之后将模型的参…

外中断的应用

前言 软件基础操作参考这篇博客: LED数码管的静态显示与动态显示(KeilProteus)-CSDN博客https://blog.csdn.net/weixin_64066303/article/details/134101256?spm1001.2014.3001.5501实验一:P1口上接8个LED灯,在外部…

人机交互复习专题

第一章概述 1.1人机交互的概念与理解 人机交互的概念与理解 人机交互是人与机器进行交互的操作方式,即用户与机器互相传递信息的媒介。好的人机交互界面美观且通俗易懂、操作简单有引导功能,使用户感受到愉快、有兴趣,从而提升使用效率。 美…

使用Nodejs搭建简单的Web网页并实现公网访问

目录 前言 1. 安装Node.js环境 2. 创建Node.js应用 3. 安装Cpolar内网穿透实现公网访问Nodejs服务 3.1 注册cpolar账号 3.2 下载cpolar客户端 3.3 创建隧道映射本地端口 4. 固定公网远程地址 前言 Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架…

单链表(6)

删除第一个val的值(考试重点) 思路:例如删除val值为3的数据,直接让数据2的p->next指向数据4就可以了。 所以删除必须依赖前驱。也就是要写删除函数,则先要完成返回key的前驱地址的函数 也就是先知道前驱地址&#…

代码随想录第五十一天 | 动态规划 买卖股票:含冷冻期 的多状态 买卖股票问题(309);包含手续费 的买卖股票问题(贪心,动态规划)(714)

1、含冷冻期 的多状态 买卖股票问题 1.1 leetcode 309:最佳买卖股票时机含冷冻期 第一遍代码 运用之前二维dp数组的方法,第二个维度大小为2,对应持有,不持有 dp[1][0] max(dp[0][0], -prices[1]);注意要考虑只有一天的情况 dp[…

Python---字典的增、删、改、查操作

字典的增操作 基本语法: 字典名称[key] value 注:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。 案例:定义一个空字典,然后添加name、age以及address这样的3个key # 1、定义一个空字典 person {…

阿里云国际站:密钥管理服务

文章目录 一、密钥管理服务的概念 二、密钥管理服务的功能 三、密钥管理服务的优势 一、密钥管理服务的概念 密钥管理服务KMS(Key Management Service)是您的一站式密钥管理和数据加密服务平台、一站式凭据安全管理平台,提供简单、可靠、…

creo之混合和扫描混合

案例一:杯子 步骤: 在top平面画一个草图圆角矩形: 然后形状–》混合 然后绘制新增的截面2: 用中心线将圆分割成八分,因为底部的圆角矩形是八份线段组成,所以我们要和他一样分成八份:先画中心线…

深入理解对象存储(OSD)

对象存储 1、对象存储的起源2、什么是对象存储3、对象存储与块存储、文件存储4、对象存储架构4.1、对象(Object)4.2、对象存储设备(OSD)4.3、元数据服务器(MDS)4.4、对象存储系统的客户端(Clien…

链表的逆置

方法1: 依次将指针反向,最后令头指针指向尾元素。 逆置过程如下: 当q指针为空时,循环结束。 //试写一算法,对单链表实现就地逆置, void Reverse1(List plist)//太复杂,不用掌握 {assert(plist ! NULL);i…

【计算机网络笔记】IP编址与有类IP地址

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

实验一 Anaconda安装和使用(上机Python程序设计实验指导书)

实验一 Anaconda安装和使用 一、实验目的和要求 (一)掌握Windows下Anaconda的安装和配置。 (二)掌握Windows下Anaconda的简单使用,包括IDLE、Jupyter Notebook、Spyder工具的使用。 (三)掌…

05-Spring中Bean的生命周期

Bean的生命周期 生命周期就是对象从创建开始到最终销毁的整个过程 , Spring其实就是一个管理Bean对象的工厂,它负责对象的创建和销毁等 Bean生命周期的管理可以参考Spring的源码:AbstractAutowireCapableBeanFactory类的doCreateBean()方法 研究生命周期的意义&am…

2023最新版本 从零基础入门C++与QT(学习笔记) -1- C++输入与输出

🎏说在前面 🎈我预计是使用两个月的时间玩转C与QT 🎈所以这是一篇学习笔记 🎈根据学习的效率可能提前完成学习,加油!!! 输入(代码如下方代码块) 🎄分析一下构成 🎈…

【可解释AI】Alibi explain: 解释机器学习模型的算法

Alibi explain: 解释机器学习模型的算法 可解释人工智能简介Alibi特点算法Library设计展望参考资料 今天介绍Alibi Explain,一个开源Python库,用于解释机器学习模型的预测(https://github.com/SeldonIO/alibi)。该库具有最先进的分类和回归模型可解释性算…

springboot项目基本配置

接口入口日志 参数校验 业务逻辑执行 异常捕获-统一异常处理 统一数据返回体 接口返回日志 使用的是springboot2.x版本。 Mybatisplus 官网地址&#xff1a;https://baomidou.com/ 导入依赖 <dependency><groupId>com.baomidou</groupId><artifactId&g…

【Opencv】cv::dnn::NMSBoxes()函数详解

本文通过原理和示例对cv::dnn::NMSBoxes&#xff08;&#xff09;进行解读&#xff0c;帮助大家理解和使用。 原理 cv::dnn::NMSBoxes是OpenCV库中的一个函数&#xff0c;用于在目标检测中处理多个预测框。在目标检测中&#xff0c;模型可能会为同一个物体生成多个预测框&…

Web开发:一键复制到剪切板功能实现思路

在很多网页页面中我们都使用到过一键复制内容到剪切板的小功能&#xff0c;那么&#xff0c;具体如何实现呢&#xff1f;下面来讲述基于原生JavaScript API的两种实现思路。 同步方式&#xff1a;document.execCommand 这种方式&#xff1a; ①优点&#xff1a;是最传统的方法…