搭建MySQL HMA 集群架构

搭建一个MySQL高可用架构集群环境

(4台主机,1主、2从、1 MHA)

软件版本

虚拟机:Ubuntu 18

MySQL:5.7.32

MHA:0.54

架构

使用一台MHA manager、一台MySQL master节点、两台MySQL slave节点

环境检查

安装ssh组件

# 安装ssh
sudo apt-get install openssh-server

# 开启ssh服务
sudo service ssh start

配置ssh 免密码登录

  1. 生成密钥

    ssh-keygen -t rsa
    
  2. 将公钥写入到 authorized_keys 文件中

    可以使用scp进行将公钥复制到一个机器上,然后一起写入到authorized_keys中

  3. 将authorized_keys文件分发到各个节点的 /root/.ssh/目录下

MySQL安装

# 执行更新
sudo apt-get update

# 安装 mysql
sudo apt-get install mysql-server

# 初始化MySQL
sudo mysql_secure_installation

# 检查mysql状态
systemctl status mysql.service

MySQL初始化

修改配置文件,注释掉 bind-address = 127.0.0.1

vi /etc/mysql/mysql.conf.d/mysqld.cnf

主库配置(Master)

  1. MySQL配置文件配置

    vim /etc/mysql/my.cnf

    [mysqld]
    character-set-server=utf8mb4
    default-time-zone='+8:00'
    innodb_rollback_on_timeout='ON'
    max_connections=500
    innodb_lock_wait_timeout=500
    
    # 开启binlog功能
    log_bin=mysql-bin
    # 服务唯一id,不能重复
    server-id=1
    # 写入日志始终同步磁盘
    sync-binlog=1
    # 需要忽略同步binlog的数据库
    binlog-ignore-db=information_schema
    binlog-ignore-db=performance_schema
    binlog-ignore-db=sys
    

    重启mysql服务

    sudo service mysql restart
    
  2. 开始授权开启主从同步

    # 每个slave使用标准的MySQL用户名和密码连接master。对进行复制操作的用户授予REPLICATION SLAVE权限
    mysql> grant replication slave on *.* to 'root'@'%' identified by 'root';
    # 授于远程登录访问权限
    mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';
    # 刷新 privileges(使privileges生效)
    mysql> flush privileges;
    
  3. 安装semi

    mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
    
  4. 开启semi(半同步复制)

    # 查看是否开启了esmi
    mysql> show variables like '%semi%';
    # 是否开启半同步复制,需要开启
    mysql> set global rpl_semi_sync_master_enabled=1;
    # 配置同步延迟时间(毫秒)
    mysql> set global rpl_semi_sync_master_trace_level=1000; 
    

从库配置(Slave)

  1. MySQL配置文件配置

    vim /etc/mysql/m

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值