容器化 | 在 KubeSphere 中部署 MySQL 集群

容器化 | 在 KubeSphere 中部署 MySQL 集群,第1张

本文将演示如何在 KubeSphere[1] 上部署 RadonDB MySQL on Kubernetes 2.1.2 ,快速实现高可用的 MySQL on K8s。

若已在 KubeSphere 部署过历史版本 Operator,可以选择如下方式更新到最新版本。

可任选一个 RadonDB MySQL 配置示例[5] 部署,或自定义配置部署。

以 mysql_v1alpha1_mysqlcluster.yaml 模版为例,创建一个 RadonDB MySQL 集群

注意

未指定项目时,集群将被默认安装在 kubesphere-controls-system 项目中。若需指定项目,安装命令需添加 --namespace=<project_name>。

预期结果

预期结果

在 demo-project 项目中,查看 RadonDB MySQL 集群状态。

至此,完成在 KubeSphere 中部署 RadonDB MySQL 集群。

[1]:KubeSphere: https://kubesphere.com.cn

[2]:OpenPitrix: https://kubesphere.io/zh/docs/pluggable-components/app-store

[3]:创建 *** 作: https://kubesphere.io/zh/docs/quick-start/create-workspace-and-project

[4]:项目网关: https://kubesphere.io/zh/docs/project-administration/project-gateway

[5]:配置示例: https://github.com/radondb/radondb-mysql-kubernetes/blob/main/config/samples

目的使用docker安装mysql主从集群

docker pull mysql:5.7.33

mkdir -p mydata/mysql/master/log

mkdir -p mydata/mysql/master/data

mkdir -p mydata/mysql/master/conf

docker run -p 3307:3306 --name mysql-master -v /mydata/mysql/master/log:/var/log/mysql -v /mydata/mysql/master/data:/var/lib/mysql -v /mydata/mysql/master/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.33

docker run -p 3308:3306 --name mysql-slave1 -v /mydata/mysql/slave1/log:/var/log/mysql -v /mydata/mysql/slave1/data:/var/lib/mysql -v /mydata/mysql/slave1/conf:/etc/mysql --link mysql-master:master -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.33

docker run -p 3309:3306 --name mysql-slave2 -v /mydata/mysql/slave2/log:/var/log/mysql -v /mydata/mysql/slave2/data:/var/lib/mysql -v /mydata/mysql/slave2/conf:/etc/mysql --link mysql-master:master -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.33

映射文件夹修改配置

vi /mydata/mysql/conf/my.conf

下面是my.conf配置文件内容

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

skip-name-resolve

再修改my.cnf配置

vi /mydata/mysql/conf/my.cnf

下面是my.cnf配置文件内容

[mysqld]

log-bin=/var/lib/mysql/mysql-bin

server-id=1001

expire_logs_days = 30

docker restart mysql

docker exec -it mysql bash

mysql -u root -p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lens2022'

grant replication slave on . to 'upstream'@'%' identified by '123456'

flush privileges

show variables like '%log_bin%'

show master status\G

stop slave

change master to master_host='master', master_user='slave', master_password='123456', master_port=3307, master_log_file='mysql-bin.000001', master_log_pos=154, master_connect_retry=30

start slave

show slave status\G

如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;

如果Slave收到提交请求,它们就会提交事务,并向Master发送事务已提交 的确认;

如果Slave收到取消请求,它们就会撤销所有改变并释放所占有的资源,从而中止事务,然后向Masterv送事务已中止的确认。

随着计算机和信息技术的迅猛发展和普及,行业应用系统的规模迅速扩大,行业应用所产生的数据量量呈爆炸式增长,类似于MySQL集群这样的技术得到了广泛的运用,MySQL集群原理的运用就显得尤其重要。

动力节点的MySQL集群教程 ,对于MySQL集群技术的应用场景有着详细的介绍,能够有效帮助我们学以致用, 教程主要从MySQL集群架构解析到架构部署再到集群架构测试,一步步带你部署企业级的MySQL数据库集群项目,熟悉各个环节技术点,提升数据库架构设计能力。

https://www.bilibili.com/video/BV1Rg4y1i7VR

http://www.bjpowernode.com/?toutiao

•001.MySQL集群视频教程:主从复制介绍

•002.MySQL集群视频教程:主从复制结构

•003.MySQL集群视频教程:主从复制流程原理

•004.MySQL集群视频教程:多实例安装

•005.MySQL集群视频教程:多实例链接

•006.MySQL集群视频教程:一主多从-配置

•007.MySQL集群视频教程:-一主多从测试

•008.MySQL集群视频教程:双主双从配置

•009.MySQL集群视频教程:双主双从测试

•010.MySQL集群视频教程:多数据源-环境搭建

•011.MySQL集群视频教程:多算数据源实现

•012.MySQL集群视频教程:修复MySLQ主从复制

•013.MySQL集群视频教程:多数据源的问题

•014.MySQL集群视频教程:动态数据源

•015.MySQL集群视频教程:动态数据源执行流程

•016.MySQL集群视频教程:SpringBoot集成多数据源

•017.MySQL集群视频教程:SpringBoot集成多数据源问题

•018.MySQL集群视频教程:SpringBoot集成动态数据源


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5904821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存