Ubuntu下mysql主从复制搭建

发布于:2025-02-19 ⋅ 阅读:(16) ⋅ 点赞:(0)

本文介绍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搭建主从集群和之前的版本稍有不同,但步骤是不变的,只是命令稍有变化,大家搭建的时候发现命令错误,大概率就是命令变了。

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


网站公告

今日签到

点亮在社区的每一天
去签到