笔记:Mysql 主从搭建

主库

创建用户并授权

create user slave identified with mysql_native_password by '123456'
GRANT REPLICATION SLAVE ON *.* to 'slave'@'%'; 
FLUSH PRIVILEGES;

主库配置文件

/etc/my.cnf
#日志路径及文件名,目录要是mysql有权限写入
log-bin=/var/lib/mysql/binlog 
#master端的id号
server-id=1 
#指定同步的数据库,如果不写,默认是同步所有数据库
binlog-do-db = 数据库
#指定不同步的数据库  
binlog-ignore-db=mysql
#binlog日志的保留时间
expire_logs_days=7
#指定binlog日志的格式
binlog_format=ROW 

主库日志及pos

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.004624 |      403 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

从库

从库配置文件

/etc/my.cnfserver-id=99
#日志路径及文件名,目录要是mysql有权限写入
log-bin=mysql-bin
#复制哪个库可以不用填写
replicate-do-db=webkit
replicate-do-db=dgp
replicate-do-db=dses_etldb
replicate-do-db=dses_metadb
replicate-do-db=dcf
replicate-do-db=etl
replicate-do-db=metadata
#不复制哪个库
replicate-ignore-db=mysql,information_schema,performance_schema
#这两个是启用relaylog的自动修复功能,避免由于网络之类的外因造成日志损坏,主从停止,保证数据写入的一致性
master_info_repository=table
relay_log_info_repository=table

配置主从

change master to master_host='10.68.15.37',
master_user='backup',
master_password='Fr@bjev.20320',
master_log_file='mysql-bin.000016',
master_log_pos=576474136; ##MASTER_LOG_FILE和MASTER_LOG_POS的值为master节点中执行show master status查询到的信息

启动从库

start slave;

查看从库状态

show slave status\G如果下面两项值为YES,则表示配置正确:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

备份及恢复

主库备份

mysqldump -uroot -p123456  --single-transaction --master-data=2 --all-databases > backup_all_databases.sql

从库恢复

删除数据库
drop database database_name;
恢复
mysql -uroot -p123456 < backup_all_databases.sql

binlog-format

binlog-format:指定二进制日志的格式,可以是STATEMENT、ROW或MIXED。STATEMENT:MySQL 会将每个执行的 SQL 语句记录到二进制日志中,二进制日志只包含执行的 SQL 语句,而不会记录具体的行级变更,适用于大多数情况,但在某些情况下可能会导致主从同步的一致性问题ROW:MySQL 会将每个修改的行的变更信息记录到二进制日志中,二进制日志将包含实际的行级变更信息,而不仅仅是 SQL 语句,可以确保主从同步的精确一致性,但会产生更大的二进制日志文件
MIXED:MySQL 可以根据具体情况自动选择记录 SQL 语句或行级变更信息,对于大多数情况,MySQL 会使用 STATEMENT 格式记录 SQL 语句,但对于某些无法使用 SQL 语句准确重放的情况,MySQL 会使用 ROW 格式记录行级变更信息,所以这种格式结合了 STATEMENT 和 ROW 的优点,可以在不同情况下选择最合适的记录方式。

show master status

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.004624 |      403 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+File:表示当前正在写入的二进制日志文件的名称。
Position:表示当前正在写入的二进制日志文件中的位置(字节偏移量)。
Binlog_Do_DB:表示为主服务器启用二进制日志记录的数据库列表,只记录指定的数据库操作。
Binlog_Ignore_DB:表示为主服务器启用二进制日志记录时要忽略的数据库列表,不记录指定的数据库操作。
Executed_Gtid_Set:表示已经在主服务器上执行的 GTID(Global Transaction Identifier)集合。GTID 是用于跟踪分布式事务的标识符。

参数说明

