Mysql80主从复制搭建;遇到问题 Slave_IO_Running: Connecting和Slave_SQL_Running以及解决过程

news2024/11/14 14:56:57

总结主要步骤

1.配置一个提供复制的账号;
创建用户

CREATE USER 'replication'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';
FLUSH PRIVILEGES;

2.修改配置 选择模式
主库配置;
windows的得话是my.ini文件
默认这个目录下
C:\ProgramData\MySQL\MySQL Server 8.0
添加如下配置 server-id log_bin 指定一下位置
binlog_format 指定主从复制模式 。当然本文不涉及GTID这样的东西;就是简单的复制.

bind-address = 0.0.0.0
server-id = 1
log_bin = D:/mysqlbin/bin/mysql-bin.log
binlog_format = ROW
expire_logs_days = 7
max_binlog_size = 100M

更改完配置是需要重启mysql的;
windows的话是需要
net stop MySQL
net start MySQL
linux 我使用的docker的话
是 docker restart mysql;

3.找一个从库
配置复制源

CHANGE MASTER TO
  MASTER_HOST='192.168.56.1',  -- 主库的IP地址
  MASTER_USER='replication',  -- 复制用户
  MASTER_PASSWORD='1942951600',  -- 复制用户的密码
  MASTER_LOG_FILE='mysql-bin.000001',  -- 从主库SHOW MASTER STATUS得到的文件名
  MASTER_LOG_POS=1808;  -- 从主库SHOW MASTER STATUS得到的位置

CHANGE MASTER TO
  MASTER_HOST='192.168.56.1',  -- 主库的IP地址
  MASTER_USER='replication',  -- 复制用户
  MASTER_PASSWORD='1942951600',  -- 复制用户的密码
  MASTER_LOG_FILE='mysql-bin.000001',  -- 从主库SHOW MASTER STATUS得到的文件名
  MASTER_LOG_POS=1808;  -- 从主库SHOW MASTER STATUS得到的位置

start slave;
就搞定了;

MASTER_LOG_FILE 这个里面的文件是自己配置里面的文件通过SHOW MASTER STATUS; 来查看位置。

一些检查状态的sql

SHOW MASTER STATUS;
SHOW SLAVE STATUS\G

  1. dump数据 然后开始测试

遇到的问题

问题1.Slave_SQL_Running
密码策略问题

这个两个数据库密码策略使用不同:一个是密码策略问题。可以通过下面sql语句来查看;
有mysql_native_password 和caching_sha2_password ;我们使用mysql_native_password 这种

修改主库

修改用户的认证插件选项,禁用安全连接要求:
sql
ALTER USER 'replication'@'%' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
FLUSH PRIVILEGES;

更改主库认证密码方式
ALTER USER 'replication'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;


### mysql数据库查看权限
use mysql;
select host, user, plugin,  authentication_string, password_expired from user;

serve-id不同

这个需要去配置里面修改 server-id = 2 主从的id不能一样。所以后面删除了mysql容器又来了一遍
重新来一遍的步骤
0. 清楚原有数据卷里面的一些数据

  1. ’停止slave
  2. 停止mysql容器
  3. .卸载mysql容器
  4. 重启mysql容器
  5. 重新配置主从节点
  6. 检查配置状态

docker stop  
docker rm

>   SHOW VARIABLES LIKE 'server_id';

docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0


docker exec -it mysql /bin/bash

 mysql -u root -p
SHOW SLAVE STATUS\G

START SLAVE;
STOP SLAVE IO_THREAD;

CHANGE MASTER TO
  MASTER_HOST='192.168.1.8',  -- 主库的IP地址
  MASTER_USER='root',  -- 复制用户
  MASTER_PASSWORD='1942951600',  -- 复制用户的密码
  MASTER_LOG_FILE='mysql-bin.000001',  -- 从主库SHOW MASTER STATUS得到的文件名
  MASTER_LOG_POS=1808;  -- 从主库SHOW MASTER STATUS得到的位置
CHANGE MASTER TO
  MASTER_HOST='192.168.56.1',  -- 主库的IP地址
  MASTER_USER='replication',  -- 复制用户
  MASTER_PASSWORD='1942951600',  -- 复制用户的密码
  MASTER_LOG_FILE='mysql-bin.000001',  -- 从主库SHOW MASTER STATUS得到的文件名
  MASTER_LOG_POS=1808;  -- 从主库SHOW MASTER STATUS得到的位置


SHOW SLAVE STATUS\G
START SLAVE;


查看中继日志位置;
[mysqld]
server-id = 2
relay-log = /var/lib/mysql/mysql-relay-bin


### 其他命令语句
更改配置后重启mysql;
docker restart mysql


查看从库mysql 日志;
tail -n 50 /var/log/mysql/mysqld.log

