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

MySQ-8.42 MGR 组复制部署及详解

目录

1 MGR要求

2 操作系统信息和软件版本

3 集群架构图

4 MySQL MGR 主库部署步骤


1 MGR要求


InnoDB 存储引擎
表上必须存在主键或唯一非空索引
MGR可允许的最大节点9个


2 操作系统信息和软件版本


root@u24-mysql-mgr-42:~# cat /etc/issue
Ubuntu 24.04.2 LTS \n \l

mysql-8.0.42-linux-glibc2.28-x86_64.tar.xz


3 集群架构图


192.168.254.40 u24-mysql-mgr-40   #主库
192.168.254.41 u24-mysql-mgr-40   #从库
192.168.254.42 u24-mysql-mgr-40      #从库


4 MySQL MGR 主库部署步骤


4.1 安装MySQL-8.0.42,采用二进制包方式安装
apt-get install libaio1 -y
tar -xf mysql-8.0.42-linux-glibc2.28-x86_64.tar.xz -C /usr/local/
cd /usr/local/
mv mysql-8.0.42-linux-glibc2.28-x86_64/ mysql-8.0.42

groupadd mysql
useradd -g mysql -s /sbin/nologin mysql

#my.cnf  配置文件
root@u24-mysql-mgr-40:~# cat /etc/my.cnf 
[client]
socket = /mysql/data/mysql.sock

[mysqld]
basedir = /usr/local/mysql-8.0.42
datadir = /mysql/data
user = mysql
port = 3306
socket = /mysql/data/mysql.sock
log_error = /mysql/data/mysqld.err
log_timestamps = system

log-bin = mysql-bin
server-id = 1

#systemd 配置文件
root@u24-mysql-mgr-40:~# cat /lib/systemd/system/mysql.service 
[Unit]
Description=MySQL server
Documentation=man:mysql(8) 
After=network.target

