文档章节

Centos7.2下安装mysql-group-replication数据库集群

日落北极
 日落北极
发布于 06/14 16:59
字数 1146
阅读 5
收藏 1
点赞 0
评论 0

系统版本:Centos7.2 x64

数据库版本:mysql5.7.17

1.首先安装环境:

yum -y install gcc gcc-c++ libaio-devel boost-devel autoconf automake zlib-devel libxml2-devel ncurses-devel libgcrypt-devel libtool-devel openssl-devel bison-devel unzip numactl-devel

2.关闭selinux和防火墙

setenforce 0
systemctl stop firewalld
systemctl disabled firewalld

3.下载mysql安装包

wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar

解压:

tar xf mysql-5.7.17-linux-glibc2.5-x86_64.tar

tar zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

将解压后的文件夹移动到/user/local并且修改为mysql5.7

mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql5.7


配置环境变量
mysql-5.7.17-linux-glibc2.5-x86_64.tar

source /etc/profile

5.创建data目录和conf文件

进入mysql5.7

mkdir data/3306 data/3307 data/3308

mkdir conf

分别创建3306.cnf 3307.cnf 3308.cnf

6.实例化并且启动mysql

实例化:

/usr/local/mysql5.7/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql5.7 --datadir=/usr/local/mysql5.7/data/3306

/usr/local/mysql5.7/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql5.7 --datadir=/usr/local/mysql5.7/data/3307

/usr/local/mysql5.7/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql5.7 --datadir=/usr/local/mysql5.7/data/3308

会报一些警告信息:

2018-06-14T03:17:32.915314Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-06-14T03:17:33.980961Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-06-14T03:17:34.192176Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-06-14T03:17:34.256360Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 7b29387c-6f81-11e8-abac-00163e06e59d.
2018-06-14T03:17:34.259013Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-06-14T03:17:34.259401Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

分别启动三个实例:

/usr/local/mysql5.7/bin/mysqld --defaults-file=/usr/local/mysql5.7/conf/3306.cnf &

/usr/local/mysql5.7/bin/mysqld --defaults-file=/usr/local/mysql5.7/conf/3307.cnf &

/usr/local/mysql5.7/bin/mysqld --defaults-file=/usr/local/mysql5.7/conf/3308.cnf &

查看mysql三个实例是否启动成功

[root@iZm5e7kkxs23uutsa9dbl5Z mysql5.7]# ps -ef | grep mysqld
root     22236  9200  1 11:18 pts/0    00:00:00 /usr/local/mysql5.7/bin/mysqld --defaults-file=/usr/local/mysql5.7/conf/3306.cnf
root     22265  9200  2 11:18 pts/0    00:00:00 /usr/local/mysql5.7/bin/mysqld --defaults-file=/usr/local/mysql5.7/conf/3307.cnf
root     22294  9200  3 11:18 pts/0    00:00:00 /usr/local/mysql5.7/bin/mysqld --defaults-file=/usr/local/mysql5.7/conf/3308.cnf
root     22326  9200  0 11:18 pts/0    00:00:00 grep --color=auto mysqld

说明启动成功

4.数据库相关配置

进入3306节点,作为主节点

执行以下操作:

mysql -S /usr/local/mysql5.7/data/3306/mysqld.sock

mysql> set sql_log_bin=0;
Query OK, 0 rows affected (0.00 sec)

mysql> grant replication slave,replication client on *.* to 'repluser'@'%' identified by 'replpass';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> change master to master_user='repluser',master_password='replpass' for channel 'group_replication_recovery';
Query OK, 0 rows affected, 2 warnings (0.02 sec)

mysql> install plugin group_replication soname 'group_replication.so';
Query OK, 0 rows affected (0.01 sec)


mysql> set global group_replication_bootstrap_group=ON;
Query OK, 0 rows affected (0.00 sec)

mysql> START group_replication;
Query OK, 0 rows affected (1.07 sec)

mysql> set global group_replication_bootstrap_group=OFF;
Query OK, 0 rows affected (0.00 sec)

mysql> exit;


进入3307节点

mysql -S /usr/local/mysql5.7/data/3307/mysqld.sock

mysql> set sql_log_bin=0;
Query OK, 0 rows affected (0.00 sec)

mysql> grant replication slave,replication client on *.* to 'repluser'@'%' identified by 'replpass';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> set sql_log_bin=1;
Query OK, 0 rows affected (0.00 sec)

mysql> change master to master_user='repluser',master_password='replpass' for channel 'group_replication_recovery';
Query OK, 0 rows affected, 2 warnings (0.03 sec)

mysql> install plugin group_replication soname 'group_replication.so';
Query OK, 0 rows affected (0.00 sec)

mysql> START group_replication;
Query OK, 0 rows affected (5.59 sec)

mysql> exit;


进入3308节点:

mysql -S /usr/local/mysql5.7/data/3308/mysqld.sock

mysql> set sql_log_bin=0;
Query OK, 0 rows affected (0.00 sec)

mysql> grant replication slave,replication client on *.* to 'repluser'@'%' identified by 'replpass';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> set sql_log_bin=1;
Query OK, 0 rows affected (0.00 sec)

mysql> change master to master_user='repluser',master_password='replpass' for channel 'group_replication_recovery';
Query OK, 0 rows affected, 2 warnings (0.03 sec)

mysql> install plugin group_replication soname 'group_replication.so';
Query OK, 0 rows affected (0.01 sec)

mysql> start group_replication;
Query OK, 0 rows affected (2.25 sec)

