本文介绍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添加用户并授权
命令行连接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 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搭建主从集群和之前的版本稍有不同,但步骤是不变的,只是命令稍有变化,大家搭建的时候发现命令错误,大概率就是命令变了。
好了,今天就到这里了。
//~~