Mysql主从服务安装配置

1.下载地址

MySQL :: Download MySQL Community Server (Archived Versions)icon-default.png?t=N7T8https://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 Fileicon-default.png?t=N7T8https://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 Filesicon-default.png?t=N7T8https://dev.mysql.com/doc/refman/8.0/en/option-files.html

3.安装命令

3.1安装主服务器

  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文件夹。

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

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

相关文章

Spark有两种常见的提交方式:client 模式和 cluster 模式对机器 CPU 的影响

Spark有两种常见的提交方式:client 模式和 cluster 模式。这两种方式对机器 CPU 的影响略有不同 ,请参考以下说明 Client 模式: 在 Client 模式下,Spark Driver 运行在提交任务的客户端节点上(即运行 spark-submit 命…

企业数据加密软件——「天锐绿盾」

「天锐绿盾」是一款企业数据加密软件,主要用于防止企业计算机信息被破坏、丢失和泄密。该软件采用文件过滤驱动实现透明加解密,对用户完全透明,不影响用户操作习惯。 PC访问地址: isite.baidu.com/site/wjz012xr/2eae091d-1b97-4…

Laravel 模型1对1关联 1对多关联 多对多关联 ⑩①

作者 : SYFStrive 博客首页 : HomePage 📜: THINK PHP 📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗 📌:觉得文章不错可以点点关注 &#x1f44…

DNS原理

文章目录 一、域名产生背景域名的树形层次化结构 二、定义三、DNS查询模式递归查询迭代查询 四、主机域名解析工作流程五、H3C配置DNS代理 首先可以看下思维导图,以便更好的理解接下来的内容。 一、域名 产生背景 在互联网中,通过IP地址访问目标主机…

Python:多变量赋值

相关文章 Python专栏https://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 Python中的赋值语句可以同时对多个变量进行对象绑定(赋值),既可以是多变量链式赋值,也可以是多变量平行赋值&#x…

【LeetCode75】第四十二题 删除二叉搜索数中的节点

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一棵二叉搜索树,给我们一个目标值,让我们删除节点值等于目标值的节点,并且删除之后需要保持…

React 18 在组件间共享状态

参考文章 在组件间共享状态 有时候,希望两个组件的状态始终同步更改。要实现这一点,可以将相关 state 从这两个组件上移除,并把 state 放到它们的公共父级,再通过 props 将 state 传递给这两个组件。这被称为“状态提升”&#…

ELK安装、部署、调试(一)设计规划及准备

一、整体规划如图: 【filebeat】 需要收集日志的服务器,安装filebeat软件,用于收集日志。logstash也可以收集日志,但是占用的系统资源过大,所以使用了filebeat来收集日志。 【kafka】 接收filebeat的日志&#xff…

Docker从认识到实践再到底层原理(二-1)|容器技术发展史+虚拟化容器概念和简介

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

数据结构(Java实现)-Map和Set

搜索树 概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 它的左右子树也…

Python爬虫-某网酒店数据

前言 本文是该专栏的第5篇,后面会持续分享python爬虫案例干货,记得关注。 本文以某网的酒店数据为例,实现根据目标城市获取酒店数据。具体思路和方法跟着笔者直接往下看正文详细内容。(附带完整代码) 正文 地址:aHR0cHM6Ly93d3cuYnRoaG90ZWxzLmNvbS9saXN0L3NoYW5naGFp …

105. 从前序与中序遍历序列构造二叉树

给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 思路:题目给出了先序遍历和中序遍历的结果,因为先序遍历遵循根–>左–>…

继承【C++】

文章目录 继承的概念继承的定义继承方式和访问限定符继承基类成员访问方式的变化 默认继承方式 基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承与友元静态成员菱形继承及菱形虚拟继承继承的方式 菱形虚拟继承菱形虚拟继承原理 继承的概念 继承(inheritance)…

自建音乐服务器Navidrome之二

6 准备音乐资源 可选 Last.fm Lastfm是 Audioscrobbler 音乐引擎设计团队的旗舰产品,以英国为总部的网络电台和音乐社区。有遍布232个国家超过1500万的活跃听众。据说有6亿音乐资源。 docker-compose.yml 配置 Navidrome 可以从 Last.fm 和 Spotify 获取专辑信息和…

用 ChatGPT 写代码太省时间了

几个月前,我们聊过陶哲轩使用 ChatGPT 辅助解决数学问题。当时,他觉得虽然测试结果不太令人满意,但也并没有对 ChatGPT 持完全否定的态度。他觉得,像 ChatGPT 这类大型语言模型在数学中可以用来做一些半成品的语义搜索工作&#x…

iOS开发Swift-4-IBAction,group,音乐播放器-木琴App

1.使用素材创建木琴App的UI。 2.连接IBAction。 其余按钮直接拖拽到play里边。 当鼠标置于1处时2处显示如图,表示成功。当用户按下任一按钮都会触发play中的内容。 3.将7个按钮的View中的Tag值分别调为1、2、3、4、5、6、7. 4.将音频文件拖入项目文件中。 Create gr…

VSCode连接服务器

Pycharm连接服务器参考我的另一篇文章Pycharm远程连接服务器_pycharm进入服务器虚拟环境终端_Jumbo星的博客-CSDN博客 本质上Pycharm和VSCode都只是IDE,没有什么好坏之分。但是因为Pycharm连接服务器(准确来说是部署)需要买professional。而…

Kubernetes技术--k8s核心技术Controller控制器

1.Controller概述 Controller是在集群上管理和运行容器的对象。是一个实际存在的对象。 2.pod和Controller之间的关系 pod通过controller实现应用的运维,包括伸缩、滚动升级等操作。 这里pod和controller通过label标签来建立关系。如下所示: 3.Deployment控制器应用场景 -1:…

MySQL 8.1.0 推出 InnoDB Cluster 只读副本

全面了解 8.1.0 版本新功能:InnoDB Cluster 只读副本的相关操作。 作者:Miguel Arajo 高级软件工程师 / Kenny Gryp MySQL 产品总监 本文来源:Oracle MySQL 官网博客 * 爱可生开源社区出品。 前言 MySQL 的第一个 Innovation 版本 8.1.0 已…

【小沐学Python】UML类图的箭头连线关系总结(python+graphviz)

文章目录 1、简介1.1 类图1.2 Graphviz 2、Graphviz2.1 安装2.2 命令行测试2.3 python测试 3、关系3.1 实现3.2 泛化3.3 关联3.4 依赖3.5 聚合3.6 组合 结语 1、简介 UML(unified modeling language,统一建模语言)是一种常用的面向对象设计的…