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

东莞网站建设模板设计做的一个网站多少钱

东莞网站建设模板设计,做的一个网站多少钱,商标注册证查询网,2023最新舆情信息完整版目录 环境准备 拉起容器节点 容器中安装用到的工具 配置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/833474.html

相关文章:

  • 自己建设网站需要什么手续如何搭建自己的博客
  • 乐清住房和城乡建设部网站官网win7系统下动网站建设
  • 网站建设方案范文wordpress获取分类名称
  • 网站开发项目的规划与设计文档网站链接怎么做标记
  • 佛山企业网站搭建公司整站优化服务
  • 文化公司网站建设策划书晋城购物网站开发设计
  • 网站后台生成器海淀做网站的网络公司
  • 做网站找雷鸣浏览器网站免费进入
  • 盐城市城乡建设门户网站临西县建设网站
  • 怎么制作网站详细流程怎么用IP做网站地址
  • 临清做网站网址注册局
  • 网站建立明细预计表台州关键词排名优化
  • 网站备案主体是什么宿迁企业做网站
  • 虚拟空间的网站赚钱吗一级建造师招聘网最新招聘
  • 固原网站建设广告设计策划公司
  • 酒店网站建设价格wordpress点击退出图片
  • 北京律师网站建设平台element ui设计网站
  • 如何能快速搜到新做网站链接在线网页截图
  • 网站建设制作fash网站建设迅雷
  • 创建网站需要备案吗月流量10g的网站
  • 南充网站建设价格泊头公司做网站
  • 专业门户网站开发株洲关键词优化公司
  • 如何免费创建网站什么网站免费建设
  • 快手刷作品双击自助网站晋城seo
  • 青海住房与城乡建设厅网站wordpress可以做淘宝
  • 电子商务网站建设 考卷沙河高端网站建设
  • 专业做w7系统的网站领动网站建设
  • 北京城乡建设厅网站做服装外贸哪个网站好
  • 口碑好的定制网站建设制作商网站优化公司
  • 做一年的网站维护价格长春网络哪个好