MySQL8.0 主从部署(一主两从)

MySQL8.0 主从部署(一主两从)

准备部署环境

服务器名称操作系统版本管理IP数据库版本
mysql-001(主)centos 7.9192.168.2.21MySQL 8.0.30
mysql-002(从)centos 7.9192.168.2.2MySQL 8.0.30
mysql-003(从)centos 7.9192.168.2.7MySQL 8.0.30

安装MySQL8.0

部署手册参考《MySQL 8.0 安装指导》:MySQL 8.0 安装指导

主节点添加主从同步账户

用户创建和授权,相关命令如下:

mysql> 	CREATE USER 'replicate_user'@'%' IDENTIFIED BY '*********';				#创建用户,实际密码替换*
mysql>	alter user 'replicate_user'@'%' identified with mysql_native_password by '*********'; #修改密码
mysql>	grant all privileges on *.* to 'replicate_user'@'%' with grant option;	#修改权限
mysql>	flush privileges;	#刷新权限

配置二进制日志binlog以及添加server-id

1、主从所有节点

[root@server1 /]$ systemctl stop mysqld
[root@server1 /]$ vim /etc/my.cnf

2、主节点/etc/my.cnf配置内容

log-bin=mysql-bin
server-id=xxx

3、从节点/etc/my.cnf配置内容

server-id=xxx

只有主节点需要配置log-bin;主从节点配置的server-id必须配置且数值不同;

主节点配置如下;

在这里插入图片描述

从节点配置如下:

在这里插入图片描述

重置主节点MySQL偏移量

mysql> reset master;				#重置偏移量,如果不重置,从节点也会创建replicate_user同步用户
mysql> show master status;			#查看master信息

在这里插入图片描述

获取信息如下,从节点配置会用到:

bin-log文件:mysql-bin.000001

Position:157

注册从节点

登陆从节点数据库配置

mysql> 	stop slave;
mysql>	reset slave;
mysql>	change master to master_host='192.168.2.21',master_user='replicate_user',master_port=3306,master_password='********',master_log_file='mysql-bin.000001',master_log_pos=157;

参数解释:

master_host : 主节点IP
master_user : 主从同步账户
master_port : 主节点mysql服务的端口号
master_password : 主从同步账户的密码
master_log_file : master节点获取的二进制文件名字
master_log_pos : master节点获取的Position值

启动从节点slave

1、从节点启动

mysql> 	start slave;
mysql>	show slave status \G

从节点结果如下:

在这里插入图片描述

这两项参数 为 YES说明搭建成功了:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

2、修改从节点为只读;

默认数据库实例是可读写,为保持数据一致性,建议从库配置为只读。

mysql> 	set global read_only=1;						#read_only=1,普通用户只读,超级用户可读写
或者
mysql> 	set global super_read_only=1;				#super_read_only=1,超级用户只读
mysql>	show global variables like '%read_only%';	#查询只读状态

配置结果如下:

在这里插入图片描述

主从同步测试

1、主节点创建test_mysql库,从节点查看是否同步;

主节点:

在这里插入图片描述

2、从节点查询:

在这里插入图片描述

通过主从数据库查询结果可知,主从同步配置正常。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes(k8s)是一个用于自动化部署、扩展和管理容器化应用程序的开源平台。MySQL是一个流行的关系型数据库管理系统。在Kubernetes上部署MySQL8.0主从集群意味着在该平台上使用容器化的方式来管理MySQL数据库主从集群是一种数据库复制的架构,用于提高数据库的可用性和性能。 要在Kubernetes上部署MySQL8.0主从集群,首先需要创建一个包含MySQL8.0镜像的容器,并定义相应的Pod和Service。然后可以使用Kubernetes的Deployment和StatefulSet等资源对象来定义MySQL主从集群的部署配置。可以通过定义多个Replica来实现数据库的水平扩展,同时可以使用Kubernetes的存储卷来实现数据的持久化存储,并通过Service来实现集群内部和外部的访问。 Kubernetes提供了一些工具和资源对象,如PersistentVolume(PV)、PersistentVolumeClaim(PVC)等,可以帮助用户管理数据库的持久化存储。此外,Kubernetes还提供了一些网络策略和服务发现的功能,可以帮助用户实现容器间的通信和负载均衡。 通过使用Kubernetes的灵活性和强大的管理能力,可以方便地部署和管理MySQL8.0主从集群,实现高可用性和高性能的数据库服务。同时,Kubernetes的自动扩展和自愈能力也可以帮助用户实现数据库集群的自动化管理,提高运维效率。因此,Kubernetes是一个理想的平台,用于部署和管理MySQL8.0主从集群。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值