MySQL8.0主从复制实现及遇到的个人问题

文章目录

  • 1、准备两个服务器或者虚拟机
  • 2、主库配置
  • 3、从库配置
  • 4、配置过程中使用到的命令
  • 5、遇到的问题

1、准备两个服务器或者虚拟机

这里使用的VM虚拟机的Centos、MySQL版本是8.0.26、使用FinalShell进行远程操作。

2、主库配置

  1. 修改MySQL配置文件(/etc/my.cnf)
#启用二进制日志
log-bin=mysql-bin
#服务器唯一id(不能重复)
server-id=100

在这里插入图片描述

  1. 重启mysql服务
    linux命令:systemctl restart mysqld
  2. 登录MySQL
  3. 创建用户并分配权限
    因为我的MySQL版本是8.0,必须要创建用户和分配用户权限分开操作。
# 已经不再使用
GRANT REPLICATION SLAVE ON *.* TO 'mengting'@'%' identified by '123456';
# 先创建用户,在赋予权限
# 在创建用户的时候,必须设置密码的等级  不然会创建失败(根据自己的设置进行决定)
set global validate_password.policy = 0;
set global validate_password.length = 10;CREATE USER 'mengting'@'%' IDENTIFIED BY '1111111111';
GRANT REPLICATION SLAVE ON *.* TO 'mengting'@'%';
  1. 执行show命令并记录File和Position(非常重要)
show master status;
# 执行完就不要进行操作了

在这里插入图片描述

3、从库配置

  1. 测试:是否能在从数据库使用上面创建的用户访问主数据库
# -u后面是账号,-p后面是密码,ip是主数据库的ip地址
mysql -h 192.168.110.110 -umengting -p1111111111
# 如果可以连接成功证明端口都是可以正常连接的
# 如果不能连通可以查看一下是否是防火墙的原因(可以暂时关闭防火墙)
  1. 修改MySQL配置文件(/etc/my.cnf)
#不要重复即可
server-id=101

在这里插入图片描述
3. 重启MySQL服务

#重启MySQL服务
systemctl restart mysqld
  1. 执行sql
#刚才记录的File和Position在这里要使用
#将master_log_file与master_log_pos修改为自己对应的值
change master to master_host='192.168.110.110',
master_user='mengting',master_password='1111111111',
master_log_file='mysql-bin.000001',master_log_pos=439;
  1. 查看从机状态
show slave status \G;

在这里插入图片描述
看到两个Yes代表配置成功了,可以进行测试了。

4、配置过程中使用到的命令

  1. linux命令:
--查看ip地址
ifconfig或ip addr
--暂时关闭防火墙
systemctl stop firewalld
--查看防火墙状态
systemctl status firewalld
--紧张开机启动防火墙
systemctl disable firewalld
--重启mysql服务
systemctl restart mysqld
--查看mysql服务状态
systemctl status mysqld
--启动mysql服务
systemctl start mysqld
--停止mysql服务
systemctl stop mysqld
--查看mysql错误日志
vim /var/log/mysql.log
--查看自动生成的root密码
grep 'temporary password' /var/log/mysqld.log
--查看是否开启某个端口
netstat -an|grep 3306
  1. mysql命令:
--远程登录
mysql -h 192.168.110.110 -uroot -p123456
--停止复制进程
stop slave;--重置复制状态(常用)
--RESET SLAVE命令用于重置复制状态。当你执行这个命令时,
--从服务器会删除所有复制相关的状态信息,包括二进制日志文件和位置、
--错误日志、中继日志等。这相当于重新初始化从服务器的复制状态,
--以便重新开始从主服务器同步数据。
--注意,这个命令需要具有足够权限的管理员或用户才能执行。
reset slave;
--开启复制进程
start slave;--设置密码等级
set global validate_password.policy = 0;
--设置密码长度
set global validate_password.length = 4;
--创建用户
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
--分配用户权限(全部权限)
grant all on *.* to 'root'@'%';
--在主服务器创建从机数据库用户(用于主从复制)
CREATE USER 'mengting'@'%' IDENTIFIED BY '0123456789';
GRANT REPLICATION SLAVE ON *.* TO 'mengting'@'%';--从机服务器进行主从复制
change master to master_host='192.168.110.110',
master_user='mengting',master_password='1111111111',
master_log_file='mysql-bin.000001',master_log_pos=156;
--查看主机(主数据库)状态
show master status;
--查看从机
show slave status;

5、遇到的问题

  1. Slave_IO_Running显示NO
    Slave_SQL_Running显示NO
    检查配置文件是否出错、检查是否成功开启主从复制SQL语句、检查服务器端口是否开放、检查是否可以在从机服务器连接到主机数据库(重要)

  2. Slave_IO_Running显示Connection
    Slave_SQL_Running显示NO
    检查网络是否连接,如果网络没有问题可以等待一会(比较慢)

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

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

相关文章

二叉树链式结构的实现(二叉树的遍历以及各种常用功能函数的实现)

之前也是把堆部分的知识点梳理完毕(即二叉树链式顺序的实现):堆的应用:堆排序和TOP-K问题 那么讲完了二叉树链式结构的实现。今天就进入二叉树链式结构的实现: 文章目录 1.准备工作2.二叉树的遍历2.1前序遍历2.2中序遍…

User Friendly大会 | 每日互动刘宇分享AIGC时代的数智营销变革

近日,第十九届暨2023年User Friendly国际用户体验大会在深圳召开。本次大会以“开智启能,体验无界”为主题,邀请了各行业领袖精英齐聚,分享前沿新观点,碰撞体验新思潮。每日互动高级副总裁刘宇作为业内资深专家&#x…

