0

0

MySql的GR在Ubuntu16.04下如何使用详解

黄舟

黄舟

发布时间:2017-03-29 13:14:29

|

2210人浏览过

|

来源于php中文网

原创

这篇文章主要介绍了如何在ubuntu 16.04下使用mysql的gr,本文给大家介绍的非常详细,需要的朋友可以参考下

一、前言

该文章主要是记录下从一个纯净的系统开始如何安装MySql 5.7.17 并且使用GR,以便于自己后期查看以及分享给他人。

二、安装mysql

因为默认ubuntu的源并不是最新的mysql所以我们需要如下几个步骤安装最新的安装包,当然我们这里还是使用的apt去安装。

1.下载apt仓库

2.安装apt仓库

sudo dpkg -i mysql-apt-config_0.8.3-1_all.deb

在安装的过程中会出现一个界面让其选择版本,这里大家只要让第一个选择 5.7 版本即可,当然你可以选择 8.0。

3.升级apt仓库并安装mysql

sudo apt-get update
sudo apt-get install mysql-server

到此为止我们就已经安装了最新的MySql版本了,下面就是关键的配置部分建议大家先通读一遍,不要直接上来按照这个来。

三、开启GR

1.修改配置

首先打开/etc/mysql/下的my.cnf配置并写入以下配置信息:

server_id=1
bind-address=0.0.0.0
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_slave_updates=ON
log_bin=binlog
binlog_format=ROW
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "10.0.0.4:24901"
loose-group_replication_group_seeds= "10.0.0.4:24901,10.0.0.5:24902,10.0.0.6:24903"
loose-group_replication_bootstrap_group= off

这里有一个配置想要说明下,其中“server_id”必须保证每个机器都不相同,可以直接使用ip地址的第四部分,“loose-group_replication_group_nam”在每个机器上都要一致,这个等同于一个组的标识。剩下的另一个不同的就是参数“loose-group_replication_local_address”这个必须指定为当前机器的IP地址,而后面的端口则是表示GR需要监听的端口,只要保证在其他机器中参数“loose-group_replication_group_seeds”中的机器的IP地址和端口正确可以任意修改该端口(该端口是独立于mysql默认的3306端口的)。

完成以上操作之后重启mysql服务

sudo service mysql restart

2.新建用户

首先我们连接到当前数据库中

mysql -u root -p

执行以下sql语句

 mysql> SET SQL_LOG_BIN=0;
 mysql> CREATE USER rpl_user@'%';
 mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';
 mysql> FLUSH PRIVILEGES; #在从数据库不需要执行
 mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' FOR CHANNEL 'group_replication_recovery';

如果是生产环境,用户可以自己设置对应的账户和密码,这里作为测试就直接使用官方提供的了。

阳光订餐系统
阳光订餐系统

欢迎使用阳光订餐系统,本系统使用PHP5+MYSQL开发而成,距离上一个版本1.2.8发布已经有一年了。本系统集成了留言本,财务管理,菜单管理,员工管理,安全管理,WAP手机端等功能,并继续继承1.X老版本简单、实用、美观的特点,在老版本上的基础上做了如下更新:1.更简洁的前台与后台,菜单及功能布局更合理。2.更合理的文件结构,合理适度的模板机制以及OO运用,更易于理解的代码,更适于二次开发;3.

下载

3.安装插件

我们继续执行对应的sql语句

mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';

如果我们想查看当前是否已经安装了该插件,可以通过下面的语句查询

mysql> SHOW PLUGINS;

4.配置Hosts

在开启最终的GR之前我们需要修改对应的hosts,将主机名和IP对应起来,否则后面在连接到其他节点的时候会发生无法连接,因为mysql依赖主机名去连接。

打开hosts

sudo vim /etc/hosts

写入如下内容(我当前的环境和机器名是这样的)

10.0.0.4 mysql-1
10.0.0.5 mysql-2
10.0.0.6 mysql-3

完成上面的配置后退出,我们进入到mysql中接着继续执行

5.开启GR

以下方式是在主节点的开启方式(只在我们第一次安装的时候需要这样后面不需要)

mysql> SET GLOBAL group_replication_bootstrap_group=ON;
mysql> START GROUP_REPLICATION;
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;

在从属节点上只要执行以下一句

mysql> START GROUP_REPLICATION;

如果我们要查看当前是否加入成功,可以通过下面的语句查看:

mysql> SELECT * FROM performance_schema.replication_group_members;

到此为止所有的配置就都结束了,其他从属节点只要按照上面的步骤执行即可,对于测试,我们需要在主节点上新建数据库,创建表并写入数据,其他数据库也会同步。然后关闭主节点之后,通过以下语句

我们可以查询当前哪个节点为主节点了:

mysql> select *from performance_schema.replication_group_members where member_id =(select variable_value from performance_schema.
global_status WHERE VARIABLE_NAME= 'group_replication_primary_member');

Xamarin.Android -> Xamarin.IOS -> 混合 -> Xamarin.Forms

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 816人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号