Mysql主从服务安装配置
1.下载地址
MySQL :: Download MySQL Community Server (Archived Versions)
https://downloads.mysql.com/archives/community/
2.安装配置
1.下载解压后,拷贝一份作为slave的安装目录

3.配置my.ini
由于下载mysql8版本,解压后,没有相关的my.ini配置文件,需要手动创建配置文件。
参考地址:
MySQL :: MySQL 8.0 Reference Manual :: 2.3.4.2 Creating an Option File
https://dev.mysql.com/doc/refman/8.0/en/windows-create-option-file.html
MySQL :: MySQL 8.0 Reference Manual :: 4.2.2.2 Using Option Files
https://dev.mysql.com/doc/refman/8.0/en/option-files.html
3.安装命令
3.1安装主服务器
- 配置my.ini脚本
在C:\mysql8\mysql8.0.2-master目录下,新建my.ini文件,将以下内容复制到文件中进行保存。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8[client]
default-character-set=utf8
port=3307[mysqld]#设置开启日志
log-bin = mysql-bin
#设置服务ID,主从不能一致
server-id = 1
#设置需要同步的数据库
binlog-do-db = user_db
#屏蔽系统同步
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
#设置3306端口
port = 3307
# 设置mysql的安装目录
basedir=C:\\mysql8\\mysql8.0.2-master
# 设置mysql数据库的数据的存放目录
datadir=C:\\mysql8\\mysql8.0.2-master\\data
# 允许最大连接数
max_connections=2000
# 服务端使用的字符集默认为8比特编码的latin1字符集
#character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2.进入到mysql的bin目录

3.初始化数据库

mysqld --initialize --user=mysql --console
获取到初始化密码sQlnj#Ckl0rL

初始化成功会在data目录下产生文件
4.安装mysql服务

mysqld --install mysqlmaster --defaults-file="C:\mysql8\mysql8.0.2-master\my.ini"

安装成功后再windows service服务中可以看到该服务
5.启动mysql服务

启动mysqlmaster服务成功

3.2安装从服务器
1.配置my.ini脚本
在C:\mysql8\mysql8.0.2-slave目录下,新建my.ini文件,将以下内容复制到文件中进行保存。
[client]
port=3308[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]#设置开启日志
log-bin = mysql-bin
#设置服务ID,主从不能一致
server-id = 2
#设置需要同步的数据库
#replicate_do_db = user_db
#屏蔽系统同步
#replicate_wild_ignore_table = mysql%
#replicate_wild_ignore_table = informatin_schema.%
#replicate_wild_ignore_table = performance_schema.%
#设置3308端口
port = 3308
# 设置mysql的安装目录
basedir=C:\\mysql8\\mysql8.0.2-slave
# 设置mysql数据库的数据的存放目录
datadir=C:\\mysql8\\mysql8.0.2-slave\\data
# 允许最大连接数
max_connections=2000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2.进入到mysql的bin目录

3.初始化数据库

mysqld --initialize --user=mysql --console
获取到数据库初始化密码gLp#Q,*wy5Gf

初始化成功会在data目录下产生文件
mysqld --install mysqlslave --defaults-file="C:\mysql8\mysql8.0.2-slave\my.ini"

安装mysqlslave服务成功。
4.启动mysql服务

4.连接主从数据库

使用工具连接数据库服务器后,连接正常。(连接前会提示修改初始化密码)
5.修改主从配置文件
1.停止mysql主从服务

修改配置文件时,首先将服务停止。
2.修改主从配置文件
2.1修改主服务器文件如下:

#设置开启日志
log-bin = mysql-bin
#设置服务ID,主从不能一致
server-id = 1
#设置需要同步的数据库
binlog-do-db = user_db
#屏蔽系统同步
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
2.2修改从服务器文件如下

#设置需要同步的数据库
replicate_do_db = user_db
3.启动主从服务

3.创建从服务器访问的账户

创建用于操作账户,在主节点创建一个用户db_sync,用于从节点链接主节点时使用。
create user 'db_sync'@'%' identified with mysql_native_password by 'db_sync'; #创建用户
grant replication slave on *.* to 'db_sync'@'%'; #用户授权
flush privileges; #刷新权限
show master status;查看记录文件名和位置点