server-id:为每个MySQL服务器设置一个唯一的整数ID
relay-log:指定了从服务器(Slave)中用于存储中继日志的文件名前缀
relay-log-index:指定了从服务器(Slave)中用于存储中继日志索引的文件名
log-bin:启用二进制日志,并指定日志文件的名称。
binlog-format:指定了从服务器是否将复制事件写入其自己的二进制日志,当设置为 1 时,从服务器会将接收到的主服务器的二进制日志事件写入自己的二进制日志中,即在中继日志和二进制日志中都会记录复制事件,该选项通常在主从服务器之间使用基于链式复制的配置中,用于实现级联复制和多级复制
log_bin-index:二进制日志文件索引文件的名称

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

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

相关文章

什么是索引及其优缺点

1.1 什么是索引 索引是数据库中用于提高检索性能的排好序的数据结构。它类似于书籍的目录&#xff0c;通过建立特定的数据结构将某个列或多个列的值与它们在数据库中的行关联起来&#xff0c;以加快查询速度。 1.2 索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引…

IT廉连看——职场经验——简历里:兴趣爱好怎么写?

你可能觉得&#xff0c;这有啥可讲的嘛&#xff1f;别小看它。一个经验丰富的面试官&#xff0c;能从这个环节一窥你的真实个性和能力。 遗憾的是&#xff0c;大部分人都是随便填的&#xff0c;比如万年不变的读书、看电影之类&#xff0c;这其实浪费了一次强化能力优势的机会…

流畅的 Python 第二版(GPT 重译)(七)

第十三章&#xff1a;接口、协议和 ABCs 针对接口编程&#xff0c;而不是实现。 Gamma、Helm、Johnson、Vlissides&#xff0c;《面向对象设计的第一原则》 面向对象编程关乎接口。在 Python 中理解类型的最佳方法是了解它提供的方法——即其接口——如 “类型由支持的操作定义…

openssl3.2 - exp - openssl speed test

文章目录 openssl3.2 - exp - openssl speed test概述笔记表面上能列出的算法集合没列出的算法, 有的也支持不支持的算法的例子直接提示算法不支持算法的属性找不到到底哪些算法才是可以测试的算法?那看看哪些算法是支持的?包含支持的算法的名称数组在算法失败的提示处, 将支…

【一起学Rust | 基础篇】rust线程与并发

文章目录 前言一、创建线程二、mpsc多生产者单消费者模型1.创建一个简单的模型2.分批发送数据3. 使用clone来产生多个生产者 三、共享状态&#xff1a;互斥锁1. 创建一个简单的锁2. 使用互斥锁解决引用问题 前言 并发编程&#xff08;Concurrent programming&#xff09;&#…

【oss】阿里云oss服务器模拟

文章目录 1 测试服务器搭建2 go sdk demo编写2.1 本地文件上传至oss2.2 oss文件下载至本地 3 Reference 1 测试服务器搭建 ruby环境 sudo apt-get update sudo apt-get install ruby ruby --version依赖 sudo gem install thor builder拉取项目 https://github.com/aliyun/o…

未来已来?国内10家AI大模型盘点(附体验网址)

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 1、阿里云——通义千问2、科大讯飞——星火大模…

Unity类银河恶魔城学习记录11-3 p105 Inventory UI源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI_itemSlot.cs using System.Collections; using System.Collections.Gen…

C语言打印当前时间

#include <time.h> void print_current_time(char* func_name) { // 获取当前的时间 time_t current_time; time(&current_time); // 将时间转换为本地时间格式 struct tm *local_time localtime(&current_time); // 打印当前的时间 …

从初学者到专家:Java的Lambda表达式完整指南

一.Lambda的概念 概念&#xff1a;Lambda表达式是Java 8引入的一项重要功能&#xff0c;它允许我们以更简洁和灵活的方式编写代码。可以把Lambda表达式看作是一种更方便的匿名函数&#xff0c;可以像数据一样传递和使用。 使用Lambda表达式可以让我们写出更短、更易读的代码。…

