首页 > 数据库 >mysql8.0.31 mgr搭建

mysql8.0.31 mgr搭建

时间:2022-11-17 10:37:19浏览次数:69  
标签:group replication 31 mgr mysql8.0 usr mysql MGR local

1.  mysql下载地址:MySQL :: Download MySQL Community Server

2.  mgr文档:MySQL :: MySQL 8.0 Reference Manual :: 18 Group Replication

3. 安装实例:

  a)  解压 tar -xvf mysql-8.0.31-linux-glibc2.17-x86_64-minimal.tar.xz

  b)   添加用户

groupadd mysql
useradd -r -g mysql mysql
chown mysql:mysql -R /usr/local/mysql

 

  c)  初始化: ./bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql --initialize

    需要记住初始密码,第一次登录需要

  d)  配置软连接: 

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin

 

  e) 更改root密码(授权远程登录)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'
flush privileges;

  f) mysql打开失败时可能是目录没有权限 chown mysql:mysql -R /usr/local/mysql/data

    或者log文件没有创建,需要手动创建

    初始化密码登录失败,需要注意转义字符,登录命令添加 -h127.0.0.1

4.  mgr配置:

  a)  my.cnf

[mysqld]
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#user=root

#开启GTID,必须开启
gtid_mode=ON
#强制GTID的一致性
enforce_gtid_consistency=ON
 
log_bin=binlog
#log_slave_updates=ON
#binlog格式,MGR要求必须是ROW,不过就算不是MGR,也最好用row
binlog_format=row
#server-id必须是唯一的
server-id = 2
#MGR使用乐观锁,所以官网建议隔离级别是RC,减少锁粒度
transaction_isolation = READ-COMMITTED
#因为集群会在故障恢复时互相检查binlog的数据,
#所以需要记录下集群内其他服务器发过来已经执行过的binlog,按GTID来区分是否执行过.
log-slave-updates=1
#binlog校验规则,5.6之后的高版本是CRC32,低版本都是NONE,但是MGR要求使用NONE
binlog_checksum=NONE
#基于安全的考虑,MGR集群要求复制模式要改成slave记录记录到表中,不然就报错
master_info_repository=TABLE
#同上配套
relay_log_info_repository=TABLE

report_host = '192.168.229.188'
 
#组复制设置
#记录事务的算法,官网建议设置该参数使用 XXHASH64 算法
transaction_write_set_extraction = XXHASH64
#plugin_load_add='group_replication.so'
#相当于此GROUP的名字,是UUID值,不能和集群内其他GTID值的UUID混用,可用uuidgen来生成一个新的,
#主要是用来区分整个内网里边的各个不同的GROUP,而且也是这个group内的GTID值的UUID
group_replication_group_name = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'
#IP地址白名单,默认只添加127.0.0.1,不会允许来自外部主机的连接,按需安全设置
group_replication_ip_whitelist = '127.0.0.1/8,192.168.0.0/16,192.168.229.189,192.168.229.190'
#是否随服务器启动而自动启动组复制,不建议直接启动,怕故障恢复时有扰乱数据准确性的特殊情况
group_replication_start_on_boot = OFF
#本地MGR的IP地址和端口,host:port,是MGR的端口,不是数据库的端口
group_replication_local_address = '192.168.229.188:33081'
#需要接受本MGR实例控制的服务器IP地址和端口,是MGR的端口,不是数据库的端口
group_replication_group_seeds = '192.168.229.188:33081,192.168.229.189:33081,192.168.229.190:33081'
#开启引导模式,添加组成员,用于第一次搭建MGR或重建MGR的时候使用,只需要在集群内的其中一台开启,
group_replication_bootstrap_group = OFF
#是否启动单主模式,如果启动,则本实例是主库,提供读写,其他实例仅提供读,如果为off就是多主模式了
#group_replication_single_primary_mode = ON
#多主模式下,强制检查每一个实例是否允许该操作,如果不是多主,可以关闭
#loose-group_replication_enforce_update_everywhere_checks = OFF



[mysqld_safe]
log-error=/usr/local/mysql/log/mariadb.log
pid-file=/usr/local/mysql/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

  b)  进入mysql配置组复制链接登录凭证(所有实例都需要配置)

SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%' IDENTIFIED BY 'password';
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 MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='password' FOR CHANNEL 'group_replication_recovery';

  c)  安装插件

INSTALL PLUGIN group_replication SONAME 'group_replication.so';

  d)  引导启动 主节点

SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
SELECT * FROM performance_schema.replication_group_members; ## 查询组成员

 e)  添加 从节点

START GROUP_REPLICATION;

  f)  添加节点出现异常: This member has more executed transactions than those present in the group 可以尝试 reset master; reset slave;

   节点无法连接时,可能是防火墙限制

 

标签:group,replication,31,mgr,mysql8.0,usr,mysql,MGR,local
From: https://www.cnblogs.com/qingyibusi/p/16898565.html

相关文章

  • UVA1331 题解
    前言题目传送门!更好的阅读体验?计算几何、区间DP。思路......
  • MySQL8.0.26-Linux版安装
    MySQL8.0.26-Linux版安装1.准备一台Linux服务器云服务器或者虚拟机都可以;Linux的版本为CentOS7;2.下载Linux版MySQL安装包https://downloads.mysql.com/archives/......
  • 31
    今日内容详细传输层之TCP与UDP协议TCP与UDP都是用来规定通信方式的 通信的时候可以随心所欲的聊也可以遵循一些协议符合要求的聊随心所欲的聊:文字图片视频......
  • simpread-(131 条消息) ThreeJS 使用 Curve 曲线让物体沿轨迹运动_xyphf_和派孔明的博
    创建几何体的顶点数据可以手动定义,可以自定义一个函数创建,也可使用three.js提供的函数创建,本节课主要讲解一些2D或3D线条的构造函数及其方法属性,如何通过这些构造函......
  • CF631E Product Sum
    前言不知道为什么题解里的李超线段树都要分两种情况讨论,我觉得的大可不必,其实一遍就好了。分析设\(ans_i\)为\(i\)移动到其他位置时获得的最大取值,\(sum_i\)为\(......
  • P3175 [HAOI2015]按位或
    P3175[HAOI2015]按位或设\(A_i\)表示第\(i\)位变为\(1\)的时间,那么答案就是\(max(A)\)。发现\(max(A)\)不好直接求,但\(min(A)\)很好求,考虑\(min-max\)容斥。那么\(E(ma......
  • 华为欧拉OpenEuler(Linux)安装MySQL8.0
    Euler版本:openEuler-22.03-LTS-x86_64-dvd.iso1、下载MySQL下载地址:https://dev.mysql.com/downloads/mysql/下载对应的版本,其中Euler22.03对应CentOS8,CentOS8==Re......
  • 进入python的世界_day31_网络编程—— 两种软件开发架构、网络编程之OSI七层协议
    一、软件开发架构1.第一种——C/S架构Client客户端<——————>Server服务端我们平时下载的软件包,基本都是客户端软件使用这个软件包就有一张令牌去进入店铺享受......
  • Centos7安装MySQL8.0-操作手册
    一.Mysql8.0.31安装(YUM方式)1)首先删除系统默认或之前可能安装的其他版本的mysql或者mairadb[[email protected]~]#foriin$(rpm-qa|grep-E"mysql|mariadb");dor......
  • CSP 201312-2 ISBN号码 C++
     1#include<iostream>2#include<algorithm>4#include<array>56intmain(){7std::array<int,9>ISBN{};8charc{};9intlenth{......