创建成功后,可在主数据库中查询到新建的db_sync用户信息
4.查看主库的状态

5.设置从库向主库同步数据

mysql ‐h localhost ‐P3308 ‐uroot ‐p
#先停止同步
STOP SLAVE;
#修改从库指向到主库,使用上一步记录的文件名以及位点
change master to
master_host='localhost',
master_port=3307,
master_user='db_sync',
master_password='db_sync',
master_log_file='mysql-bin.000002',
master_log_pos=1152; #需要在主库中输入show master status可查询文件名称
#需要在主库中输入show master status可查询文件名称
#启动同步
START SLAVE;
#查看从库状态Slave_IO_Runing和Slave_SQL_Runing都为Yes说明同步成功,如果不为Yes,请检查
error_log,然后排查相关异常
6.查询从库的状态

#查看从库状态Slave_IO_Runing和Slave_SQL_Runing都为Yes说明同步成功,如果不为Yes,请检查
error_log,然后
排查相关异常。
show slave status
#注意 如果之前此从库已有主库指向 需要先执行以下命令清空
STOP SLAVE IO_THREAD FOR CHANNEL '';
reset slave all;

在主库中查询到的file和Position字段的数据对应从库设置的master_log_file和master_log_pos字段。
6.测试数据库同步
6.1在主数据库中创建user_db数据和t_user表

在主数据库中创建user_db,并创建表,该表数据为空

查询从库数据,从数据库会自动创建数据库和表。
6.2.在主数据库插入数据,查看从库同步的数据。

7.附加说明
1.同步问题排查

如果从库没有同步数据,可使用show slave status命令,查看master_info_File和Slave_SQL_Running_State字段显示的信息
2.cmd下执行数据库初始化或者创建windows service服务失败。

