一、环境清理:

三台机器都做:
1、修改主机名
2、修改/etc/hosts文件
3、关闭和禁用防火墙
4、关闭和禁用SELinux
5、生成密钥对
6、传输密钥对
7、验证免密登陆

yum remove mysql-server -y
rm -rf /etc/my.cnf.d/
rm -rf /var/lib/mysql/
rm -rf /var/log/mysql/

二、安装数据库

三台机器都安装数据库及启动数据库服务器

mount /dev/sr0 /mnt
yum install mysql-server -y
systemctl start mysqld
systemctl stop mysqld

三、主从搭建

1、第一台服务器:主服务器

1)编写配置文件:

cd /etc/my.cnf.d/
vim mysql-server.cnf

2)在其后追加内容:

disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"

#server_id确保每个机器不一样
server_id=1
gtid_mode=ON
enforce_gtid_consistency=ON 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' #uuid确保每个机器都一样,可以用uuidgen生成
group_replication_group_name="8e1969ec-3ae3-4bd1-b80f-6de58b837ff5"
group_replication_start_on_boot=off #当前主机的主机名和复制组端口,建议用主机名
group_replication_local_address= "mgr01:33061"
group_replication_group_seeds= "mgr01:33061,mgr02:33061,mgr03:33061"
group_replication_bootstrap_group=off

配置文件编辑完成
3)启动数据库服务

[root@mgr01 ~]# systemctl start mysqld
[root@mgr01 ~]# mysql -uroot -p
mysql> use mysql;

4)创建复制组用户

mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'Test@1234';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> GRANT BACKUP_ADMIN ON *.* TO rpl_user@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;

5)复制用户凭据到复制组通道:

mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='Test@1234' FOR CHANNEL 'group_replication_recovery';

6)查看复制组插件是否安装:

mysql> SHOW PLUGINS;

如果有以下内容则表示已装载
group_replication | ACTIVE | GROUP REPLICATION | group_replication.so | GPL

7)启动复制组:

mysql> SET GLOBAL group_replication_bootstrap_group=ON;
mysql> START GROUP_REPLICATION USER='rpl_user', PASSWORD='Test@1234';
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;

8)查看复制组:

mysql> SELECT * FROM performance_schema.replication_group_members;

+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+
| group_replication_applier | a49b5c8f-fd44-11eb-a9e2-000c29707010 | mgr01 | 3306 | ONLINE | PRIMARY | 8.0.21 |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+
1 row in set (0.00 sec)

到此主服务器配置完成!!!

2、俩台从服务器配置(一样)

1)复制第一台服务器的MySQL配置:

[root@mgr02 ~]# cd /etc/my.cnf.d/
[root@mgr02 my.cnf.d]# rm -rf mysql-server.cnf
[root@mgr02 my.cnf.d]# scp mgr01:/etc/my.cnf.d/mysql-server.cnf .

2)编辑以下俩个相关配置:

server_id=2
group_replication_local_address= "mgr02:33061"

3)启动MySQL服务器:

root@mgr02 my.cnf.d]# systemctl start mysqld

4)连接服务器:

[root@mgr02 my.cnf.d]# mysql -uroot -p

5)切换数据库:

mysql> use mysql;

6)创建复制组用户:

SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%' IDENTIFIED BY 'Test@1234';
GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
GRANT BACKUP_ADMIN ON *.* TO rpl_user@'%';
FLUSH PRIVILEGES;
SET SQL_LOG_BIN=1;

7)复制用户凭据到复制组通到:

mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='Test@1234' FOR CHANNEL 'group_replication_recovery';

8)查看复制组插件:

mysql> SHOW PLUGINS;

如果有以下内容则表示已装载
group_replication | ACTIVE | GROUP REPLICATION | group_replication.so | GPL

9)启动复制组:

mysql> START GROUP_REPLICATION USER='rpl_user', PASSWORD='Test@1234';

10)查看复制组:

mysql> SELECT * FROM performance_schema.replication_group_members;

+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+
| group_replication_applier | a49b5c8f-fd44-11eb-a9e2-000c29707010 | mgr01 | 3306 | ONLINE | PRIMARY | 8.0.21 |
| group_replication_applier | a9eed5dc-fd44-11eb-aec2-000c29de2f00 | mgr02 | 3306 | ONLINE | SECONDARY | 8.0.21 |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+
2 rows in set (0.00 sec)

11)停止复制组:

mysql> stop GROUP_REPLICATION

