柳州城市的城乡建设管理局网站,euorg免费域名怎么注册,购物网站开发设计文档,电子商务网站建设的一般过程一、前言 mysql mgr集群是为了实现mysql高可用#xff0c;分为单主集群和多主集群#xff0c;单主集群只有一个主节点可写#xff0c;节点发生故障时#xff0c;自动进行主从的故障切换#xff0c;多主集群所有节点都可写#xff0c;当节点发生故障时#xff0c;将故障节…一、前言 mysql mgr集群是为了实现mysql高可用分为单主集群和多主集群单主集群只有一个主节点可写节点发生故障时自动进行主从的故障切换多主集群所有节点都可写当节点发生故障时将故障节点剔除出集群
主机信息
nameipportmysql0110.1.60.1213306、33061mysql0210.1.60.1223306、33061mysql0310.1.60.1233306、33061
二、部署单主节点
每个节点部署mysql服务
mysql官网找到mysql5.7版本yum包使用wget命令下载
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
安装mysql yum源 yum -y install mysql57-community-release-el7-10.noarch.rpm 更改mysql yum源配置将需要安装得5.7版本的gpgchenck项改为0 执行yum安装mysql yum -y install mysql-community-server
启动mysql服务
systemctl start mysqld systemctl enable mysqld
通过mysql日志文件查看初始登录密码
cat /var/log/mysqld.log |grep password 使用从日志中得到得密码登录数据库 mysql -u root -p
修改默认密码
alter user rootlocalhost identified by 新密码
flush privileges
编辑配置文件
vi /etc/my.cnf
[mysqld]datadir/var/lib/mysql
socket/var/lib/mysql/mysql.socksymbolic-links0log-error/var/log/mysqld.log
pid-file/var/run/mysqld/mysqld.pidserver-id1 #每个节点配置的id不能相同
gtid_modeON #开启gtid
enforce_gtid_consistencyON #开启gtid的强一致性mgr集群配置必须开启用以保证事务的一致性
binlog_checksumNONE #禁用二进制事件校验log_binbinlog #开启binlog日志
log_slave_updatesON #开启级联复制
binlog_formatROW #以行的形式记录mgr集群必须配置以行的形式记录
master_info_repositoryTABLE
relay_log_info_repositoryTABLEtransaction_write_set_extractionXXHASH64 #server必须为每个事务收集写集合使用XXHASH64哈希算法将其编码为散列
loose-group_replication_group_nameaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa #创建组名UUID自定义编辑
loose-group_replication_start_on_bootoff #server启动时不自启组复制,为了避免每次启动自动引导具有相同名称的第二个组,所以设置为OFF
loose-group_replication_local_address10.1.60.121:33061 #配置当前节点mgr服务地址和端口该端口为自定义的端口
loose-group_replication_group_seeds10.1.60.121:33061,10.1.60.122:33061,10.1.60.123:33061
#配置mgr集群所有节点
loose-group_replication_bootstrap_groupoff
report_host10.1.60.121 #配置当前节点地址
report_port3306 #配置mysql服务端口
重启mysql服务使配置生效
systemctl restart mysqld
各节点配置mgr插件,并设置同步账号
mysql -u root -p
安装mgr插件
INSTALL PLUGIN group_replication SONAME group_replication.so;
关闭binlog日志记录
set SQL_LOG_BIN0;
创建mgr集群同步账号
create user mgr% identified by 12345678;
设置账号权限
grant replication slave on *.* to mgr%;flush privileges;
开启binlog日志记录
set SQL_LOG_BIN1;
设置同步账号
CHANGE MASTER TO MASTER_USERmgr, MASTER_PASSWORD12345678 FOR CHANNEL group_replication_recovery;
创建mgr集群
选一个主节点创建mgr集群这里选用10.1.60.121为主节点
mysql -u root -p
配置后面加入集群的节点以该主节点为基准
SET GLOBAL group_replication_bootstrap_groupON;
作为首个节点启动mgr集群
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_groupOFF; 查看mgr集群信息
SELECT * FROM performance_schema.replication_group_members;
其余两个节点执行以下命令加入mgr集群
START GROUP_REPLICATION;
查看mgr集群信息 SELECT * FROM performance_schema.replication_group_members;
状态为online即正常 查询mgr集群中哪个节点为主节点
select variable_value from performance_schema.global_status where variable_namegroup_replication_primary_member; 也可以通过查看是否为read_only确定主节点
show variables like %read_only%; 至此mgr单主集群搭建完成主节点可写从节点可读主节点发生故障后会自动在从节点中选主
mgr集群节点发生故障恢复后需要手动启动组复制功能才会从新加入集群中
mysql -u root -p
START GROUP_REPLICATION;
SELECT * FROM performance_schema.replication_group_members;