二维码地址门牌管理系统:物业管理的未来趋势

文章目录 前言一、数字化管理与便捷服务二、身份认证与安全保障三、业主便利与贴心服务四、未来发展趋势 前言 在数字化时代,物业管理面临着不断增加的挑战。为了提高管理效率、服务业主,二维码门牌管理系统应运而生。本文将探讨这一新型管理方式&#…

Go语言的几种类型转换

前言 在日常编程中,类型转换是经常需要用到的。因此本文将总结归纳一下Go语言中常见的一些类型转换。 Go语言中的类型转换可以有多种分类方式: 比如按照是否需要声明,可以分为:隐式类型转换和显式类型转换。 可以再根据使用场景划…

navicat密码解密

https://github.com/HyperSine/how-does-navicat-encrypt-password 获取加密的密码 reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v host reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v pwd或者通过导出连接之后查看文…

Unable to connect to Redis server

报错内容: Exception in thread "main" org.redisson.client.RedisConnectionException: java.util.concurrent.ExecutionException: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 175.24.186.230/175.24.186.230…

【实用安装教程】在win系统下制作Mac OS镜像启动U盘

第一步:制作Mac OS系统引导镜像启动U盘 准备一个8G(或以上)的U盘插入到win系统的电脑上 去下载TransMac(Mac启动盘制作工具)v10.4按照说明安装好 插入准备好的U盘,U盘数据要转移,打开TransMac,右键U盘选…

ssm基于echarts的基金交易网站的设计与实现论文

摘 要 计算机网络发展到现在已经好几十年了,在理论上面已经有了很丰富的基础,并且在现实生活中也到处都在使用,可以说,经过几十年的发展,互联网技术已经把地域信息的隔阂给消除了,让整个世界都可以即时通话…

基于Spring Boot+Vue的学生信息管理系统【附源码】

介绍 1)登录模块:用户通过输入可以输入编号、邮箱、手机号和密码来登录系统,如果输入错误会返回登录界面,并提示错误信息,成功登录后用户的登录信息会存储在浏览器中,系统会根据这些信息判断该用户的操作权限。 2)系统…

Windows反调试技术学习

Windows反调试 前言元旦快乐!!!通过 API 调用IsDebuggerPresentCheckRemoteDebuggerPresent(NtQueryInformationProcess)OutputDebugStringZwSetInformationThread(ThreadHideFromDebugger) 手动…

智能合约开发(1)

准备: 注册智能合约在线开发平台,用于solidity语言的智能合约开发。在浏览器上安装metamask钱包插件,并注册账号 以太坊智能合约平台地址: https://remix.ethereum.org 4小时速成solidity开发教程 https://www.youtube.com/watc…

Spring中Autowired原理

1. 构造方法参数Autowire BeanClass可以在构造方法上标注Autowired注解,Spring在创建Bean实例时将自动为其注入依赖参数;Spring会优先使用标注Autowired注解的构造方法;当一个构造方法标注了Autowired注解且requiredtrue时,其余构…

【占用网络】VoxFormer 基于视觉的3D语义场景方案 CVPR 2023

前言 本文分享“占用网络”方案中,来自CVPR2023的VoxFormer,它基于视觉实现3D语义场景补全。 使用Deformable Attention从图像数据中,预测三维空间中的体素占用情况和类别信息。 VoxFromer是一个两阶段的框架: 第一个阶段&…

理解UML中的依赖关系

理解UML中的依赖关系 在面向对象的设计中,理解各种类之间的关系对于构建一个清晰、可维护的系统至关重要。UML(统一建模语言)为我们提供了一种可视化这些关系的方式。今天,我们将深入探讨UML中的依赖关系(Dependency&a…

苹果Vision Pro将于1月27日上市!

在无数期待中,苹果全新产品Vision Pro头显终于定下上市日期。 彭博社记者马克古曼(Mark Gurman)于近日在X(前推特)平台爆料了这一信息,预计苹果Vision Pro头显将于2024年1月27日率先在美国上市。 在过去看…

力扣92. 反转链表 II

链表 思路: 使用一个 dummy 指针迭代到 left;然后反转 (right - left) 个 node;之后将剩余的 node 继续串起来即可; class Solution { public:ListNode *reverseBetween(ListNode *head, int left, int right) {// 设置 dummyNo…

【QT】QString类型中,Empty和NULL有什么区别在qt里,对比C#

在 Qt 中,QString 类型的字符串使用 isEmpty() 方法来检查字符串是否为空,而不是使用 null。这与 C# 中的 string.IsNullOrEmpty 方法略有不同。 QString::isEmpty(): 用于检查字符串是否为空。一个 QString 对象可能是空字符串,即…

如何计算非线性负载的功率需求?

非线性负载的功率需求计算是一个相对复杂的过程,因为非线性负载的电流和电压之间的关系不是简单的正比关系。在计算非线性负载的功率需求时,需要考虑负载的特性、工作状态以及电源电压等因素。 确定负载的类型:首先需要了解负载的具体类型&am…

客户端、服务端在一个c++程序里

一个项目,同时包含客户端、服务端的设计模式称为双工/双端模式。 这种设计模式下,程序具有同时作为客户端和服务端的功能,可以与其他程序通信,并作为服务端接收其他程序的请求。 若开发双工模式的系统,需具备以下内容…

【C语言】浙大版C语言程序设计(第三版) 练习7-4 找出不是两个数组共有的元素

前言 最近在学习浙大版的《C语言程序设计》(第三版)教材,同步在PTA平台上做对应的练习题。这道练习题花了比较长的时间,于是就写篇博文记录一下我的算法和代码。 2024.01.03 题目 练习7-4 找出不是两个数组共有的元素 作者 张彤…