GRANT REPLICATION SLAVE ON *.* TO 'replication'@'192.168.1.8' IDENTIFIED BY '1942951600';
 reset slave;

问题二:

Slave_IO_Running: Connecting
主要我的是从库是docker上面来做的;可能有网段的问题;
排查过程:检查linux服务器是否能ping通我本机。添加bind-address配置。

监听一下

sudo yum install telnet
使用 telnet 测试 MySQL 端口
一旦安装了 telnet 客户端,你可以使用它来测试 MySQL 服务的端口是否开放。

telnet 192.168.1.8 3306
使用这个可以来

在主库 添加 如下代码块 方便虚拟机连接;

安装检测网络工具

yum search ifconfig
yum install net-tools
ifconfig

在这里插入图片描述

relay-log = /var/lib/mysql/mysql-relay-bin 我默认的中继日志配置在这个位置;

处理docker的网络问题 修改docker的网段 (应该和这个没关系)

重启docker
修改
/etc/docker/daemon.json,加入一行 “bip”: “192.168.56.1/24”,,然后再次查看 ifconfig,已经变成了 192 网段了

重启 docker 服务
sudo systemctl restart docker

做完处理后在虚拟机的docker里面也可以 通过mysql -u replication -p -h 192.168.56.1
这样的方式来去访问到

后来是改了从库连接主库的ip

以太网适配器 VirtualBox Host-Only Network: 使用的这个ipv4

成功截图

在这里插入图片描述
这两个标位yes即可

创建数据库

CREATE DATABASE yan
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

可以使用dump命令来备份mysql数据库。也可以使用数据库工具来完成工具的配置;来导入数据库。然后测试;

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

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

相关文章

Vue项目学习(1)

1、进入cmd命令行——> vue ui ——>等等操作 2、 3、src目录下 4、vue项目的启动 (1) (2) 5、如何更改前端vue项目的端口号?——>去vue.config.js里配置应一个对象

云端医疗解决方案:互联网医院系统的云计算架构与实现

随着云计算技术的成熟和普及,医疗行业开始探索云端解决方案,以应对数据存储、计算能力和系统扩展性等方面的挑战。互联网医院系统作为医疗信息化的重要组成部分,通过云计算架构实现了高效、灵活和可扩展的医疗服务。本文将深入探讨互联网医院…

【vulnhub】DC-2靶机

信息收集 靶机扫描 nmap 192.168.93.1/24 端口扫描 网页访问 发现访问不到,根据显示考虑IP未遵循重定向到域名 在本机的C:\Windows\System32\drivers\etc 修改hosts⽂件,添加192.168.93.136 dc-2 再次进行访问,可以访问到 点击flag&#x…

牛客JS题(十七)总成绩排名

注释很详细&#xff0c;直接上代码 涉及知识点&#xff1a; 引用传值深拷贝合理封装 题干&#xff1a; 我的答案 <!DOCTYPE html> <html><head><meta charset"utf-8" /></head><body><script type"text/javascript&quo…

ResNet原理

一、ResNet基础架构 残差块 批量归一化层 二、ResNet网络参数详解 三、ResNet总结 残差网络的出现使人们摆脱了深度的束缚&#xff0c;大幅改善了深度神经网络中的模型退化问题&#xff0c;使网络层数从数十层跃升至几百上千层&#xff0c;大幅提高了模型精度&#xff0c;通用…

Linux 下 perf 的使用

目录 一、概述1、perf 作用2、常用的工具集 二、perf 工具的使用1、perf list2、perf stat3、perf top4、perf record/report4.1 perf record4.2 perf report 5、perf annotate 一、概述 1、perf 作用 perf 是一个性能分析工具&#xff08;基于 Linux 内核提供的性能事件 per…

jacodb导入带签名的jar包失败的问题

今天在执行某个项目分析时&#xff0c;100多个jar包只有BC库的三个jar包导入失败。错误如下&#xff1a; [DefaultDispatcher-worker-1 coroutine#1] INFO org.jacodb.impl.storage.PersistenceService - Starting app version [1.4] [DefaultDispatcher-worker-16 coroutine#…

世界上最小,装机量最多的数据库居然是...

最近在根客户沟通数据库选型的时候&#xff0c;聊到了手机应用内置的数据库SQLite。别小看它哈&#xff0c;它可是世界上最小&#xff0c;装机量最多的数据库&#xff0c;只是因为它着实太低调了&#xff0c;低调的连官网都是那么朴素。麻雀虽小&#xff0c;五脏俱全&#xff0…

还在人工代码review?reviewdog和PMD了解一下

前言 代码reivew作为团队协同开发时确保代码质量的手段之一&#xff0c;在软件开发团队中非常常见。特别是对于刚入门不久的团队成员&#xff0c;通过代码review也可一定程度上避免一些低级错误&#xff0c;提升整个部分的代码健壮性。 一般来讲&#xff0c;通过代码review可…

