首页 > 数据库 > 文库 > 正文

Master High Availability 设置配置

2024-09-07 22:13:02
字体:
来源:转载
供稿:网友
  MHA(Master High Availability)目前在 MySQL 高可用方面是一个相对成熟的解决方案,
  是一套优秀的作为 MySQL 高可用性环境下故障切换和主从提升的高可用软件。在
  MySQL 故障切换过程中,MHA 能做到在 0~30 秒之内自动完成数据库的故障切换操
  作,并且在进行故障切换的过程中,MHA 能在最大程度上保证数据的一致性,以达
  到真正意义上的高可用。
  该软件由两部分组成:MHA Manager(管理节点)和 MHA Node(数据节点)。MHA Manager
  可以单独部署在一台独立的机器上管理多个 master-slave 集群,也可以部署在一台 slave
  节
  点上。
  MHA Node 运行在每台 MySQL 服务器上,MHA Manager 会定时探测集群中的 master
  节点,当 master 出现故障时,它可以自动将最新数据的 slave 提升为新的 master,然后将
  所有其他的 slave 重新指向新的 master。整个故障转移过程对应用程序完全透明。MHA 可
  以
  与半同步复制结合起来,目前 MHA 主要支持一主多从的架构,要搭建 MHA,要求一个复制集群
  中必须最少有三台数据库服务器,一主二从,即一台充当 master,一台充当备用 master,另
  
  Master 端配置:
 
  yum install perl-DBD-mysql -y
  rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
  构建免密登陆
  ssh-keygen
  ##生成密钥 ssh-copy-id 172.25.40.2
  ##给另外两台 mysql 主机分发,这样可以免密连接
  ssh-copy-id 172.25.40.3
  mysql 主配置文件(/etc/my.cnf)配置
 
  [mysqlnd]
  server-id=1
  ##数据库的唯一标示,不能重复
  log-bin=mysql-bin
  ##二进制记录文件名为 mysql-bin
  binlog-do-db=test ##同的库为 test
  binlog-ignore-db=mysql ##不同步 mysql
  gtid-mode=ON ##打开 gtid 模式
  enforce-gtid-consistency=ON##强制使用 gtid 模式
  slave-parallel-type=LOGICAL_CLOCK ##打开多线程模式
  slave-parallel-workers=16 ##开启 16 个线程
  relay_log_info_repository=TABLE
  ##以表格形式存放 relay-log 信息
  relay_log_recovery=ON
  rpl_semi_sync_master_enabled=ON ##设置半同步 master 和 slave 开启
  rpl_semi_sync_slave_enabled=ON
  重新启动两台服务器上的 mysql
  /etc/init.d/mysqld restart
  进入数据库下载半同步模块
 
  mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
  Query OK, 0 rows affected (0.50 sec)
  mysql> set global rpl_semi_sync_master_enabled=1;
  Query OK, 0 rows affected (0.00 sec)
  给所创建的认证用户复制权限及 root 用户所有权限的授权
 
  mysql> grant all privileges on *.* to 'root'@'172.168.40.%' identified
  'xxxxxxxxxx';
  Query OK, 0 rows affected, 1 warning (0.00 sec)by
  mysql> grant replication slave on *.* to 'redhat'@'172.168.40.%' identified by
  'xxxxxxxxx';
  mysql> grant all on *.* to root@'172.25.40.%' identified by 'xxxxxxxx';
  Query OK, 0 rows affected, 1 warning (0.38 sec)
  Slave(candidate master)端配置:
 
  yum install perl-DBD-mysql -y
  rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
  构建免密登陆
  ssh-keygen
  ##生成密钥
  ssh-copy-id 172.25.40.1 ##给另外两台 mysql 主机分发,这样可以免密连接
  ssh-copy-id 172.25.40.3
  mysql 主配置文件(/etc/my.cnf)配置。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表