openEuler欧拉配置MySQL8的MGR单主双从.240108

news/2025/1/7 17:09:34/文章来源:https://www.cnblogs.com/amadeuslee/p/18654870

​一、 系统优化(三个节点全部操作)

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭selinux

echo "SELINUX=disabled" > /etc/selinux/config
echo "SELINUXTYPE=targeted" >> /etc/selinux/config
cat /etc/selinux/config
setenforce 0

设置主机名

hostnamectl set-hostname PRD-MS-Mysql01

更改host

vim /etc/hosts

XXX.XX.XX.105  PRD-MS-Mysql01
XXX.XX.XX.106  PRD-MS-Mysql02
XXX.XX.XX.107  PRD-MS-Mysql03

安装Mysql

dnf install -y mysql-server
systemctl start mysqld && systemctl enable mysqld

二、MySQL配置 主节点 XXX.XX.XX.105

vim /etc/my.cnf

server_id=105
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_checksum=NONE
log_bin=binlog
log_slave_updates=ON
binlog_format=ROW
master_info_repository=TABLE
relay_log_info_repository=TABLE
transaction_write_set_extraction=XXHASH64
plugin_load_add='group_replication.so'
loose-group_replication_group_name = '57b971b0-8383-11ee-b2f2-2a4e7333b5c9'
loose-group_replication_start_on_boot = off
loose-group_replication_local_address = 'PRD-MS-Mysql01:33061'
loose-group_replication_group_seeds = 'PRD-MS-Mysql01:33061,PRD-MS-Mysql02:33062,PRD-MS-Mysql03:33063'
loose-group_replication_bootstrap_group = off
loose-group_replication_recovery_get_public_key= ON
loose-group_replication_single_primary_mode=on
loose-group_replication_enforce_update_everywhere_checks=offloose-group_replication_ip_whitelist='XXX.XX.XX.105,XXX.XX.XX.106,XXX.XX.XX.107'

systemctl restart mysqld

直接输入mysql,改root密码 (Mysql8.0.30 默认root密码为空)

ALTER USER 'root'@'localhost' IDENTIFIED BY '********';

创建MGR组

SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%' IDENTIFIED BY 'Password105';
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;
SET SQL_LOG_BIN=1;CHANGE REPLICATION SOURCE TO SOURCE_USER='rpl_user', SOURCE_PASSWORD='Password105' FOR CHANNEL 'group_replication_recovery';

启动集群 主节点

SET GLOBAL group_replication_bootstrap_group=ON;   
START GROUP_REPLICATION USER='rpl_user', PASSWORD='Password105';
SET GLOBAL group_replication_bootstrap_group=OFF;

查看状态

select * from performance_schema.replication_group_members;
select * from performance_schema.replication_connection_status\G;

报错日志查看:
tail -f /var/log/mysql/mysqld.log

三、MySQL配置 从节点 XXX.XX.XX.106、107

my.cnf,其他和主节点一样,这两个地方分别改:

server-id=106loose-group_replication_local_address = 'PRD-MS-Mysql02:33062'
loose-group_replication_group_seeds = 'PRD-MS-Mysql01:33061,PRD-MS-Mysql02:33062,PRD-MS-Mysql03:33063'

改root密码、创建MGR组、查日志等,和主库一样,区别在于,从节点只要一句就能启动:

启动集群 从节点

START GROUP_REPLICATION USER='rpl_user', PASSWORD='Password105';

全部OK后,主节点看看:


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 | 1d16d8fb-8474-11ee-89c4-2ac8e8fb3ed8 | PRD-MS-Mysql03 |        3306 | ONLINE       | SECONDARY   | 8.0.30         | XCom                       |
| group_replication_applier | 480c6ae8-8535-11ee-a8ef-1e0edcf341b3 | PRD-MS-Mysql01 |        3306 | ONLINE       | PRIMARY     | 8.0.30         | XCom                       |
| group_replication_applier | e6848114-84e8-11ee-ad92-463fdcfb1e78 | PRD-MS-Mysql02 |        3306 | ONLINE       | SECONDARY   | 8.0.30         | XCom                       |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3 rows in set (0.00 sec)

四、后续优化

更新root密码,设置远程访问

select host,user from user;
update user set host='%' where user='root' and host='localhost';
ALTER USER 'root'@'%' IDENTIFIED BY 'c新密码*';
FLUSH PRIVILEGES;

my.cnf ,打开开机自启,主节点:

loose-group_replication_start_on_boot = on
loose-group_replication_bootstrap_group = on

从节点:
loose-group_replication_start_on_boot = on

​That's All.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/864868.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

