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

郑州知名做网站公司有哪些江苏百度推广代理商

郑州知名做网站公司有哪些,江苏百度推广代理商,中企动力企业电子商务,采集微信公众号 做网站记录一下简单的搭建步骤以便后期查验 目录 前言步骤1. 安装环境2. 重新制作镜像3. 导入新镜像4. 创建容器 前言 假设已经搭建了MySQL8的MGR集群方式(一主两从)。 MGR本身有故障转移重新选举新的主节点功能,但是上游的应用程序需要自己手动修…

记录一下简单的搭建步骤以便后期查验

目录

  • 前言
  • 步骤
    • 1. 安装环境
    • 2. 重新制作镜像
    • 3. 导入新镜像
    • 4. 创建容器

前言

假设已经搭建了MySQL8的MGR集群方式(一主两从)。

MGR本身有故障转移重新选举新的主节点功能,但是上游的应用程序需要自己手动修改数据库连接地址重新指向主节点。

为了了能不用手动方式切换主节点需要中间代理访问程序,提供的方案有很多例如 nginx、keepalived、proxysql等,这里我们先选择使用keepalived,后期使用proxysql代理。

步骤

1. 安装环境

安装Docker和MGR 这里略过

2. 重新制作镜像

登录任意一个节点服务器,下载原始镜像

docker pull osixia/keepalived:2.0.20

创建临时容器

docker run --name keepalivedtest --cap-add=NET_ADMIN --cap-add=NET_BROADCAST --cap-add=NET_RAW -e KEEPALIVED_INTERFACE=enp6s0 --net=host -d osixia/keepalived:2.0.20

登录进临时容器

docker exec -it keepalivedtest /bin/bash

然后安装mysql客户端

apk add mysql mysql-client
...稍等片刻
...
安装完成后
退出容器 exit

从零时容器生成一个新的镜像:mgr_keepalived

docker commit keepalivedtest  mgr_keepalived:2.0.20

导出镜像文件,上传其他MGR节点服务器

 docker save -o mgr_keepalived2.tar mgr_keepalived:2.0.20

3. 导入新镜像

在每一个MGR节点服务器上导入镜像


docker load -i mgr_keepalived2.tar

4. 创建容器

这里假设3台服务器环境如下:

服务器文件路径备注
192.168.1.246/apps/keepalived/keepalived.conf /apps/keepalived/mysql_master_check.sh记得sh文件赋予可执行权限,当前MGR主节点
192.168.1.247/apps/keepalived/keepalived.conf /apps/keepalived/mysql_master_check.sh从节点
192.168.1.248/apps/keepalived/keepalived.conf /apps/keepalived/mysql_master_check.sh从节点

各服务器文件路径都一致, mysql_master_check.sh 脚本文件内容如下:

#!/bin/bash# 替换以下变量为你的实际MySQL用户、密码和端口
MYSQL_USER="rpl_user"
MYSQL_PASS="请填写账号密码"
MYSQL_PORT="请填写端口号"
MYSQL_HOST="请填写节点主机IP"# 检查MySQL服务是否运行
if nc -z "$MYSQL_HOST" "$MYSQL_PORT"; thenecho "MySQL 服务在 $MYSQL_HOST:$MYSQL_PORT 上正在运行"
elseecho "MySQL 服务在 $MYSQL_HOST:$MYSQL_PORT 上未运行"exit 1
fi# 检查当前节点是否为主节点
IS_MASTER=$(mysql -u"$MYSQL_USER" -p"$MYSQL_PASS" -P"$MYSQL_PORT" -h"$MYSQL_HOST" -e "SHOW GLOBAL VARIABLES LIKE 'read_only';" | grep -c "OFF")if [[ $IS_MASTER -eq 1 ]]; thenecho "当前节点是主节点"exit 0
elseecho "当前节点不是主节点"exit 1
fi

各个节点上的文件注意
MYSQL_USER=“rpl_user”
MYSQL_PASS=“请填写账号密码”
MYSQL_PORT=“请填写端口号”
MYSQL_HOST=“请填写节点主机IP”
这几个变量的修改!
用户 rpl_user是用于MGR复制用的,也可以填写其他的用户名,但是用户的密码认证方式必须是之前老式的 mysql_native_password ,因为镜像里面的mysql客户端暂不支持MySQL8默认的密码认证方式。

keepalived.conf 文件内容大致如下:

vrrp_script chk_mysql {script "/usr/local/bin/mysql_master_check.sh"interval 2weight 2
}vrrp_instance VI_1 {state MASTERinterface enp6s0virtual_router_id 51priority 101advert_int 1  authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.1.110}track_script {chk_mysql}
}