Linux:ssh多台设备快速访问

目录 一、背景二、技巧1&#xff09;技巧一&#xff1a;“跳过”中间堡垒机2&#xff09;技巧二&#xff1a;反向访问3&#xff09;技巧三&#xff1a;端口转发4&#xff09;技巧四&#xff1a;命令后台运行 一、背景 由于网络或安全的原因&#xff0c;需要通过跳转机&#xf…

C++ —— 内存管理

目录 1. C内存分布 2. C 内存管理方式 2.1 new 和 delete 操作内置类型 2.2 new 和 delete 操作自定义类型 3. operator new与operator delete函数 4. new和delete的实现原理 5. malloc/free 和 new/delete 的区别 1. C内存分布 首先看一段代码&#xff1a; int globalV…

分布式训练遇到问题:NCCL通信相关问题

常见问题: torchrun前面加NCCL_DEBUG=INFO可以查看相关nccl相关错误日志 NCCL_DEBUG=INFO torchrun --nnodes=2 --nproc_per_node=1 --node_rank=0 --master_addr="10.***0.

用Python的turtle库绘制皮卡丘

turtle库的简介 turtle(海龟)库是turtle绘图体系的python实现&#xff0c;turtle库是一种标准库&#xff0c;是python自带的。 turtle(海龟)是一种真实的存在&#xff0c;有一个海龟在窗口的正中心&#xff0c;在画布上游走&#xff0c;走过的轨迹形成了绘制的图形&#xff0…

进阶二叉树

目录 二叉树 二叉搜索树 二叉搜索树的定义 二叉搜索树的操作 哈夫曼树 哈夫曼树的定义 哈夫曼树的构造 哈夫曼树的性质 平衡二叉树 平衡二叉树的定义&#xff1a; 平衡二叉树的插入调整 1.LL插入/LL旋转 2.RR插入/RR旋转 3.LR插入/LR旋转 4.RL插入/RL旋转 二叉树…

仿牛客项目Day10——统一异常处理、记录日志

统一异常处理 在controller里创建advice包&#xff0c;创建ExceptionAdvice类 这个注解括号里面是指只扫描被Controller标注的bean 请求request、响应response、异常exception 普通请求和异步请求的区别在于传的是json还是html吗&#xff1f; 统一记录日志 面向切面编程&…

IO多路复用、域套接字

思维导图 面试题TCP通信中的三次握手和四次&#xff1a; 客户端像向服务器端发送连接请求 服务器应答连接请求 客户端与服务器简历连接 客户端向服务器发送断开请求 服务器应答断开请求 服务器请求关闭连接 客户端发送确认应答 并行和并发的区别&#xff1a; 并行&#xff1a…

外包干了6天,技术明显进步。。。

我是一名大专生&#xff0c;自19年通过校招进入湖南某软件公司以来&#xff0c;便扎根于功能测试岗位&#xff0c;一晃便是近四年的光阴。今年8月&#xff0c;我如梦初醒&#xff0c;意识到长时间待在舒适的环境中&#xff0c;已让我变得不思进取&#xff0c;技术停滞不前。更令…

R语言Meta分析核心技术:从入门到精通

R语言作为一种强大的统计分析和绘图语言&#xff0c;在科研领域发挥着日益重要的作用。其中&#xff0c;Meta分析作为一种整合多个独立研究结果的统计方法&#xff0c;在R语言中得到了广泛的应用。通过R语言进行Meta分析&#xff0c;研究者能够更为准确、全面地评估某一研究问题…

Java毕业设计-基于springboot开发的Java时间管理系统-毕业论文+答辩PPT(附源代码+演示视频)

文章目录 前言一、毕设成果演示&#xff08;源代码在文末&#xff09;二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构 三、系统实现展示1、管理员功能模块2、用户功能模块 四、毕设内容和源代码获取总结 Java毕业设计-基于springboot开发的Java时间管理系统-毕业论文答…