部署mysql集群基础环境

设置slave2为master1从:部署集群基础环境

1.1 问题

本案例要求为MySQL集群准备基础环境,完成以下任务操作:

  • 数据库授权
  • 部署MySQL双主多从结构
  • 配置本机hosts解析记录

1.2 方案

使用4台RHEL 6虚拟机,如图-1所示。其中192.168.4.10、192.168.4.11作为MySQL双主服务器,192.168.4.12、192.168.4.13作为主服务器的从服务器。

图-1

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:准备环境

  1. [[email protected] ~]# cat /etc/hosts
  2. 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  3. ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 192.168.4.10     master1         master1.tarena.com
  5. 192.168.4.11     master2         master2.tarena.com
  6. 192.168.4.12     slave1            slave1.tarena.com
  7. 192.168.4.13     slave2            slave2.tarena.com
  8. 192.168.4.100   master1         master1.tarena.com
  1. [[email protected] ~]# ping -c 2 master1
  2. PING master1 (192.168.4.10) 56(84) bytes of data.
  3. 64 bytes from master1 (192.168.4.10): icmp_seq=1 ttl=64 time=0.378 ms

步骤二:部署数据库主机

1)安装启动数据库(4台数据库主机master1,master2,slave1,slave2执行以下操作)

  1. [[email protected] ~]# tar xvf MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar    //解压软件包
  2. .. ..
  3. [[email protected] ~]# rpm -Uvh MySQL-*.rpm                                //安装MySQL
  4. .. ..
  5. [[email protected] ~]# service mysql start

2)初始化配置数据库(4台数据库主机master1,master2,slave1,slave2执行以下操作)

  1. [[email protected] ~]# cat /root/.mysql_secret         //查看随机生成密码
  2. # The random password set for the root user at Thu May  7 22:15:47 2015 (local time): wW1BNAjD
  3. [[email protected] ~]# mysql -uroot -pwW1BNAjD        //使用随机生成密码登陆
  1. mysql> set password=password("pwd123");          //修改数据库root密码

步骤三:部署双主多从结构

1)数据库授权(4台数据库主机master1,master2,slave1,slave2执行以下操作)

部署主从同步只需要授权一个主从同步用户即可,但是我们要部署MySQL-MMM架构,所以在这里我们将MySQL-MMM所需用户一并进行授权设置。再授权一个测试用户,在架构搭建完成时测试使用。

  1. [[email protected] ~]# mysql -uroot -ppwd123

数据库授权部分为了方便试验我们直接允许所有地址访问了,真实环境需谨慎

  1. mysql> grant   replication  slave  on  *.*  to  [email protected]"%" identified by  "pwd123";                                //主从同步授权
  1. mysql> grant  replication  client  on *.*  to  [email protected]"%" identified by "monitor";                                         //MMM所需架构用户授权
  1. mysql> grant  replication client,process,super   on *.*  to  [email protected]"%" identified by "agent";                                 //MMM所需架构用户授权
  1. mysql> grant  all  on *.*  to  [email protected]"%" identified by "pwd123";  //测试用户授权

2)开启主数据库binlog日志、设置server_id(master1,master2)

master1设置:

  1. [[email protected] ~]# cat /etc/my.cnf
  2. [mysqld]
  3. datadir=/var/lib/mysql
  4. socket=/var/lib/mysql/mysql.sock
  5. user=mysql
  6. server_id=10                        //设置server_id,该值集群中不可以重复
  7. log-bin                            //开启bin-log日志
  8. # Disabling symbolic-links is recommended to prevent assorted security risks
  9. symbolic-links=0
  10. [mysqld_safe]
  11. log-error=/var/log/mysqld.log
  12. pid-file=/var/run/mysqld/mysqld.pid
  13. [[email protected] ~]# service mysql restart                //重启MySQL服务
  14. [[email protected] ~]# ls /var/lib/mysql/master1-bin*        //查看binlog日志是否生成

    master2设置:

  15. [[email protected] ~]# cat /etc/my.cnf
  16. [mysqld]
  17. datadir=/var/lib/mysql
  18. socket=/var/lib/mysql/mysql.sock
  19. user=mysql
  20. server_id=11
  21. log-bin
  22. # Disabling symbolic-links is recommended to prevent assorted security risks
  23. symbolic-links=0
  24. [mysqld_safe]
  25. log-error=/var/log/mysqld.log
  26. pid-file=/var/run/mysqld/mysqld.pid
  27. [[email protected] ~]# service mysql restart
  28. [[email protected] ~]# ls /var/lib/mysql/master2-bin.*

    3)从库设置server_id

    slave1设置:

    1. [[email protected] ~]# cat /etc/my.cnf
    2. [mysqld]
    3. datadir=/var/lib/mysql
    4. socket=/var/lib/mysql/mysql.sock
    5. user=mysql
    6. server_id=12
    7. # Disabling symbolic-links is recommended to prevent assorted security risks
    8. symbolic-links=0
    9. [mysqld_safe]
    10. log-error=/var/log/mysqld.log
    11. pid-file=/var/run/mysqld/mysqld.pid
    12. [[email protected] ~]# service mysql restart

