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

在线设计签名免费网站wordpress 数据库发布

在线设计签名免费网站,wordpress 数据库发布,wordpress添加夜间模式,网络加速器外网前言 本篇文章介绍MySQL8.0.27版本的组复制详细搭建过程#xff0c;教你如何快速搭建一个三节点的单主模式组复制集群。 实际上#xff0c;MySQL组复制是MySQL的一个插件 group_replication.so#xff0c;组中的每个成员都需要配置并安装该插件#xff0c;配置和安装过程…前言 本篇文章介绍MySQL8.0.27版本的组复制详细搭建过程教你如何快速搭建一个三节点的单主模式组复制集群。 实际上MySQL组复制是MySQL的一个插件 group_replication.so组中的每个成员都需要配置并安装该插件配置和安装过程见下文。 官方参考文档group-replication-deploying-in-single-primary-mode.html 1 部署规划 集群包含三个节点node1作为主库node2和node3作为从库。主库可以接收可读可写两个从库只能读取数据。 主机名ip地址成员角色版本号服务器版本node1192.168.131.10primaryMySQL8.0.27RHEL7.9node2192.168.131.20secondaryMySQL8.0.27RHEL7.9node3192.168.131.30secondaryMySQL8.0.27RHEL7.9 2 准备安装环境 准备安装环境的步骤三个节点node1、node2和node3都需要执行。 1关闭防火墙 [rootnode1 ~]# systemctl stop firewalld [rootnode1 ~]# systemctl disable firewalld #或者 [rootnode1 ~]# iptables -F2关闭selinux [rootnode1 ~]# setenforce 0 setenforce: SELinux is disabled [rootnode1 ~]# vim /etc/sysconfig/selinux SELINUXdisabled3 配置组复制实例 配置组复制实例的步骤三个节点node1、node2和node3都需要执行。 3.1 解压二进制包并创建软连接 [rootnode1 local]# tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz [rootnode1 local]# ln -s mysql-8.0.27-linux-glibc2.12-x86_64 mysql3.2 编辑 node1 配置文件 [rootnode1 local]# vim /etc/my.cnf添加如下配置 [mysqld] #Server Settingsbasedir/usr/local/mysql datadir/data/mysql/3306/data usermysql port3306 socket/data/mysql/3306/data/mysql.sock log_error/data/mysql/3306/data/mysqld.err log_timestampssystem skip_name_resolveTRUE report_host192.168.131.10 disabled_storage_enginesMyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY sql_require_primary_keyON#Replication Frameworkserver_id1 gtid_modeON enforce_gtid_consistencyON log_binbinlog log_slave_updatesON binlog_formatROW master_info_repositoryTABLE relay_log_info_repositoryTABLE transaction_write_set_extractionXXHASH64 super_read_onlyON binlog_transaction_dependency_trackingWRITESET#Group Replication Settingsplugin_load_addgroup_replication.so loose_group_replication_group_nameaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa loose_group_replication_start_on_bootoff loose_group_replication_local_address 192.168.131.10:33061 loose_group_replication_group_seeds 192.168.131.10:33061,192.168.131.20:33061,192.168.131.30:33061 loose_group_replication_bootstrap_groupoff loose_group_replication_recovery_get_public_keyON#Multi-Source Replication Settingsreplica_parallel_workers4 replica_parallel_typeLOGICAL_CLOCK slave_preserve_commit_order1[client] socket/data/mysql/3306/data/mysql.sock注意 需要手动将下面三个系统变量修改为自己实际环境中的配置report_host、loose_group_replication_local_address、loose_group_replication_group_seeds。 系统变量loose_group_replication_group_name为集群名称必须为一个唯一值可以通过select uuid()生成。 3.3 编辑 node2 配置文件 除了修改下面三个系统变量其他和node1配置保持一致 report_host192.168.131.20 server_id2 loose_group_replication_local_address 192.168.131.20:330613.4 编辑 node3 的配置文件 除了修改下面三个系统变量其他和node1配置保持一致 report_host192.168.131.30 server_id3 loose_group_replication_local_address 192.168.131.30:330613.5 创建数据目录 [rootnode1 local]# mkdir -p /data/mysql/3306/data3.6 添加环境变量 [rootnode1 ~]# vim /etc/profile #添加 export MYSQL_HOME/usr/local/mysql export PATH$PATH:$MYSQL_HOME/bin[rootnode1 ~]# source /etc/profile3.7 添加mysql用户和组 [rootnode1 ~]# cd /usr/local/ [rootnode1 local]# groupadd mysql [rootnode1 local]# useradd -g mysql mysql [rootnode1 local]# passwd mysql3.8 初始化实例 [rootnode1 local]# /usr/local/mysql/bin/mysqld --defaults-file/etc/my.cnf --initialize-insecure使用 --initialize-insecure 初始化选项时新安装的mysql实例 root 用户登录不需要密码输入mysql后直接回车可以登录到mysql客户端中。但是要注意在生产环境中注意要及时修改密码或者使用 --initialize 选项进行初始化临时密码保存在错误日志中。 3.9 配置systemd系统管理mysql service 1创建systemd服务配置文件 [rootnode1 ~]# vim /usr/lib/systemd/system/mysqld.service添加: [Unit] DescriptionMySQL Server Documentationman:mysqld(8) Documentationhttp://dev.mysql.com/doc/refman/en/using-systemd.html Afternetwork-online.target Aftersyslog.target[Install] WantedBymulti-user.target[Service] Usermysql GroupmysqlTypenotify# Disable service start and stop timeout logic of systemd for mysqld service. TimeoutSec0# Start main service ExecStart/usr/local/mysql/bin/mysqld --defaults-file/etc/my.cnf $MYSQLD_OPTS# Use this to switch malloc implementation EnvironmentFile-/etc/sysconfig/mysql# Sets open_files_limit LimitNOFILE 65536Restarton-failureRestartPreventExitStatus1# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart. EnvironmentMYSQLD_PARENT_PID1PrivateTmpfalse2配置生效 [rootnode1 ~]# systemctl daemon-reload [rootnode1 bin]# systemctl start mysqld4 启动组复制 主要在node1上执行。 4.1 查看插件是否加载成功 3个节点都确认一下组复制插件 group_replication.so 是否安装成功 mysql select * from information_schema.plugins where plugin_name group_replication\G *************************** 1. row ***************************PLUGIN_NAME: group_replicationPLUGIN_VERSION: 1.1PLUGIN_STATUS: ACTIVEPLUGIN_TYPE: GROUP REPLICATIONPLUGIN_TYPE_VERSION: 1.4PLUGIN_LIBRARY: group_replication.so PLUGIN_LIBRARY_VERSION: 1.10PLUGIN_AUTHOR: Oracle CorporationPLUGIN_DESCRIPTION: Group Replication (1.1.0)PLUGIN_LICENSE: GPLLOAD_OPTION: ON 1 row in set (0.00 sec)4.2 在node1上执行初始化组复制 首次启动一个组复制的过程称为引导bootstrapping使用 group_replication_bootstrap_group 系统变量来引导一个组复制。 需要注意的是引导应该只由其中一个节点完成且仅执行一次。 这就是为什么此变量没直接写死在配置文件中的原因。如果它保存在配置文件中那么MySQl Service在重新启动时服务器将自动引导具有相同名称的第二个组复制。这将导致两个具有相同名称的不同组。 因此为了安全地引导组复制需要在启动组复制后再次关闭此系统变量 mysql set global group_replication_bootstrap_groupon; mysql start group_replication; mysql set global group_replication_bootstrap_groupoff;组启动成功后通过视图 performance_schema.replication_group_members查看组复制成员信息。此时可以看到组已经创建并且有一个成员 mysql select * from performance_schema.replication_group_members; --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | group_replication_applier | f40395ea-c132-11ee-9249-000c29c00092 | 192.168.131.10 | 3306 | ONLINE | PRIMARY | 8.0.27 | XCom | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------4.3 在引导成员node1上创建复制用户并赋权 创建的用户主要用于下一步配置恢复通道。 mysql create user rpl_user% identified by rpl_123; grant replication slave on *.* to rpl_user%; grant connection_admin on *.* to rpl_user%; grant backup_admin on *.* to rpl_user%; grant group_replication_stream on *.* to rpl_user%;注意 千万别在从节点上执行flush privileges执行后会写入从节点的binlog造成与组复制的事务不一致导致添加节点失败报错信息如下 2024-02-03T00:33:18.33594308:00 0 [ERROR] [MY-011526] [Repl] Plugin group_replication reported: This member has more executed transactions than those present in the group. Local transactions: 13fc049e-c133-11ee-a377-000c29df1f85:1 Group transactions: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1-10 2024-02-03T00:33:18.33606208:00 0 [ERROR] [MY-011522] [Repl] Plugin group_replication reported: The member contains transactions not present in the group. The member will now exit the group.解决办法有两个 最保险的办法是重建这个从库也可以在主库上插入空会话直到组复制事务大于从库的事务最后再重新添加节点。 SET GTID_NEXT13fc049e-c133-11ee-a377-000c29df1f85:1; BEGIN; COMMIT; SET GTID_NEXTAUTOMATIC;4.4 配置node1的恢复通道 在MySQL组复制中恢复通道recovery channel主要用于处理从库的启动和数据同步过程。通过为恢复通道配置用户凭证可以确保从库能够正确地连接到主库并获取复制所需的数据。 mysql change master to master_userrpl_user, master_passwordrpl_123 for channel group_replication_recovery;创建测试数据 mysql create database mgrtest; create table mgrtest.demo(id int primary key,c1 varchar(10)); insert into mgrtest.demo values(1,a),(2,b);5 添加节点node2和node3 在 node2 和 node3 上执行 1配置恢复通道 mysql change master to master_userrpl_user, master_passwordrpl_123 for channel group_replication_recovery;2启动组复制 mysql start group_replication;3查看集群节点信息 mysql select * from performance_schema.replication_group_members; --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | group_replication_applier | 13fc049e-c133-11ee-a377-000c29df1f85 | 192.168.131.20 | 3306 | ONLINE | SECONDARY | 8.0.27 | XCom | | group_replication_applier | 248563ac-c133-11ee-a387-000c29551477 | 192.168.131.30 | 3306 | ONLINE | SECONDARY | 8.0.27 | XCom | | group_replication_applier | f40395ea-c132-11ee-9249-000c29c00092 | 192.168.131.10 | 3306 | ONLINE | PRIMARY | 8.0.27 | XCom | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------4验证测试数据 mysql select * from mgrtest.demo; ---------- | id | c1 | ---------- | 1 | a | | 2 | b | ----------【关联文章】 1MySQL组复制的介绍 2MySQL单主模式部署组复制 3MySQL组复制的管理
http://www.hkea.cn/news/14273636/

