mysql-通过binlog日志复制主从同步

主从复制binlog日志方式

量大的时候使用GTID效率更高,维护起来比较麻烦

有了主从同步也要做备份(双保险,本地有一份,主从同步也有一份 )

1、准备环境两台机器,关闭防火墙和selinux。---两台机器环境必须一致。时间也得一致
10.36.107.10 mysql-master
10.36.107.11  mysql-slave
2、两台机器安装mysql5.7(略)建议使用相同的安装方式
注意:
对主库已有的数据库不会进行自动同步。
主从同步之前,对主库上已有数据库备份,并在从库上导入同步。1.开始配置主服务
在主服务器上添加配置
vim /etc/my.cnf 
[mysqld]
log-bin=/usr/local/mysql/logs/mysql-bin/mylog
server-id=1
重启服务
systemctl restart mysqld在从服务器上添加配置
[mysqld]
server-id=2
重启服务
systemctl restart mysqld在主服务器上 创建日志目录并赋予权限
[root@mysql-master ~]# mkdir /usr/local/mysql/logs/mysql-bin/mylog
[root@mysql-master ~]# chown mysql:mysql /usr/local/mysql/logs/mysql-bin/mylog2.在主服务器上查看binlog以及POS
mysql> show master status \G; 194
3.给主库授权 创建主从同步的用户:(只设置一个复制权限就可以了 slave )
mysql> grant replication slave on *.*  to 'repl'@'%' identified by 'Qf@12345!';
mysql> flush privileges;
查看状态 状态码会发生变化
mysql> show master status \G; 6293在从服务器上
从库重设#全在从库执行(断开于主库之间的通信,脱离主从关系)
mysql> stop slave;
mysql> reset slave;
mysql> reset master;
查看状态 状态码会发生变化
mysql> show master status \G; (执行这条命名发现登录不上 就重启一下 systemctl stop mysqld
systemctl start mysqld  mysql然后在登录,因为之前做过GTID残留)
mysql> change master to
master_host='192.168.171.15',
master_user='repl', 
master_password='Qf@12345!', 
master_log_file='/usr/local/mysql/bin-log/binlog.000002',
master_log_pos=2625;find / -name "binlog.000002" 查找binlog的绝对路径
/usr/local/mysql/bin-log/binlog.000002启用从库身份
mysql> start slave;
查看状态
mysql> show slave status\G;
#查看状态,验证sql和IO是不是yes。在主服务器创建数据库a2
mysql> create database a2;
在从服务器上进行查看a2
mysql> show databases;在主服务器删除数据库a2
mysql> drop databases a2;
在从服务器上进行查看a2也删除了
mysql> show databases;开启只读模式
查看是否只读模式:show variables like 'read_only';关闭只读模式
vim /etc/my.cnf
read-only=1
并重启mysql服务
systemctl restart mysqld
故障切换
mysql主从,master宕机,如何进行切换?
主机故障或者宕机:
1)在salve执行:
mysql> stop slave;
mysql> reset master;
2)查看是否只读模式:show variables like 'read_only';
只读模式需要修改my.cnf文件,注释read-only=1并重启mysql服务。
或者不重启使用命令关闭只读,但下次重启后失效:set global read_only=off;
3)查看show slave status \G;
4)在程序中将原来主库IP地址改为现在的从库IP地址,测试应用连接是否正常
查看uuid号码
[root@localhost ~]# vim /usr/local/mysql/data/auto.cnf
[auto]
server-uuid=4f37a731-9b79-11e8-8013-000c29f0700f
修改uuid并重启服务

重设从库

主库查看binlog,pos
mysql> show master status \G;
*************************** 1. row ***************************File: mylog.000003Position: 348Binlog_Do_DB: Binlog_Ignore_DB: 
1 row in set (0.00 sec)从库上操作
mysql>stop slave;
mysql>reset slave;
mysql>reset master; 
#从库的binlog已经无效了,所以要执行这个命令清空binlog
CHANGE MASTER TO
MASTER_HOST='10.36.107.10',
MASTER_USER='slave',
MASTER_PASSWORD='Qf@12345!',
MASTER_LOG_FILE='mylog.000003',
MASTER_LOG_POS=348;
mysql> start slave;
mysql> show slave status\G;

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

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

