Innodb Cluster集群部署配置(上)

2021-06-15 11:22:18 浏览数 (1)

一.简介

MySQL InnoDB Cluster提供了一个集成的,本地的,HA解决方案,由以下几部分组成:

MySQL Servers with Group Replication:向集群的所有成员复制数据,同时提供容错、自动故障转移和弹性。 MySQL Router:确保客户端请求是负载平衡的,并在任何数据库故障时路由到正确的服务器。 MySQL Shell:通过内置的管理API创建及管理Innodb集群。

各个组件的关系如下图所示:

每台服务器实例都运行MySQL Group Replication (冗余复制机制,内置failover) MGR有两种模式,一种是Single-Primary,一种是Multi-Primary,即单主或者多主。

注意:模式Multi-Primary中,所有的节点都是主节点,都可以同时被读写,看上去这似乎更好,但是因为多主的复杂性,在功能上如果设置了多主模式,则会有一些使用的限制,比如不支持Foreign Keys with Cascading Constraints。

二.环境声明

环境: ubuntu 16.4 mysql-5.7 多主模式

机器: 192.168.1.1 mysql-1 192.168.1.2 mysql-2 192.168.1.3 mysql-3

三.部署

安装(均操作)

1.下载deb wget https://repo.mysql.com//mysql-apt-config_0.8.10-1_all.deb

按第一个,然后根据需要选择版本,这里选择mysql-5.7,选择后他会返回到第一页,这时候选择ok即可,会发现第一个的参数变成了5.7了 dpkg -i mysql-apt-config_0.8.10-1_all.deb

更新源 apt-get update

2.安装MySQL及组件,不要加-y,其中会弹出一个mysql设置密码的框,填写即可 apt-get install mysql-server mysql-shell mysql-router

3.添加MySQL用户和权限,默认安装完mysql就是启动的,账号密码根据情况设置,每个节点要一致,可以将root改为其它用户。 mysql -u root -p grant all privileges on *.* to 'root'@'%' identified by 'password'; GRANT ALL PRIVILEGES ON mysql_innodb_cluster_metadata.* TO root@'%' WITH GRANT OPTION; GRANT RELOAD,SHUTDOWN,PROCESS,FILE, SUPER,REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO root@'%' WITH GRANT OPTION; GRANT SELECT ON *.* TO root@'%' WITH GRANT OPTION;

4.修改/etc/hosts vim /etc/hosts

  1. 192.168.1.1 mysql-1
  2. 192.168.1.2 mysql-2
  3. 192.168.1.3 mysql-3

0 人点赞