slave2设置:

  1. [[email protected] ~]# cat /etc/my.cnf

  2. [mysqld]
  3. datadir=/var/lib/mysql
  4. socket=/var/lib/mysql/mysql.sock
  5. user=mysql
  6. server_id=13
  7. # Disabling symbolic-links is recommended to prevent assorted security risks
  8. symbolic-links=0
  9. [mysqld_safe]
  10. log-error=/var/log/mysqld.log
  11. pid-file=/var/run/mysqld/mysqld.pid
  12. [[email protected] ~]# service mysql restart

4)配置主从从从关系

配置master2、slave1、slave2成为master1的从服务器

查看master1服务器binlong日志使用节点信息:

  1. [[email protected] ~]# mysql -uroot -ppwd123
  2. .. ..
  3. mysql> show master status\G
  4. File: master1-bin.000001
  5. Position: 120
  6. 设置master2为master1从:
  7. [[email protected] ~]# mysql -uroot -ppwd123
  8. .. ..
  9. mysql> change  master  to                         //设置主服务器信息
  10. -> master_host="192.168.4.10",                //设置主服务器IP地址
  11. -> master_user="slaveuser",                //设置主从同步用户
  12. -> master_password="pwd123",                //设置主从同步密码
  13. -> master_log_file="master1-bin.000001",    //设置主库binlog日志名称
  14. -> master_log_pos=120;                        //设置主从binlog日志使用节点
    1. mysql> start slave;                            //启动同步进程
    2. mysql> show slave status\G                        //查看主从是否成功

启动同步进程后查看IO节点和SQL节点是否为Yes如果均为Yes表示主从正常。Slave_IO_Running: Yes                //IO节点正常Slave_SQL_Running: Yes                //SQL节点正常.. .设置slave1为master1从:[[email protected] ~]# mysql -uroot -ppwd123mysql> change  master  to-> master_host="192.168.4.10",-> master_user="slaveuser",-> master_password="pwd123",-> master_log_file="master1-bin.000001",-> master_log_pos=120;

  1. mysql> start slave;

  2. mysql> show slave status\G
  3. Slave_IO_Running: Yes                //IO节点正常
  4. Slave_SQL_Running: Yes                //SQL节点正常\

    设置slave2为master1从:

[[email protected] ~]# mysql -uroot -ppwd123mysql> change  master  to-> master_host="192.168.4.10",-> master_user="slaveuser",-> master_password="pwd123",-> master_log_file="master1-bin.000001",-> master_log_pos=120;mysql> start slave;mysql> show slave status\GSlave_IO_Running: Yes                //IO节点正常Slave_SQL_Running: Yes                //SQL节点正常5)配置主主从从关系,将master1配置为master2的从

查看master2的binlog使用信息:

  1. [[email protected] ~]# mysql -uroot -ppwd123
  2. mysql> show master status\G
  3. File: master2-bin.000001
  4. Position: 120

设置master1成为master2的从:

  1. [[email protected] ~]# mysql -uroot -ppwd123

  2. mysql> change  master  to
  3. -> master_host="192.168.4.11",
  4. -> master_user="slaveuser",
  5. -> master_password="pwd123",
  6. -> master_log_file="master2-bin.000001",
  7. -> master_log_pos=120;
  8. mysql> start slave;
  9. mysql> show slave status\G
  10. .. ..
  11. Slave_IO_Running: Yes                //IO节点正常
  12. Slave_SQL_Running: Yes                //SQL节点正常
  13. 6)测试主从架构是否成功
  14. master1更新数据,查看其它主机是否同步:
时间: 2024-12-25 12:08:25

部署mysql集群基础环境的相关文章

实现MySQL读写分离 部署集群基础环境(有图)