必须在管理员模式下打开命令窗口
3.在初始化数据库时失败
在配置my.inf的datadir时,必须要自己创建好data文件夹。
相关文章:
Mysql主从服务安装配置
1.下载地址 MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/ 2.安装配置 1.下载解压后,拷贝一份作为slave的安装目录 3.配置my.ini 由于下载mysql8版本,解压后,没有相关的my…...
双向BFS
1034 Number Game 分数 35 作者 陈越 单位 浙江大学 A number game is to start from a given number A, and to reach the destination number B by a sequence of operations. For the current number X, there are 3 types of operations: XX1 XX−1 XXN Your job is to f…...
数据艺术:精通数据可视化的关键步骤
数据可视化是将复杂数据转化为易于理解的图表和图形的过程,帮助我们发现趋势、关联和模式。同时数据可视化也是数字孪生的基础,本文小编带大家用最简单的话语为大家讲解怎么制作一个数据可视化大屏,接下来跟随小编的思路走起来~ 1.数据收集和…...
MySQL 是如何实现事务的四大特性的?
分析&回答 如果你不知道事务更不知道四大特性请先看看:说说什么是事务 原子性 语句要么都执行,要么都不执行,是事务最核心的特性,事务本身来说就是以原子性来定义的,实现主要是基于undo log undo logÿ…...
python实现zscore归一化和minmax标准化
zscore归一化: minmax from sklearn import preprocessing from sklearn.preprocessing import StandardScaler import numpy as np# 数据 x np.array([[1.,-1.,2.],[2.,0.,0.],[0.,1.,-1.]]) print(----------------minmaxscaler标准化-------------) # 调用minma…...
架构师成长之路Redis第三篇|Redis key过期清除策略
Eviction policies maxmemory 100mb 当我们设置的内存达到指定的内存量时,清除策略的配置方式决定了默认行为。Redis可以为可能导致使用更多内存的命令返回错误,也可以在每次添加新数据时清除一些旧数据以返回到指定的限制。 当达到最大内存限制时,Redis所遵循的确切行为是…...
C++智能指针之weak_ptr(保姆级教学)
目录 C智能指针之weak_ptr 概述 作用 本文涉及的所有程序 使用说明 weak_ptr的常规操作 lock(); use_count(); expired(); reset(); shared_ptr & weak_ptr 尺寸 智能指针结构框架 常见使用问题 shared_ptr多次引用同一数据,会导致两次释放同一内…...
ElementUI浅尝辄止18:Avatar 头像
用图标、图片或者字符的形式展示用户或事物信息。 常用于管理系统或web网站的用户头像,在用户账户模块更换头像操作也能看到关于Avatar组件的应用。 1.如何使用? 通过 shape 和 size 设置头像的形状和大小。 <template><el-row class"de…...
1688API技术解析,实现按图搜索1688商品(拍立淘)
一种可能的解决方案是使用图像识别和相似度匹配的算法。您可以通过将输入的图片与1688上的商品图片进行比对,找出最相似的商品。这涉及到图像特征提取、相似度计算以及数据库匹配等技术。您可以使用开源的图像处理库(如OpenCV)来进行图像处理…...
【面试经典150题】买卖股票的最佳时机
题目链接 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的…...
selenium可以编写自动化测试脚本吗?
Selenium可以用于编写自动化测试脚本,它提供了许多工具和API,可以与浏览器交互,模拟用户操作,检查网页的各个方面。下面是一些步骤,可以帮助你编写Selenium自动化测试脚本。 1、安装Selenium库和浏览器驱动程序 首先…...
CXL.mem M2S Message 释义
🔥点击查看精选 CXL 系列文章🔥 🔥点击进入【芯片设计验证】社区,查看更多精彩内容🔥 📢 声明: 🥭 作者主页:【MangoPapa的CSDN主页】。⚠️ 本文首发于CSDN,…...
使用boost::geometry::union_ 合并边界(内、外):方案二
使用boost::geometry::union_ 合并边界(内、外):方案二 typedef boost::geometry::model::d2::point_xy<double> boost_point; typedef boost::geometry::model::polygon<boost_point> boost_Polygon;struct Point {float x;floa…...
ICCV 2023 | 小鹏汽车纽约石溪:局部上下文感知主动域自适应LADA
摘要 主动域自适应(ADA)通过查询少量选定的目标域样本的标签,以帮助模型从源域迁移到目标域。查询数据的局部上下文信息非常重要,特别是在域间差异较大的情况下,然而现有的ADA方法尚未充分探索这一点。在本文中&#…...
stable diffusion实践操作-黑白稿线稿上色
系列文章目录 本文专门开一节【黑白稿线稿上色】写相关的内容,在看之前,可以同步关注: stable diffusion实践操作 文章目录 系列文章目录前言一、操作步骤1. 找到黑白线稿图 总结 前言 本章主要介绍黑白稿线稿上色,这是通过Cont…...
Python学习教程:集合操作的详细教程
前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 Python中有两种可以遍历的容器类型: 序列类型:包含字符串、列表、元祖 序列类型是线性表,就像数组一样,是在内存中开辟一块连续空间,连续存储的, 那么查找…...
球球的排列
题目传送门 引 计数DP,好像特别经典,有两种做法,我只会 O ( n 3 ) O(n^3) O(n3),有 O ( n 2 ) O(n^2) O(n2)的 解法 首先, 若 x y p 2 且 x z q 2 , 则 y z ( p q x ) 2 若xyp^2且xzq^2,则yz(\frac{pq}{x} )^2 若xyp2且xzq2,则yz(xpq…...
1783_CMD启动MATLAB同时执行一个脚本
全部学习汇总: GitHub - GreyZhang/g_matlab: MATLAB once used to be my daily tool. After many years when I go back and read my old learning notes I felt maybe I still need it in the future. So, start this repo to keep some of my old learning notes…...
C语言中内存分配的几种方式
目录 C语言中内存分配的几种方式静态内存分配栈内存分配堆内存分配内存映射文件 C语言中内存分配的几种方式 静态内存分配 静态内存分配是在程序编译时分配内存,通常用于全局变量和静态变量。这些变量的内存空间在程序的整个运行期间都是存在的。 栈内存分配 栈内存…...
组相联cache如何快速实现cache line eviction并使用PMU events验证
如何快速实现cache line eviction 一,什么是cache hit、miss、linefill、evict ?1.1 如果要程序员分别制造出cache hit、miss、linefill、evict这四种场景,该怎么做? 二,实现cache line eviction的方法1.1 直接填充法3…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