相关文章

【Unity脚本】Unity中如何按类型查找游戏对象(GameObject)

【知识链】Unity -> 脚本系统 -> 访问游戏对象 -> 按类型访问游戏对象摘要:本文介绍了Unity中按类型查找游戏对象(GameObject)的五种方法,并提出了使用这些方法的最佳实践。 本文目录 一、访问游戏对象的方法二、如何按…

python os模块库

os模块 os模块是python的内置模块,是对目录和文件的操作 使用时需要导包 import os os用法 方法描述os.getcwd()展示当前路径os.listdir()展示当前目录下载文件os.chdir()改变当前目录路径os.mkdir()创建目录os.rmdir()删除指定路径的目录,必须得目录…

【个人博客搭建】(20)获取操作用户信息(IHttpContextAccessor)

IHttpContextAccessor在ASP.NET Core中扮演着至关重要的角色。它为开发者提供了一种方便的方式来访问和操作HttpContext对象,从而允许在整个应用程序中轻松地管理和使用HTTP请求和响应的相关信息。下面将深入探讨IHttpContextAccessor的作用、使用方法以及如何通过它…

【区分vue2和vue3下的element UI lauout布局,分别详细介绍属性,事件,方法如何使用,并举例】

首先,需要澄清一点:Element UI 是基于 Vue 2 的组件库,它并没有直接为 Vue 3 提供官方支持。但是,有一些社区版本的 Element UI 试图兼容 Vue 3,比如 Element Plus。以下我会分别介绍 Element UI(基于 Vue …

[ue5]建模场景学习笔记(1)——混合材质

卷首:这部分会记录建模场景等相关学习内容,与ue引擎学习笔记不同的是,可能会略过一些基础内容,因为部分知识在blender中已经学习过了,不再继续记录。 1.需求分析: 想构建一个山地的场景,在ue5中…

[RK3588-Android12] 关于EDP屏外设为Panel,不支持HPD的配置

问题描述 直接附上dts配置&#xff0c;也可自行查看先关文档RKDocs\common\display\Rockchip_RK3588_User_Guide_eDP_CN.pdf 解决方案&#xff1a; // EDP屏参数panel-edp {compatible "simple-panel";// 屏en脚 自行根据原理图配置enable-gpios <&gpioX R…

【扫雷game】

编写一个扫雷游戏程序需要考虑几个关键部分&#xff1a;游戏逻辑、用户界面和交互。这里我将提供一个基本的扫雷游戏逻辑的伪代码和概念&#xff0c;你可以使用Python等编程语言来实现它。 游戏逻辑 初始化游戏板 创建一个二维数组来表示游戏板&#xff0c;每个单元格可能包含…

解读vue3源码-1

提示&#xff1a;看到我 请让滚去学习 vue3渲染流程 文章目录 vue3渲染流程vue3的3个核心&#xff1a;1.响应式模块(Reactivity Module)--创建响应式数据2.编译模块(Compiler Module)--模版编译器将html转换为一个渲染函数3.渲染模块(Renderer Module) 渲染流程&#xff1a;1.首…

python办公自动化——(二)替换PPT文档中图形数据-柱图

效果: 数据替换前 &#xff1a; 替换数据后&#xff1a; 实现代码 import collections.abc from pptx import Presentation from pptx.util import Cm,Pt import pyodbc import pandas as pd from pptx.chart.data impo…

Python项目开发实战:酒店管理系统(案例教程)

一、引言 在当今信息化社会,酒店管理系统作为酒店运营的重要组成部分,其重要性不言而喻。一个高效、稳定的酒店管理系统不仅能提升酒店的运营效率,还能为顾客提供更为便捷、舒适的服务体验。本文将详细介绍如何使用Python语言开发一个基本的酒店管理系统,并从需求分析、系统…

【量算分析工具-贴地距离】GeoServer改造Springboot番外系列九

【量算分析工具-概述】GeoServer改造Springboot番外系列三-CSDN博客 【量算分析工具-水平距离】GeoServer改造Springboot番外系列四-CSDN博客 【量算分析工具-水平面积】GeoServer改造Springboot番外系列五-CSDN博客 【量算分析工具-方位角】GeoServer改造Springboot番外系列…

postman都有哪些功能?

接口测试 可以方便地发送 HTTP 请求&#xff0c;包括各种方法&#xff08;GET、POST、PUT、DELETE 等&#xff09;&#xff0c;并查看响应结果。 参数设置 能够灵活设置请求的参数&#xff0c;如查询参数、请求头、请求体等。 环境管理 支持创建不同的环境&#xff0c;方便…

Web前端三大主流框架技术分享

在当今快速发展的互联网时代&#xff0c;Web前端技术作为连接用户与服务的桥梁&#xff0c;其重要性不言而喻。随着技术的不断进步&#xff0c;为了提升开发效率、优化用户体验&#xff0c;一系列强大的前端框架应运而生。其中&#xff0c;Angular、React和Vue.js作为当前最为主…

广东海上丝绸之路文化促进会正式批复荐世界酒中国菜的指导单位

广东海上丝绸之路文化促进会正式批复成为“世界酒中国菜”系列活动指导单位 近日&#xff0c;广东海上丝绸之路文化促进会近日正式批复荐酒师国际认证&#xff08;广州&#xff09;有限公司&#xff0c;成为备受瞩目的“世界酒中国菜”系列活动的指导单位。此举旨在通过双方的…

IDEA中各种Maven相关问题(文件飘红、下载依赖和启动报错)

错误情况 包名、类名显示红色、红色波浪线&#xff0c;大量依赖提示不存在&#xff08;程序包xxx不存在&#xff09; 工程无法启动 一、前提条件 1、使用英文原版IDEA 汉化版的可能有各种奇怪的问题。建议用IDEA英文版&#xff0c;卸载重装。 2、下载maven&#xff0c;配置环…

2024HW|常见红队使用工具

目录 什么是HW&#xff1f; 什么是网络安全红蓝对抗&#xff1f; 红队 常见工具 信息收集工具 Nmap 简介 漏洞扫描工具 Nessus简介 AWVS 简介 抓包工具 Wireshark简介 TangGo 简介 web 应用安全工具 Burpsuite 简介 SQLMap webshell 管理工具 蚁剑 冰蝎 后…

uniapp input点击旁边按钮,如何不失去焦点

有遇到在评论的时候&#xff0c;唤起键盘。旁边的其他按钮&#xff08;匿名、发送等&#xff09;&#xff0c;input会失去焦点。软键盘会隐藏 处理方法: 1、重新获取键盘焦点 &#xff08;通过重置focus状态来处理&#xff09; #页面 用focus变量来动态设置 <input v-mod…

《PNAS》和《Nature Communications》仿章鱼和蜗牛的粘液真空吸附,赋予了机器人吸盘新的“超能力”

想象一下&#xff0c;如果机器人能够像章鱼一样牢牢吸附在粗糙崎岖的岩石上&#xff0c;或者像蜗牛那样在墙面上悠然负重爬行&#xff0c;那会是多么神奇的一幕&#xff01;近日&#xff0c;布里斯托大学机器人实验室的Jonathan Rossiter教授课题组就为我们带来了这样的“超能力…

嵌入式功耗

adb ADB&#xff08;Android Debug Bridge&#xff0c;安卓调试桥&#xff09;是一个多功能的命令行工具&#xff0c;允许用户与运行 Android 的设备进行通信。它是 Android SDK 的一部分&#xff0c;广泛用于开发和调试 Android 应用程序。以下是 ADB 的一些主要功能和使用场景…

Java中的堆(Heap)和栈(Stack):深入解析与对比

在Java的内存管理中&#xff0c;堆&#xff08;Heap&#xff09;和栈&#xff08;Stack&#xff09;是两个至关重要的概念。它们各自扮演着不同的角色&#xff0c;对于理解和编写高效的Java程序至关重要。以下&#xff0c;我们将从技术难点、面试官关注点、回答吸引力和代码举例…