mysql之mrg集群安装

四季 1年前 ⋅ 1933 阅读

虚拟机准备:3台(vmware14虚拟机管理,centos7.x系统)

192.168.56.177  node1
192.168.56.188  node2
192.168.56.199  node3

集群互信设置

ssh-keygen -t rsa 
ssh-copy-id -i ./id_rsa.pub root@node1
ssh-copy-id -i ./id_rsa.pub root@node2
ssh-copy-id -i ./id_rsa.pub root@node3

mysql5.7.x下载

下载链接 https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

mysql5.7安装步骤

将下载成功的mysql安装包上传至目录/usr/local/soft/
1.解压在当前目录
 tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar
 
2.更改名称并将文件剪切至/usr/local/
 mv mysql-5.7.34-linux-glibc2.12-x86_64 mysql
 mv mysql /usr/local/
 
3.新增my.cnf配置文件
 cd /usr/local/mysql/support-files
 vim my_default.cnf
 添加如下内容:
    [mysqld]
    basedir =/usr/local/mysql
    #设置mysql数据库的数据存放目录
    datadir = /usr/local/mysql/data
    #设置端口
    port = 3306
    socket = /tmp/mysql.sock
    #设置字符集
    character-set-server=utf8
    #日志存放目录
    log-error = /usr/local/mysql/data/mysqld.log
    pid-file = /usr/local/mysql/data/mysqld.pid
    
4.将配置文件copy到etc目录下
  cp my_default.cnf /etc/my.cnf     
  
5.初始化mysql配置信息
  进入 cd /usr/local/mysql
  执行 ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
  
6.执行成功后查看默认密码
  cat /usr/local/mysql/data/mysqld.log 默认密码在最后一行
7.登录mysql修改默认密码并开放远程登录
  cd /usr/local/mysql/bin --进入mysql 运行目录
   ./mysql -u root -p 123456 --此处的密码是来自于mysqld.log中最后一行的默认密码
  设置密码:
   set password=password('123456');
   grant all privileges on *.* to root@'%' identified by '123456';
   flush privileges;
用navicat或者其他客户端连接验证一下即可,访问不了的话,可能是防火墙没有开放3006 的原因。

准备mgr所需的配置信息

server_id=1
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_checksum=NONE

log_bin=binlog
log_slave_updates=ON
binlog_format=ROW
master_info_repository=TABLE
relay_log_info_repository=TABLE

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= "192.168.56.177:33061"
loose-group_replication_group_seeds= "192.168.56.177:33061,192.168.56.188:33061,192.168.56.199:33061"
loose-group_replication_bootstrap_group=OFF

report_host=192.168.56.177
report_port=3306
注意:将上述信息加入到node1,node2,node3节点中 /etc/my.cnf 中, service_id,group_replication_local_address,report_host 三个配置需要根据实际配置变动,其他的不需要修改,配置完成后记得重启服务,重启服务 service mysql restart

配置mgr插件及复制用户(三个节点都执行如下内容)

   1.登录到mysql控制台
   cd /usr/local/mysql/bin
   ./mysql -u root -p 123456 
   
   2.登录成功后执行如下:
    set SQL_LOG_BIN=0; #停止日志记录
    grant replication slave on *.* to repl@'%' identified by '123456'; 
    flush privileges;
    set SQL_LOG_BIN=1; #开启日志记录
    change master to master_user='repl',master_password='123456'  for channel 'group_replication_recovery'; #构建group replication集群
    install PLUGIN group_replication SONAME 'group_replication.so'; #安装group replication插件
    set global group_replication_bootstrap_group=on; #开启标示以后加入集群的服务器以这台服务器为基准,以后加入的就不需要设置。 
    start group_replication;
    set global group_replication_bootstrap_group=off;
    select * from performance_schema.replication_group_members; #-- 查询表
    show variables like 'group_replication%';
    
   3. 完成后重启各个节点mysql 服务,进入mysql控制台,并启动mgr配置
    主节点(node1):执行
    set global group_replication_bootstrap_group=on; 
    start group_replication;
    set global group_replication_bootstrap_group=off;
    从节点(node2):执行
    start group_replication;
    从节点(node3):执行
    start group_replication;

到此mysql5.7mgr集成配置完成,亲测有效。


全部评论: 0

    我有话说: