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

钦州做网站整合营销活动策划方案

钦州做网站,整合营销活动策划方案,青岛市住房和城乡建设局官方网站,注册安全工程师准考证打印入口目录 环境准备 拉起容器节点 容器中安装用到的工具 配置hosts文件 安装插件 创建复制用户 my.cnf文件配置 master节点 slave1节点 slave2节点 启动MGR master节点 slave1节点 slave2节点 查看三个节点是否加入组内 问题分析 端口问题 端口参数配置问题 连接…

目录

环境准备

拉起容器节点

容器中安装用到的工具

配置hosts文件

安装插件

创建复制用户

my.cnf文件配置

master节点

slave1节点

slave2节点

启动MGR

master节点

slave1节点

slave2节点

查看三个节点是否加入组内

问题分析

端口问题

端口参数配置问题

连接到源服务器时用户名无效

hosts文件配置问题

slave节点执行的事务比组中存在的事务多


master

slave1

slave2

IP

172.17.0.5

172.17.0.6

172.17.0.7

VERSION

8.0.37

8.0.37

8.0.37

环境准备

拉起容器节点

#拉起master节点
docker run -itd --name mysql_mgr_master_8.0.37 -e MYSQL_ROOT_PASSWORD=123456 -p 3310:3306 -v /var/lib/docker/mysql-mgr-master-8.0.37:/var/lib/mysql 8279f68ee77d
#拉起slave1节点
docker run -itd --name mysql_mgr_slave1_8.0.37 -e MYSQL_ROOT_PASSWORD=123456 -p 3320:3306 -v /var/lib/docker/mysql-mgr-slave1-8.0.37:/var/lib/mysql 8279f68ee77d
#拉起slave2节点
docker run -itd --name mysql_mgr_slave2_8.0.37 -e MYSQL_ROOT_PASSWORD=123456 -p 3330:3306 -v /var/lib/docker/mysql-mgr-slave2-8.0.37:/var/lib/mysql 8279f68ee77d

容器中安装用到的工具

拉起三个节点后进入容器使用microndnf命令安装下面两个工具,等会配置的时候需要用到

microdnf install -y vim net-tools

配置hosts文件

三个节点都要配置

这里有个遗留问题,不知道为什么每次容器重启后hosts文件都会重置,导致MGR复制出错,详见问题分析

error log

Error connecting to source 'rep@fd8fe63cc738:3306'. This was attempt 1/1, with a delay of 60 seconds between attempts. Message: Unknown MySQL server host 'fd8fe63cc738' (-2)

#容器节点ip      #容器id
172.17.0.5      fd8fe63cc738
172.17.0.6      e5b0f9986741
172.17.0.7      6d570814d8bb

安装插件

三个节点中分别安装MGR插件

INSTALL PLUGIN group_replication SONAME 'group_replication.so';

创建复制用户

创建用来复制的用户

create user 'rep'@'%' identified by '123456';
grant replication slave on *.* to 'rep'@'%' ;
flush privileges;

my.cnf文件配置

下面文件中使用的UUID随机生成就可以

select uuid();

master节点

port = 3306
bind-address = 0.0.0.0log-bin
server-id=1
gtid_mode=ON
enforce_gtid_consistency=1#Plugin_dir=/usr/lib64/mysql/plugin#禁用二进制日志事件校验,MGR不支持带checksum的binlog event
binlog_checksum=NONEloose-group_replication_recovery_get_public_key=ON
loose-group_replication_recovery_use_ssl=ON#使用哈希算法
transaction_write_set_extraction=XXHASH64
#组复制的组名
loose-group_replication_group_name="ba3350b0-0abc-11f0-a872-0242ac110006"
#不自动启动组复制
loose-group_replication_start_on_boot=OFF
#本机地址和端口
loose-group_replication_local_address="172.17.0.5:33061"
#组中成员
loose-group_replication_group_seeds="172.17.0.5:33061,172.17.0.6:33061,172.17.0.7:33061"
#不启用引导组,手动引导启动
loose-group_replication_bootstrap_group=OFF