了解Langchain的核心--Chain,掌握Chain的概念

Chains指的是将一系列的调用组装成序列--包括大语言模型(LLM),工具tool,还有数据预处理步骤的调用等等。目前最新的实现是通过LangChain Expression Language(LCEL)实现的Chains。LCEL非常适合构建您自己的Chains,也有一些已经封装好的Chains也可以拿来就用。LangChain支持两…

PHP转换PDF时,因为PDF文档没有嵌入字体

问题描述 项目中,需要将PDF文档转为图像,使用Imagick扩展组件进行转换。结果在转换时,因为PDF文档没有嵌入字体,导致一部份文字无法显示出来。如下图片,下划线部份,下划线上面是有文字的,但是转换后,模糊部份的文字正常显示,下划线上面的文字是空白的。然后就是各种百…

C#+ WPF 实现蓝牙转WIFI计步上位机

前言 一个WIFI上位机,接收底层MPU6050数据,途中转蓝牙从机透传,到蓝牙主机直连WIFI,PC端UDP通信,实现三轴加速度数据传送和计步功能。 项目介绍 本项目基于.NET平台,使用WPF开发了一个应用程序,用于实现MPU6050传感器数据从蓝牙模块传输到主机,并通过WiFi以UDP协议接收…

水位监测识别报警摄像机

智能水位监测识别报警摄像机是保障水域安全的重要利器。其高效准确的监测能力和及时有效的报警功能,将为城市水域管理和安全防范提供重要支持,有助于减少因水灾而造成的损失。摄像头通过实时捕捉水面画面,并将数据传输至中央处理器进行分析。一旦系统检测到水位异常,如水位…

SQL Server Profiler的trc文件生成阻止.240108

很奇葩,sqlserver自动生成trc文件,每分钟一个,重启服务器也没用。解决思路:查询现在正在跑的trace进程select * from sys.fn_trace_getinfo(0);关闭C2审计功能EXEC sp_configure c2 audit mode, 0;重启数据库服务 再次查看,已经没了。然后删除数据盘所有的trc文件。EXEC s…

cas5配置redis.240108

​POM文件加载redis依赖,重新maven clean package<dependency><groupId>org.apereo.cas</groupId><artifactId>cas-server-support-redis-ticket-registry</artifactId><version>${cas.version}</version></dependency><d…

dockerfile实现tomcat以及java的war包自动部署.240108

1. 下载jdk和tomcat wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.93/bin/apache-tomcat-8.5.93.tar.gz wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz 2. vim Dockerfile FROM centos:latest MAINTAINER Amadeus # now add…

Centos中keytool不起作用的解决方法.240109

​keytool是Java开发中用于管理密钥和证书的工具,可以用于生成密钥、创建证书请求、导入和导出证书等操作。你可以在Oracle官网上下载和安装JDK,然后在JDK的 bin目录下找到 keytool 工具。 因此,我们首先要给centos装jdk yum -y install java-1.8.0-openjdk* 然后在执行keyt…

【npm】npm warn ERESOLVE overriding peer dependency——版本冲突,降级

这里警告的远远是由于 @eslint 和 eslint-loader@2.2.1 之间版本冲突。eslint-loader支持的eslint版本在`>=1.6.0 <7.0.0`。可用输入 npm list eslint 查看当前依赖的具体问题。 所有,我们可以给wsint降级,选择1.6.0~7.0.0(不包含7.0.0)之间的版本。输入 npm view es…

群晖 MariaDB10 开启远程登录.240109

​情况:MariaDB设置了TCP/IP的端口,但是还是无法进行远程访问。解决方法: 一、使用ssh登录群晖,并进入MariaDB安装目录 cd /volume1/@appstore/MariaDB10/usr/local/mariadb10/bin 二、使用root登录 MariaDB,然后进行修改 mysql -u root -p MariaDB [(none)]> use mysq…

软件最难的不是开发程序,而是需求.240109

最近几个月,关于人工智能的惊人文章在互联网泛滥。这也引发了很多人的担心——软件开发人员可能很快就会失业,被人工智能取代。他们想象所有的企业高管和产品研究人员将绕过大多数或所有的软件开发人员,直接要求人工智能构建他们想要或需要的东西。但作为一个拥有15年一线开…

项目管理不再是难题:一揽子解决方案助你轻松前行

项目管理中的痛点涉及多个方面,但通过优化资源分配、建立有效的沟通机制、加强时间管理、完善风险控制、简化变更管理以及加强利益相关者期望管理等措施,可以有效地解决这些痛点,确保项目的顺利进行和成功完成。一、项目管理的核心要素 ● 范围管理:明确项目的范围和目标,…