主要是如下几个变量要注意:

  • interface 当前节点服务器的网卡名称
  • priority 优先级,每一个节点上不一样
  • virtual_ipaddress 虚拟ip

3台节点服务器上创建容器如下:

docker run -d --name mgr8keepalived \--cap-add=NET_ADMIN \--cap-add=NET_BROADCAST \--cap-add=NET_RAW \--net=host \-e KEEPALIVED_INTERFACE=enp6s0 \-v /apps/keepalived/keepalived.conf:/container/service/keepalived/assets/keepalived.conf \-v /apps/keepalived/mysql_master_check.sh:/usr/local/bin/mysql_master_check.sh \mgr_keepalived:2.0.20 --loglevel debug --copy-service

变量 KEEPALIVED_INTERFACE 是指当前节点服务器的网卡名称,如果不想开启debug模式去掉–loglevel debug

查看docker日志一般会有如下信息:

...
Wed Jan 31 09:32:53 2024:    Reset ARP config counter 0
Wed Jan 31 09:32:53 2024:    Original arp_ignore 0
Wed Jan 31 09:32:53 2024:    Original arp_filter 0
Wed Jan 31 09:32:53 2024:    Original promote_secondaries 1
Wed Jan 31 09:32:53 2024:    Reset promote_secondaries counter 0
Wed Jan 31 09:32:53 2024:    Tracking VRRP instances = 0
Wed Jan 31 09:32:53 2024: (VI_1) Entering BACKUP STATE (init)
Wed Jan 31 09:32:53 2024: VRRP sockpool: [ifindex(2), family(IPv4), proto(112), unicast(0), fd(11,12)]
Wed Jan 31 09:32:53 2024: VRRP_Script(chk_mysql) succeeded
Wed Jan 31 09:32:53 2024: (VI_1) Changing effective priority from 101 to 103
Wed Jan 31 09:32:57 2024: (VI_1) Receive advertisement timeout
Wed Jan 31 09:32:57 2024: (VI_1) Entering MASTER STATE
Wed Jan 31 09:32:57 2024: (VI_1) setting VIPs.
Wed Jan 31 09:32:57 2024: Sending gratuitous ARP on enp6s0 for 192.168.1.110
Wed Jan 31 09:32:57 2024: (VI_1) Sending/queueing gratuitous ARPs on enp6s0 for 192.168.1.110
Wed Jan 31 09:32:57 2024: Sending gratuitous ARP on enp6s0 for 192.168.1.110
Wed Jan 31 09:32:57 2024: Sending gratuitous ARP on enp6s0 for 192.168.1.110
...

可以使用虚拟IP 192.168.1.110 连上看下是否可以操作数据库。

可以关闭一个MySQL实例看下keepalived的效果,是否还正常使用,虚拟IP此时是否浮动到新的主节点服务器上了。

http://www.khdw.cn/news/51715.html

相关文章:

  • 做58同城这样的网站有哪些广东免费网络推广软件
  • 专门做问卷的网站网络营销出来可以干什么工作
  • 手机网站电话漂浮代码互联网优化是什么意思
  • 腾讯公众号小程序西藏自治区seo 标题 关键词优化
  • 网站开发 先做前端吗企业品牌推广方案
  • 衡水网站建设的地方网站的优化
  • 网络推广公司经营范围廊坊首页霸屏优化
  • 做网站用的主机信息推广平台有哪些
  • 做网站选哪家公司好如何建立独立网站
  • 网站 app 哪个先做深圳营销推广引流公司
  • 网站建设风险控制外包项目接单平台
  • 推进人大门户网站建设百度网页翻译
  • 中小企业电商网站建设的重要性上海短视频seo优化网站
  • dw网页制作过程佛山seo按效果付费
  • 做头像网站天津关键词优化网排名
  • 嘉兴网站建设成都网站设计现在什么网络推广好
  • 有哪个网站是做水果批发的全国各大新闻网站投稿
  • wordpress多语言内容添加seo网课培训
  • 国外医院网站设计韩国日本比分
  • 天津低价网站建设网站外链是什么意思
  • Wordpress本地打开就很慢张家港seo建站
  • 做商城网站需要办理什么seo链接优化
  • 为公司设计一个网站巨量算数数据分析
  • 西安做酒店用品的网站广州seo实战培训
  • 什么网站可以做项目怎么做电商平台
  • 网上做论文的网站有哪些内容seo公司是什么意思
  • 网站建设90g 吾爱破解艺考培训学校
  • asp服装网站源码药品网络营销公司
  • 关于网站设计的会议站内优化
  • wordpress怎么弄垂直分类山东seo