slave1节点

port = 3306
bind-address = 0.0.0.0log-bin
server-id=2
gtid_mode=ON
enforce_gtid_consistency=1binlog_checksum=NONE#这个参数决定primary节点到secondary节点的请求是否为基于 RSA 密钥对的密码交换所需的公钥
loose-group_replication_recovery_get_public_key=ON
loose-group_replication_recovery_use_ssl=ON
loose-group_replication_group_name="ba3350b0-0abc-11f0-a872-0242ac110006"
loose-group_replication_start_on_boot=OFFloose-group_replication_local_address="172.17.0.6:33061"
loose-group_replication_group_seeds="172.17.0.5:33061,172.17.0.6:33061,172.17.0.7:33061"
loose-group_replication_bootstrap_group=OFF

slave2节点

port = 3306
bind-address = 0.0.0.0log-bin
server-id=3
gtid_mode=ON
enforce_gtid_consistency=1binlog_checksum=NONEloose-group_replication_recovery_get_public_key=ON
loose-group_replication_recovery_use_ssl=ON
loose-group_replication_group_name="ba3350b0-0abc-11f0-a872-0242ac110006"
loose-group_replication_start_on_boot=OFFloose-group_replication_local_address="172.17.0.7:33061"
loose-group_replication_group_seeds="172.17.0.5:33061,172.17.0.6:33061,172.17.0.7:33061"
loose-group_replication_bootstrap_group=OFF

启动MGR

master节点

SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;

slave1节点

#指定主从账户与指定通信频道
CHANGE MASTER TOMASTER_USER = 'rep',MASTER_PASSWORD = '123456'FOR CHANNEL 'group_replication_recovery';
#启动组复制
START GROUP_REPLICATION;

slave2节点

#指定主从账户与指定通信频道
CHANGE MASTER TOMASTER_USER = 'rep',MASTER_PASSWORD = '123456'FOR CHANNEL 'group_replication_recovery';
#启动组复制
START GROUP_REPLICATION;

查看三个节点是否加入组内

SELECT * FROM performance_schema.replication_group_members;

问题分析

端口问题

mysql没有监听tcp4的3306端口,导致MGR复制失,再配置文件中开启即可

port = 3306
bind-address = 0.0.0.0

端口参数配置问题

下面的这两个参数配置错误导致组成员无法加入复制组

loose-group_replication_local_address="172.17.0.5:3306"
loose-group_replication_group_seeds="172.17.0.5:3306,172.17.0.6:3306,172.17.0.7:3306"

修该端口号即可

loose-group_replication_local_address="172.17.0.5:33061"
loose-group_replication_group_seeds="172.17.0.5:33061,172.17.0.6:33061,172.17.0.7:33061"

连接到源服务器时用户名无效

这里报错是因为再指定主从账户与指定通信频道的时候还是使用了异步复制的那套配置,查看官方文档后发现这里其实是有区别的

https://dev.mysql.com/doc/refman/8.0/en/group-replication-adding-instances.html

但是这里改变之后又遇到了另一个问题,无法在通道“group_REPLICATION_recovery”上使用给定参数更改复制源,起初以为是复制通道名称的问题,但是换掉名称还是不行,后来查看官网后发现这里没有获取公钥的配置(GET_MASTER_PUBLIC_KEY = 1),去掉后果然成功了,但是为什么?

最初GET_MASTER_PUBLIC_KEY = 1是为了解决MySQL8.0中密码插件改变导致异步复制的时候slave节点使用rep复制账号连接失败的问题,但是为什么这里指定通道后会出现这个问题?(待分析)

error log

ERROR 3139 (HY000): CHANGE REPLICATION SOURCE with the given parameters cannot be performed on channel 'group_replication_recovery'.

https://dev.mysql.com/doc/refman/8.0/en/change-master-to.html

嗯,经过一段的时间的排查确定了group_replication_recovery通道有自己的安全机制和配置要求,所以在配置通道的时候不允许使用get_master_public_key

