当前位置: 首页 > article >正文

Ubuntu下mysql主从复制搭建

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

0、环境

  • ubuntu: 22.04
  • mysql:8.4

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添加用户并授权

命令行连接mysql(mysql -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 TO
  SOURCE_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.kler.cn/a/551768.html

相关文章:

  • three.js+WebGL踩坑经验合集(8.2):z-fighting叠面问题和camera.near的坑爹关系
  • 【系列教程】Python第三课:用前两课知识解决实际问题
  • ES8中 async 和await的用法详细的总结
  • LabVIEW无刷电机控制器检测系统
  • 【算法】回溯算法
  • 基于YOLO11深度学习的心脏超声图像间隔壁检测分割与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能
  • rtsp协议分析
  • 蓝桥杯题目(生日蜡烛)
  • 读书笔记 - 修改代码的艺术
  • 【机器学习】衡量线性回归算法的指标:MSE、RMSE、MAE
  • DeepSeek的本地化部署
  • DeepSeek之高并发架构设计
  • Qt开发③Qt的信号和槽_概念+使用+自定义信号和槽+连接方式
  • 突破平面限制:低空经济激活城市土地“立体生长力”
  • Perl语言的系统运维
  • IntelliJ配置Maven
  • 黑神话悟空风格事务解读snapshot
  • Flutter CupertinoNavigationBar iOS 风格导航栏的组件
  • 【Java】泛型与集合篇(四)
  • C++ Primer 类的其他特性