LearnOpenGL-入门章节学习笔记

LearnOpenGL-入门章节学习笔记 简介一、核心模式与立即渲染模式二、扩展三、状态机四、对象 创建窗口一、Main函数——实例化窗口二、Callback Function 回调函数三、processInput 函数 创建三角形一、顶点输入二、顶点着色器三、编译着色器四、片段着色器五、着色器程序六、链…

二叉树——1.翻转二叉树

力扣题目链接 翻转一棵二叉树。 输入&#xff1a; 输出&#xff1a; 可以发现&#xff0c;如何翻转一个二叉树&#xff1f;将每个父节点下的子节点互换就行了&#xff0c;4下面2分支树和7分支树互换&#xff0c;2下面1和3互换&#xff0c;7下面6和9互换。在前面可以自学一下关…

55 函数嵌套定义、可调用对象与修饰器

1 函数嵌套定义 Python 允许函数的嵌套定义&#xff0c;在函数内部可以再定义另外一个函数。 def func(iterable, operator, value): # 自定义函数if operator not in -*/:return operator errordef nested(item): # 嵌套定义函数return eval(repr(item) operator repr(v…

陷入复杂度深渊的ModularRAG..

最近又有一篇ModularRAG的论文&#xff0c;虽然没有太让人汗毛竖起的惊艳&#xff0c;但我想文中的几张配图冷不丁的也着实让部分密集恐惧症患者又一次炸毛了一下吧;)...ps&#xff0c;图画的还是十分规整和可读的&#xff0c;逻辑也很是清晰&#xff0c;为作者的用心点赞&…

如何快速上手Linux操作系统

&#x1f41f;作者简介&#xff1a;&#x1fab4; &#x1f421;&#x1f419;个人主页&#x1f947;&#xff1a;Aic山鱼 &#x1f420;WeChat&#xff1a;z7010cyy &#x1f988;系列专栏&#xff1a;&#x1f3de;️ 前端-JS基础专栏✨前端-Vue框架专栏✨✨前端-Vue3速学专…

OLAP知识地图思考(附地图)

OLAP知识地图思考&#xff08;附地图&#xff09; OLAP技术在当今数据驱动的时代具有举足轻重的地位。它的核心技术模块包括数据存储、计算引擎和查询语言等&#xff0c;这些模块的有效协同是实现高效数据分析的基础。然而&#xff0c;OLAP在运维方面面临着诸多挑战&#xff0c…

【驱动篇】龙芯LS2K0300之RTC设备驱动

实验介绍 本次实验是关于pcf8563 RTC模块的驱动移植&#xff0c;大致流程如下&#xff1a; 注册i2c设备驱动编写RTC设备驱动将device和driver驱动部署到开发板并装载&#xff0c;通过hwclock命令来测试 模块连接 VCC接Pin2&#xff0c;GND接Pin1&#xff0c;SCL接Pin16&…

一加Ace3 ColorOS14系统精简列表(免root)

#adb工具 https://www.123pan.com/s/Z3kujv-NHRPA.html 提取码:DZOD 使用&#xff1a; 1. 手机 设置 -- 关于本机 -- 版本信息 -- 版本号 &#xff0c;点5次 2. 设置 -- 其他设置 -- 开发者选项 -- USB调试 -- 无线调试 3.adb工具 -- adb connect 10.0.0.156:37909&#xff…

opencv-霍夫变换

霍夫变换就是一个可以让计算机学会自己找图形的算法。是图形处理领域内从图像中检测几何形状的基本方法之一。经典霍夫变换用来检测图像中的直线&#xff0c;后来霍夫变换经过扩展可以进行任意型状物体的识别&#xff0c;例如圆和椭圆。 霍夫变换运用两个坐标空间之间的变换&a…

CSP-J复赛 模拟题3

1.匿名信&#xff1a; 题目描述 出于对社会现状的担忧&#xff0c;Alice 决定给市长写一封建议信&#xff0c;考虑到市长的暴脾气&#xff0c;Alice 最终还是决定匿名上书&#xff0c;为了保证自己的绝对神秘&#xff0c;她还会从当天的报纸上将一些单词(或字母)裁剪下来并重…

安装glibc+mysql的权限问题

安装glibc glibc mysql 俗称绿色mysql 安装之前删掉mariadb: 数据库初始化时候&#xff0c;会⾃动找my.cnf配置&#xff0c;但是原有的mariadb配 置⽂件&#xff0c;会失败 [rootmysql3 ~]# ls -l /etc/my.cnf -rw-r--r--. 1 root root 570 6月 8 2017 /etc/my.cnf [rootm…