进入三个任意一个节点验证:

mysql> select * from performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST             | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------------------+-------------+--------------+
| group_replication_applier | 7b29387c-6f81-11e8-abac-00163e06e59d | iZm5e7kkxs23uutsa9dbl5Z |        3306 | ONLINE       |
| group_replication_applier | 8badfa8f-6f81-11e8-aec3-00163e06e59d | iZm5e7kkxs23uutsa9dbl5Z |        3307 | ONLINE       |
| group_replication_applier | 90f24e32-6f81-11e8-aef5-00163e06e59d | iZm5e7kkxs23uutsa9dbl5Z |        3308 | ONLINE       |
+---------------------------+--------------------------------------+-------------------------+-------------+--------------+
3 rows in set (0.00 sec)

5.数据同步测试

进入到3306节点

mysql> create table tb_stu(id int not null primary key auto_increment,name varchar(50));
Query OK, 0 rows affected (0.02 sec)

mysql> select * from tb_stu;
+----+------+
| id | name |
+----+------+
|  1 | tom  |
+----+------+
1 row in set (0.00 sec)

进入3307节点:

mysql> select * from tb_stu;
+----+------+
| id | name |
+----+------+
|  1 | tom  |
+----+------+
1 row in set (0.00 sec)

同样进入3308节点验证:

mysql> select * from tb_stu;
+----+------+
| id | name |
+----+------+
|  1 | tom  |
+----+------+
1 row in set (0.00 sec)

说明三个节点能够进行数据同步。

加入我们在3307或者3308节点插入数据:

mysql>  insert tb_stu(id,name) values (1,'tom');
ERROR 1290 (HY000): The MySQL server is running with the --super-read-only option so it cannot execute this statement

报错原因是:3306是主节点,3307和3308是从节点,单主模式下只能在主节点写入,从节点只能查询数据。

下面我们在进行多主节点修改和增加节点。

© 著作权归作者所有

共有 人打赏支持
日落北极
粉丝 6
博文 32
码字总数 23304
作品 0
海淀
程序员
mysql8.0初探:(二)MySQL Group Replication-MGR集群简介

简介 MySQL Group Replication(简称MGR)字面意思是mysql组复制的意思,但其实他是一个高可用的集群架构,暂时只支持mysql5.7和mysql8.0版本. 是MySQL官方于2016年12月推出的一个全新的高可用...

arthur376 ⋅ 05/08 ⋅ 0

数据库Mysql5.7 MGR集群的搭建

最近看了一下mysql5.7的MGR集群挺不错的,有单主和多主模式,于是乎搭建测试了一下效果还不错,我指的不错是搭建和维护方面都比较简单。网上绝大多数都是单主模式,当然我这里也是,为了加深...

English0523 ⋅ 2017/09/04 ⋅ 0

mysql5.7 MGR集群搭建

微信公共号 mysql5.7 MGR集群搭建部署 此文章由队员(谆谆)拟写 此文章来自 乌龟运维 官网 wuguiyunwei.com QQ群 602183872 最近看了一下mysql5.7的MGR集群挺不错的,有单主和多主模式,于是...

乌龟运维 ⋅ 2017/06/08 ⋅ 0

MySQL · 引擎特性 · Group Replication内核解析

背景 为了创建高可用数据库系统,传统的实现方式是创建一个或多个备用的数据库实例,原有的数据库实例通常称为主库master,其它备用的数据库实例称为备库或从库slave。当master故障无法正常工...

阿里云RDS-数据库内核组 ⋅ 2017/08/02 ⋅ 0

MySQL高可用性分析

版权声明:本文由易固武原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/203 来源:腾云阁 https://www.qcloud.com/community MySQL数据库是目前开源应用...

偶素浅小浅 ⋅ 2016/11/11 ⋅ 0

搭建 MySQL 8.0 InnoDB Cluster (一主多从)

1、在三个节点上安装 MySQL 8.0 rpm -i https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm yum install mysql-community-{server,client,common,libs}-* systemctl st......

1321385590 ⋅ 06/11 ⋅ 0

搭建 MySQL 8.0 Group Replication

1、修改配置文件,添加以下内容 server_id=1 gtid_mode=ON enforcegtidconsistency=ON binlog_checksum=NONE transactionwriteset_extraction=XXHASH64 loose-groupreplicationgroup_name="......

1321385590 ⋅ 06/08 ⋅ 0

MySQL之GroupReplication初体验

https://dev.mysql.com/doc/refman/5.7/en/group-replication.html 基本的架构一主两从 master:192.168.100.41 slave:192.168.100.42 slave:192.168.100.43 下载软件官方网站 mysql-comm......

andylhz ⋅ 2017/02/13 ⋅ 0

Galera 将死 — MySQL Group Replication 发布

MySQL Group Replication GA 很多同学表示昨天的uesrc="http://mp.weixin.qq.com/s?biz=MjM5MjIxNDA4NA==&mid=2649737898&idx=1&sn=5172eadab37e7785efe0a7de90498166&chksm=beb2d78189c55e......

两味真火 ⋅ 2016/12/14 ⋅ 31

MySQL Group Replication调研剖析

一、MySQL复制的三种模式 MySQL当前存在的三种复制模式有:异步模式、半同步模式和组复制模式,先了解一下三种模式的工作方式。 1、MySQL Asynchronous Replication(异步复制) 异步复制是MyS...

lover007 ⋅ 2017/01/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 59分钟前 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部