相关文章:

  • 旅游网站的建设万能本地视频播放器
  • 油漆工找活做的网站h5网站制作接单
  • 苏州城乡建设网站比较好的推广平台
  • 单机游戏大全网站开发网站建设平台推广
  • 果乐宝的网站建设水果香精东莞网站建设技术支持
  • 张家界公司网站建设干零活一天一结的平台
  • 如果做车站车次查询的网站需要什么消息信息wordpress修改footer
  • 义乌搭建网站wordpress菜单添加链接地址
  • 天河区门户网站教育专栏做网站ps注意事项
  • 外贸建站wordpresswordpress relive主题
  • 网站开发的体会建设银行网站百度一下
  • 低价网站设计网站的基本建设
  • 如何对网站管理手机网站模板 怎样做
  • 班级建设怎样建立班级网站企业网站建设 论文
  • 深圳网站建设zhaoseo学校网站建设的验收单
  • 外贸关键词网站开发网站哪家好
  • html5 手机网站 教程做网站名词
  • 网站建设与管理收获门户营销型网站搭建
  • 汕头企业免费建站建筑施工特种作业证查询官网
  • 网站开发命名规范wordpress图片上传不显示
  • 网站推广阶段东莞推广优化关键词优化
  • 连云港网站建设费用唐山做网站的
  • 手机端网站首页怎么做北京网站建设亿玛酷出名5
  • 免费做网站平台注册一个有限公司需要多少钱
  • 做cra需要关注的网站wordpress仿站cms
  • 互联网站开发有没有网址免费的
  • 网站建设文献综述范文二维码在线制作免费
  • gov域名网站有哪些wordpress图片网盘插件腾讯
  • 犀牛云做网站怎么做企业网站建设有名 乐云seo
  • 网站禁ping园林景观设计公司做抖音推广措施