实现MySQL读写分离 部署集群基础环境 1 实现MySQL读写分离1.1 问题 本案例要求配置2台MySQL服务器+1台代理服务器,实现MySQL代理的读写分离: 用户只需要访问MySQL代理服务器,而实际的SQL查询.写入操作交给后台的2台MySQL服务器来完成 其中Master服务器允许SQL查询.写入,Slave服务器只允许SQL查询 1.2 方案 使用4台RHEL 7.2虚拟机,如图-1所示.其中192.168.4.10.192.168.4.20分别作为MySQL主.从服务器,是整个服

mysql5.6部署集群基础环境

----------------------------- 部署集群基础环境 MySQL-MMM架构部署 MySQL-MMM架构使用 部署集群基础环境 192.168.4.10     master1 192.168.4.11     master2 192.168.4.12     slave1 192.168.4.13     slave2 192.168.4.100     monitor 使用5台mysql5.6 其中192.168.4.10.192.168.4.11作为mysql双主服

部署集群基础环境,MySQL-MMM架构部署,MySQL-MMM架构使用

部署集群基础环境 1.1 问题 本案例要求为MySQL集群准备基础环境,完成以下任务操作: 数据库授权 部署MySQL双主多从结构 配置本机hosts解析记录 1.2 方案 使用4台RHEL 6虚拟机,如图-1所示.其中192.168.4.10.192.168.4.11作为MySQL双主服务器,192.168.4.12.192.168.4.13作为主服务器的从服务器. 图-1 1.3 步骤 实现此案例需要按照如下步骤进行. 步骤一:准备环境 [[email protected] ~]# cat

Database基础(七):部署集群基础环境、MySQL-MMM架构部署、MySQL-MMM架构使用

一.部署集群基础环境 目标: 本案例要求为MySQL集群准备基础环境,完成以下任务操作: 数据库授权 部署MySQL双主多从结构 配置本机hosts解析记录 方案: 使用4台RHEL 6虚拟机,如下图所示.其中192.168.4.10.192.168.4.11作为MySQL双主服务器,192.168.4.12.192.168.4.13作为主服务器的从服务器. 步骤: 步骤一:准备环境 [[email protected] ~]# cat /etc/hosts    127.0.0.1   loc

部署mysql集群

集群:使用一组服务器提供相同的服务 LB :负载均衡集群 HA :高可靠集群 mysql集群中服务器的角色? 1.数据节点  ndbd                       用来储藏数据(表的记录) 2.sql节点                      用户访问数据的接口                      执行用户输入的sql语句                      3.管理节点 mgmd                      管理集群中的所有主机          

07: MMM集群概述 、 部署集群基础环境 、 MMM集群部署 、 总结和答疑

day07 部署MySQL高可用集群 高可用集群介绍: 主备模式 当主不能提供服务的时候备用主机接替它提供服务,这个过程对于客户端是透明的. 一 配置MySQL主从同步主主结构主从从一主多从 二配置MySQL-mmm perl mmm_monitor 监控服务 运行在管理节点主机上.mmm_agentd 代理服务 运行在所有的数据节点主机上. writer-vip : 192.168.4.100 read -vip : 192.168.4.101/102 2.1 在所有主机上安装mysql-mm

HPC 高性能集群基础环境安装

HPC 基础环境配置 1.1.操作系统 配置? 操作系统:redhat enterprise linuxt 6? 管理节点:HOSTNAME:desktop IP:192.168.199.132计算节点: HOSTNAME:c1 IP:192.168.199.133 HOSTNAME:c2 IP:192.168.199.134? 网络配置:固定IP,各个节点互通? 配置本地域名解析(所有节点):将所有的节点的IP HOSTNAME 写入到 /etc/hosts 并分发到所有节点. [[email

2-20 MySQL集群搭建实现高可用

MySQL集群概述和安装环境 MySQL Cluster是MySQL适合于分布式计算环境的高实用.高冗余版本.Cluster的汉语是"集群"的意思.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器. MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署"内存中"数据库的 Cluster .通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求.此外,由于每个组件有自己的内存和磁盘,不存在单

Mysql集群(PXC)入门

第1章  课程介绍 1-1 引言 1-2 天猫双十一案例 1-3 微信红包案例 1-4 技术学习的目标和方式 1-5 课程学习目标 1-6 硬件环境介绍 第2章 PXC原理 2-1 单节点数据库的介绍 2-2 PXC 集群方案 2-3 Replication集群方案 2-4 系统架构方案介绍 2-5 APP 项目介绍 2-6 Docker 虚拟机部署MYSQL集群 2-7 APP 项目演示 2-8 PXC简介 2-9 PXC测试案例 2-10 PXC集群工作原理 第3章 PXC数据强一致性 3-