Ubuntu下mysql主从复制搭建

news/2025/2/20 19:25:53/

本文介绍mysql 8.4主从集群的搭建,从单个机器安装到集群的配置,整体走了一遍,希望对大家有帮助。mysql 8.4和之前的版本命令上有些变化,大家用来参考。

0、环境

mysql_6">1、安装mysql

1.1、更新apt repository

下载文件,地址: https://dev.mysql.com/downloads/repo/apt/。
下载完成后,执行命令:

sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb

命令执行后,会询问要安装的版本等信息,按照提示最后确定即可。
完了后,更新apt repository:

sudo apt update

1.2、安装

sudo apt install mysql-server

等待下载完成,期间会让设置root用户的密码,按你的计划输入即可。等待安装完成,此时查看一下mysql服务运行状态。

sudo systemctl status mysql

在这里插入图片描述

2、master-slave配置

上面仅安装了master上的mysql,slave安装过程相同,此处不再赘述。在这里先简单说一下规划:

  • master:192.168.99.100 : 3306
  • slave:192.168.99.120 : 3306

保证这两台机器局域网互通,并且操作系统上的防火墙开发3306端口。下面按照步骤开始配置。

2.1、master添加配置

打开 /etc/mysql/my.cnf,添加红色框内的配置:
在这里插入图片描述
保存后,重启mysql

sudo systemctl restart mysql

2.2、slave-01添加配置

同master一样,修改my.cnf,添加如下配置:
在这里插入图片描述
注意:server-id不能与集群中的其他机器相同,并且是正整数。

2.3、master添加用户并授权

命令行连接mysqlmysql -uroot -p123456),然后执行命令:

create user 'repl'@'192.168.99.%' identified by 'mysql';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.99.%';

执行成功后,咱们继续。还是在master机器上。

2.4、获取binlog位置

 show binary log status\G;

效果如下图:
在这里插入图片描述
我们要的就是上图的File和Position,后面要用。

2.5、slave配置

slave连接mysql,并执行如下命令:

 CHANGE REPLICATION SOURCE TOSOURCE_HOST='192.168.99.100',SOURCE_USER='repl',SOURCE_PASSWORD='mysql',SOURCE_LOG_FILE='mysql-bin.000001',SOURCE_LOG_POS=944,GET_SOURCE_PUBLIC_KEY=1;

命令中上面几个都能看明白,按照上面的配置填写即可。
最后一个GET_SOURCE_PUBLIC_KEY=1,是指通过普通密码验证,之前的版本是没有这项配置的。

执行完后,查看一下slave的状态。注意:mysql8.4命令有变化,之前的slave现在都改成了replica

show replica status\G;

效果如下:
在这里插入图片描述
红色标注的地方都是‘yes’,就说明主从复制配置完成了。

3、小结

总的来说,mysql 8.4搭建主从集群和之前的版本稍有不同,但步骤是不变的,只是命令稍有变化,大家搭建的时候发现命令错误,大概率就是命令变了。

好了,今天就到这里了。
//~~


http://www.ppmy.cn/news/1573375.html

相关文章

2025年AI免费大战:从DeepSeek到GPT-5的商业逻辑与行业变革

引言:人工智能行业的2025年重大转折 2025年伊始,人工智能行业的竞争格局发生了深刻变化,尤其是以DeepSeek为代表的新兴力量,通过低成本开源策略迅速崛起,迫使OpenAI、百度文心一言等人工智能巨头纷纷调整策略&#xf…

AWS Lambda自动化部署流程指南

本文详细介绍从代码开发到AWS Lambda部署的完整自动化流程。 一、流程概览 © ivwdcwso (ID: u012172506) 1.1 流程图 #mermaid-svg-K7NI3p8n1wqwExc1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-K7NI3p8…

Spring Boot(8)深入理解 @Autowired 注解:使用场景与实战示例

搞个引言 在 Spring 框架的开发中,依赖注入(Dependency Injection,简称 DI)是它的一个核心特性,它能够让代码更加模块化、可测试,并且易于维护。而 Autowired 注解作为 Spring 实现依赖注入的关键工具&…

相亲说shell运行原理和操作系统初涉及

shell命令以及运行原理 shell概念: 我们所学习的Linux操作系统广义上其实分为两个部分:Linux内核和外壳程序 Linux内核:也被称为狭义上的操作系统 外壳程序:就是对我们写的命令行向Linux内核进行翻译,也叫做shell(…

2025 年 1 月公链行业研报:比特币主导地位强化

2025 年 1 月公链行业研报 作者:Stella L (stellafootprint.network) 数据来源:Footprint Analytics 公链研究页面 2025 年 1 月,加密市场总市值增长 7.2% 至 2.8 万亿美元,主要区块链平台表现分化。在新的监管政策与人工智能基…

day11_实时类标签和ElasticSearch高级

文章目录 day11_实时类标签和ElasticSearch高级一、实时代码重构(掌握)1、重构思路2、基类2.1 ETL基类2.2 指标统计基类2.3 标签计算基类2.4 继续往上抽取爷爷类(扩展) 3、重构后的代码3.1 Nginx日志3.2 用户行为日志3.3 转换率标…

python环境的yolov11.rknn物体检测

1.首先是我手里生成的一个yolo11的.rknn模型: 2.比对一下yolov5的模型: 2.1 yolov5模型的后期处理: outputs rknn.inference(inputs[img2], data_format[nhwc])np.save(./onnx_yolov5_0.npy, outputs[0])np.save(./onnx_yolov5_1.npy, outpu…

面试完整回答:SQL 分页查询中 limit 500000,10和 limit 10 速度一样快吗?

首先:在 SQL 分页查询中,LIMIT 500000, 10 和 LIMIT 10 的速度不会一样快,以下是原因和优化建议: 性能差异的原因 LIMIT 10: 只需要扫描前 10 条记录,然后返回结果。 性能非常高,因为数据库只…