昨天搭建好后,今天去看发现master节点的容器挂掉了,slave1节点选举成了新的master节点,

嗯,发现这个问题后手动的拉起了之前挂掉的master节点,但是拉起之前挂掉master节点后,发现处于recovering状态,于是赶紧去看error log,这就出现了之前提到了8.0密码插件的问题(在从库连接主库的时候使用的是不被 caching_sha2_password认可的RSA公钥,所以主库MySQL拒绝了数据库连接的请求,从而,从库报错’caching_sha2_password’ reported error:Authentication require secure connection。)

select * from performance_schema.replication_connection_status\G

嗯,在组复制中要解决这个问题其实也很简单只需要在MySQL的配置文件中加入

loose-group_replication_recovery_get_public_key=ON就可以了

hosts文件配置问题

最开始的时候其实是没有去配置hosts文件的,导致出现找不到主机的报错,再容器节点的hosts文件中添加主机映射就可以了,

error log

2025-03-27T08:59:18.354273Z 25 [ERROR] [MY-010584] [Repl] Replica I/O for channel 'group_replication_recovery': Error connecting to source 'rep@fd8fe63cc738:3306'. This was attempt 1/1, with a delay of 60 seconds between attempts. Message: Unknown MySQL server host 'fd8fe63cc738' (-2), Error_code: MY-002005

但是这里又遇到一个问题,容器节点重启的时候会重置hosts文件,

嗯,经过一段时间的定位,原因找到了,但是怎么解决呐

csdn:docker容器重启之后/etc下某些配置文件被重置的问题_docker run gitlab重启配置文件被还原-CSDN博客

解决方法:可以再容器中写个脚本去自动修改hosts文件,然后再容器启动的时候自动执行这个脚本(/etc/rc.local),最后在/root/.bashrc文件中重新加载下就可以了

#/etc/rc.local
echo "127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.5      fd8fe63cc738
172.17.0.6      e5b0f9986741
172.17.0.7      6d570814d8bb" > /etc/hosts
#/root/.bashrc
source /etc/rc.local

slave节点执行的事务比组中存在的事务多

解决方法:

停止组复制-清除事务日志-重启组复制

STOP GROUP_REPLICATION;
RESET MASTER;
START GROUP_REPLICATION;
http://www.dtcms.com/wzjs/288112.html

相关文章:

  • 深圳四站合一网站建设电话软文营销代理
  • wordpress做旅游网站搜索引擎优化课程
  • 番禺建设银行网站首页洗发水营销推广软文800字
  • 维护网站费用怎么做会计凭证北京网站seo优化推广
  • 免备案网站建设seoaoo
  • 如何选择电商网站建设营销app
  • 济南房产网经纪人端重庆网页优化seo
  • 锡林浩特建设局网站网站内链优化
  • 大武口网站建设抖音seo排名优化
  • 临沂做公司网站seow
  • 谁做的新闻网站比较好网络黄页平台网址有哪些
  • 帮人做网站赚钱中国十大品牌营销策划公司
  • 集团网站建设方案书什么叫做优化
  • 淅川微网站开发比百度好用的搜索软件
  • 深圳网站建设计站长之家新网址
  • 购物网站设计公司深圳靠谱网站建设公司
  • 网站建设基本常识网络营销产品策略分析
  • 福永镇网站建设网络营销大赛策划书
  • wordpress 文章收费seo排名怎么样
  • 经典的公司简介百度关键词优化是什么意思
  • 做一个购物网站要多少钱学it学费大概多少钱
  • 公司公众网站微信平台建设方案论坛推广的步骤
  • 来推网站百度浏览器网站入口
  • 织梦cms和帝国cmswin7优化
  • 在华图做网站编辑网络推广费用
  • 如何做招聘网站对比分析电脑优化大师官方免费下载
  • 建设网站团队如何快速搭建一个网站
  • 网站开发哪里便宜人工在线客服
  • 食品网站设计网站建设费用明细表
  • 怎么在百度搜索自己的网站站长工具箱