[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/mysql/data/mysqld.pid
TimeoutSec=0
ExecStart=/usr/local/mysql-8.0.42/bin/mysqld --defaults-file=/etc/my.cnf --pid-file=/mysql/data/mysqld.pid --daemonize $MYSQLD_OTPS
EnvironmentFile=-/etc/sysconfig/mysql
LimitNOFILE=65535
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=False

[Install]
WantedBy=multi-user.target
Alias=mysqld.service

#将MySQL已经初始化数据文件拷贝到/mysql/data 目录下
rsync -r /mysql 192.168.254.40:/
rsync -r /mysql 192.168.254.41:/
rsync -r /mysql 192.168.254.42:/

授权
chown -R mysql:mysql /mysql/

#修改uuid,保证每台服务器唯一值
root@u24-mysql-mgr-40:/mysql/data# vi auto.cnf 
[auto]
server-uuid=4ab24c26-3a42-11f0-95cf-000c29228481

#启动MySQL服务
systemctl start mysql
systemctl enable mysql


4.2 安装MGR 主库步骤
#修改my.cnf
root@u24-mysql-mgr-40:~# vi /etc/my.cnf 
[client]
socket = /mysql/data/mysql.sock

[mysqld]
basedir = /usr/local/mysql-8.0.42
datadir = /mysql/data
user = mysql
port = 3306
socket = /mysql/data/mysql.sock
log_error = /mysql/data/mysqld.err
log_timestamps = system

#MGR
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
gtid_mode=ON
enforce_gtid_consistency=ON
log-bin = mysql-bin
server-id = 1

plugin_load_add='group_replication.so'
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
group_replication_start_on_boot=off
group_replication_local_address= "192.168.254.40:33061"
group_replication_group_seeds= "192.168.254.40:33061,192.168.254.41:33061,192.168.254.42:33061"
group_replication_bootstrap_group=off

#创建用户和授权
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> GRANT CONNECTION_ADMIN ON *.* TO rpl_user@'%';
mysql> GRANT BACKUP_ADMIN ON *.* TO rpl_user@'%';
mysql> GRANT GROUP_REPLICATION_STREAM ON *.* TO rpl_user@'%';
mysql> FLUSH PRIVILEGES;


mysql> CHANGE REPLICATION SOURCE TO SOURCE_USER='rpl_user', SOURCE_PASSWORD='password' FOR CHANNEL 'group_replication_recovery';
mysql> SET GLOBAL group_replication_bootstrap_group=ON;
mysql> START GROUP_REPLICATION;
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;


#检查该组是否已创建
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 | 4ab24c26-3a42-11f0-95cf-000c29228481 | u24-mysql-mgr-40 |        3306 | ONLINE       | PRIMARY     | 8.0.42         | XCom                       |
+---------------------------+--------------------------------------+------------------+-------------+--------------+-------------+----------------+----------------------------+
1 row in set (0.01 sec)


4.3 安装MGR 从库库步骤:
#修改my.cnf
root@u24-mysql-mgr-41:~# cat /etc/my.cnf 
[client]
socket = /mysql/data/mysql.sock

[mysqld]
basedir = /usr/local/mysql-8.0.42
datadir = /mysql/data
user = mysql
port = 3306
socket = /mysql/data/mysql.sock
log_error = /mysql/data/mysqld.err
log_timestamps = system

#MGR
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
gtid_mode=ON
enforce_gtid_consistency=ON

log-bin = mysql-bin
server-id = 2

plugin_load_add='group_replication.so'
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
group_replication_start_on_boot=off
group_replication_local_address= "192.168.254.41:33061"
group_replication_group_seeds= "192.168.254.40:33061,192.168.254.41:33061,192.168.254.42:33061"
group_replication_bootstrap_group=off


#重启
root@u24-mysql-mgr-41:~# systemctl daemon-reload
root@u24-mysql-mgr-41:~# systemctl restart mysql

#创建用户和授权
mysql -uroot -p
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 REPLICATION SOURCE TO SOURCE_USER='rpl_user', SOURCE_PASSWORD='password' FOR CHANNEL 'group_replication_recovery';

START GROUP_REPLICATION;

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 | 4ab24c26-3a42-11f0-95cf-000c29228481 | u24-mysql-mgr-40 |        3306 | ONLINE       | PRIMARY     | 8.0.42          | XCom                       |
| group_replication_applier | ac39f1e6-6dfa-11e6-a69d-00212844f856 |  u24-mysql-mgr-41|        3306 | ONLINE       | SECONDARY   | 8.0.42          | XCom                       |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
 

相关文章:

  • 【华为云Astro】从OBS CSV文件获取配置指南
  • uni-app学习笔记十七-css和scss的使用
  • ARINC818编解码设计FPGA实现
  • AR/MR实时光照阴影开发教程
  • mybatis02
  • CSS篇-6
  • pycharm打印时不换行,方便对比观察
  • 多线程( Thread)
  • 【深度学习】 19. 生成模型:Diffusion Models
  • 81、使用DTU控制水下灯光控制
  • ZLG ZCANPro,ECU刷新,bug分享
  • 刚出炉热乎的。UniApp X 封装 uni.request
  • 鸿蒙OS在UniApp中集成Three.js:打造跨平台3D可视化应用#三方框架 #Uniapp
  • 一键净化Excel数据:高性能Python脚本实现多核并行清理
  • uni-app学习笔记二十--pages.json页面路由pages设置
  • 五、单元测试-概述入门
  • 【Python Cookbook】文件与 IO(二)
  • Langchaine4j 流式输出 (6)
  • Vim 支持多种编程语言编辑器
  • NLP学习路线图(十五):TF-IDF(词频-逆文档频率)
  • 网站建设的销售渠道/淘宝搜索关键词技巧
  • 动态网站中搜索用php怎么做代码/网络营销策略分析方法
  • 无备案网站加速/seo搜索优化公司报价
  • 网站内容维护/谷歌搜索关键词排名
  • 对政府网站建设的认识/烟台seo
  • 福州建站网络公司/福州百度推广开户