MySQL---MGR保姆版的更多相关文章

  1. mysql解压版安装

    1.下载MySQL解压版(32位) http://dev.mysql.com/downloads/mysql/

  2. [转]mysql免安装版配置

    现在mysql有一个installer,相当于安装包管理器.包含mysql的各个组件,比如workbench,各个语言的connector.十分方便,不用就可惜了.实在没有必要下载zip版,自己配置. ...

  3. RPM方式安装MySQL5.6和windows下安装mysql解压版

    下载地址: http://cdn.MySQL.com/archives/mysql-5.6/MySQL-server-5.6.13-1.el6.x86_64.rpmhttp://cdn.mysql.c ...

  4. MySQL 5 绿色版(BAT版本) mysql50green转自http://hi.baidu.com/dburu/blog/item/e753fcc4362458aa8226accb.htmlMySQL 5 绿色版(BAT版本) By )

    以前提供下载的那个 MySQL 绿色版是来自于 Web 开发工具箱之 Apache PHP MySQL 绿色套装版, 原作者是为了方便自己开发所做的一套整合了 Apache, PHP, MySQL 的 ...

  5. MySQL解压版安装配置详解

    MySQL解压版安装起来比较简单,步骤相对较少.下面我们就来详细介绍一下如何在windows操作系统上安装解压班的MySQL. 1.下载解压版MySQL,地址:http://downloads.mys ...

  6. Mysql解压版的安装

    Mysql解压版的安装 ——@梁WP 1.解压mysql到合适的地方 2.右击计算机-属性-高级系统设置-高级-环境变量,弹出“环境变量”对话框,修改下面的系统变量 3.新建MYSQL_HOME变量, ...

  7. mysql免安装版配置与使用方法

    mysql免安装版配置与使用方法      以mysql-noinstall-5.1.6(win32)为例 1>把压缩文件mysql-noinstall-5.1.6-alpha-win32.zi ...

  8. 零积分下载,2014年辛星mysql教程秋季版第一本已经完工,期待您的支持

    经过一段时间的不懈努力.终于,2014年辛星mysql教程秋季版的第一本,即夯实基础已经完工,在csdn的下载地址为:去下载地址 ,假设左边地址跪了,能够去http://download.csdn.n ...

  9. mysql免安装版使用方法

    1.下载并解压mysql免安装版至自定义目录 2.添加环境变量 变量名:MYSQL_HOME 变量值:D:\Program Files\mysql-5.6.11-winx64 即为mysql的自定义解 ...

  10. MySQL Linux压缩版安装方法

    在诸多开源数据库中,MySQL是目前应用行业,特别是互联网行业发展最好的一个.借助灵活的架构特点和适应不同应用系统场景的Storage Engine,MySQL在很多方面已经有不次于传统商用数据库的表 ...

随机推荐

  1. 使用idea的maven项目使用mybatis时遇到的坑

    在使用idea的maven项目中使用mybatis时遇到的一个问题,这个问题困扰了我一段时间,所以我来这里记录一下! 出现的问题是: 我把相同的代码复制到eclipse中,在eclipse中却能正常运 ...

  2. Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'xxx' in 'where clause'

    在使用Ruoyi管理系统中出现这个问题 Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column ...

  3. 代码随想录算法训练营day04 | leetcode

    基础知识 记录一下栈实现及操作 public class ArrayDequeStack { public void main() { ArrayDeque stack = new ArrayDequ ...

  4. select省市联动+对应经销商、自定义箭头

    HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <met ...

  5. PULPINO仿真建立

    PULPINO仿真建立 PULPINO主要特点: systemverilog实现 有常规外设,GPIO.SPI.I2C.UART等 有调试接口 总线有AXI,外设总线为APB,扩展性好 脚本为cmak ...

  6. loj2511

    引言 思维题. 这个做法跑得飞快,还不用 dp,也不是爆搜! 复杂度(可能)为 \(O(s^2t)\) 或 \(O(s^2)\),实际效率也是飞快. 不过这题我直接提交答案了. 思路 考虑 \(A=m ...

  7. CF1768F 题解

    题意 传送门 给定长度为 \(n\) 的序列 \(a\),求序列 \(f\),满足: \[f_i= \begin{equation} \begin{cases} 0&(i=1)\\ \min\ ...

  8. 前端回血day24 flex子项伤的CSS属性

    取值 含义 order 可以通过设置order改变某一个flex子项的排序位置.所有flex子项的默认order属性值是0 flex-grow 属性中的grow是扩展的意思,扩展的就是flex子项所占 ...

  9. 快速构建用户xlwings环境

    一.安装python python-3.8.3-amd64.exe 二.准备文件requirements.txt 内容如下 安装失败需要切换国内镜像源 numpy==1.22.1 openpyxl== ...

  10. vscode 中用git命令合并分支

    操作:主分支master的代码合并到当前分支wz 操作之前,两个分支的内容都要拉取最新的代码 命令为 git pull origin master git pull origin wz 或者vs内直接 ...