Redhat 6.5下MySQL5.6集群配置方法完整版

Redhat 6.5下MySQL5.6集群配置方法完整版

1. 环境准备

1.1 安装MySQL

首先需要为每个节点安装MySQL5.6,可以从MySQL官网下载对应的rpm文件进行安装。具体命令如下:

rpm -ivh MySQL-server-5.6.30-1.el6.x86_64.rpm
rpm -ivh MySQL-client-5.6.30-1.el6.x86_64.rpm

1.2 配置MySQL

安装完成后需要进行MySQL的基本配置,打开my.cnf文件,配置bind_address、datadir等参数,确保MySQL可以正常启动。

vi /etc/my.cnf

1.3 安装与配置Pacemaker

Pacemaker是一个用于构建高可用集群的工具,可以通过yum安装。具体命令如下:

yum install pacemaker pcs -y

安装完成后,需要配置pcs服务,并设置hacluster用户的密码。

systemctl start pcsd.service
systemctl enable pcsd.service
passwd hacluster

2. 配置集群

2.1 创建Cluster

在主节点上创建Cluster,类似的,其他节点需先配置pcs后再加入Cluster。具体命令如下:

pcs cluster auth node1 node2 node3
pcs cluster setup --name myCluster node1 node2 node3

2.2 配置IP资源

创建IP资源,并分别设置为Master节点启动,其他节点禁止启动。具体命令如下:

pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.100 cidr_netmask=24 op monitor interval=10s
pcs resource master masterIP VirtualIP \
        master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
pcs resource ban VirtualIP node1 node2 node3
pcs resource ban masterIP node1 node2 node3
pcs resource allow masterIP node1 op monitor interval=10s

2.3 配置MySQL资源

启动MySQL5.6的Master节点,并设置监听端口。

systemctl start mysqld.service
mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;"
mysql -uroot -e "reset master;"
mysql -uroot -e "reset slave all;"

创建MySQL的Master节点资源,并设置监听端口并关联VirtualIP资源。

pcs resource create Master mysqld op monitor interval=30s timeout=30s \
        OCF_CHECK_LEVEL=1 OCF_CHECK_INTERVAL=10s \
        OCF_CHECK_RETRIES=5 master IP=192.168.0.100 port=3306 \
        config="/etc/my.cnf" additional_parameters="--innodb-write-io-threads=16" \
        binary="/usr/bin/mysqld_safe" pid="/var/run/mysqld/mysqld.pid" op start timeout=600s \
        op stop timeout=600s op promote timeout=300s op demote timeout=300s \
        op notify timeout=300s op monitor interval=30s timeout=20s \
        OCF_NOT_RUNNING_STOP_OPT="stop" \
        ordered=true
pcs constraint order promote VirtualIP then start Master-clone kind=Mandatory
pcs constraint order start VirtualIP then start Master-clone
pcs constraint colocation add Master-clone with VirtualIP same-node

2.4 配置Slave节点

创建2个Slave资源,同时开启GTID复制。

mysql -uroot -e "change master to master_user='repl_user', master_password='repl_password', \
                master_host='192.168.0.101', master_port=3306, master_use_gtid=current_pos;"
mysql -uroot -e "start slave;"
mysql -uroot -e "change master to master_user='repl_user', master_password='repl_password', \
                master_host='192.168.0.102', master_port=3306, master_use_gtid=current_pos;"
mysql -uroot -e "start slave;"

pcs resource create Slave1Mysql.mysql \
        binary="/usr/bin/mysqld_safe" pid="/var/run/mysqld/mysqld.pid" \
        config="/etc/my.cnf" datadir="/var/lib/mysql" \
        socket="/var/lib/mysql/mysql.sock" port="3306" \
        mysql="/usr/bin/mysql" user="mysql" \
        group="mysql" \
        master_ip="192.168.0.100" \
        password="password" \
        op start timeout=60s op stop timeout=60s \
        op promote timeout=60s op demote timeout=60s \
        op monitor interval=10s timeout=30s \
        op notify timeout=60s
pcs resource create Slave2Mysql.mysql \
        binary="/usr/bin/mysqld_safe" pid="/var/run/mysqld/mysqld.pid" \
        config="/etc/my.cnf" datadir="/var/lib/mysql" \
        socket="/var/lib/mysql/mysql.sock" port="3306" \
        mysql="/usr/bin/mysql" user="mysql" \
        group="mysql" \
        master_ip="192.168.0.100" \
        password="password" \
        op start timeout=60s op stop timeout=60s \
        op promote timeout=60s op demote timeout=60s \
        op monitor interval=10s timeout=30s \
        op notify timeout=60s

pcs constraint order promote VirtualIP then start Slave1Mysql-clone kind=Mandatory
pcs constraint order start VirtualIP then start Slave1Mysql-clone
pcs constraint colocation add Slave1Mysql-clone with VirtualIP same-node
pcs constraint order promote VirtualIP then start Slave2Mysql-clone kind=Mandatory
pcs constraint order start VirtualIP then start Slave2Mysql-clone
pcs constraint colocation add Slave2Mysql-clone with VirtualIP same-node

3. 集群管理

3.1 启动集群

已创建好的Cluster资源可以通过以下命令启动:

pcs cluster start --all

3.2 停止节点资源

停止节点资源可以通过以下命令进行:

pcs resource disable node1

3.3 恢复节点资源

恢复节点资源可以通过以下命令进行:

pcs resource enable node1

3.4 查看Cluster状态

查看Cluster的状态,可以通过以下命令进行:

pcs status

4. 示例说明

4.1 查看MySQL节点状态

可以通过以下命令查看MySQL节点状态,以node1为例:

pcs status | grep 'node1' | grep 'Starting\|Running\|Stopped'

如果输出为Starting或Running,则说明节点的MySQL服务正常运行。如果输出为Stopped,则说明节点的MySQL服务已经停止。

4.2 启动Master节点资源

可以通过以下命令启动Master节点资源:

pcs resource enable Master-clone

启动成功后,可以通过以下命令查看节点状态:

pcs status | grep 'Master-clone' | grep 'Started\|Stopped'

如果输出为Started,则表示Master节点资源已经启动。如果输出为Stopped,则表示Master节点资源没有成功启动,可能需要检查是否有其他资源因为依赖关系无法启动。

以上就是在Redhat 6.5下MySQL5.6集群配置方法完整版的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Redhat 6.5下MySQL5.6集群配置方法完整版 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • centos6.5 lamp 环境(使用yum安装方法)

    CentOS6.5 LAMP环境(使用yum安装方法) 什么是LAMP环境 LAMP是指在Linux操作系统下使用Apache作为Web服务器,MySQL作为数据库服务器,PHP(or Perl, Python)作为服务器端脚本解释器的一种Web开发环境。 在CentOS 6.5中,我们可以使用yum来进行安装,以下是具体的步骤。 安装步骤 1. 安装Apa…

    database 2023年5月22日
    00
  • MySQL关于ERROR 1290 (HY000)报错解决方法

    下面就是详细的MySQL关于ERROR 1290 (HY000)报错解决方法攻略: 1. 问题描述 当用户在使用MySQL时,有时会出现ERROR 1290 (HY000)的报错,此时用户无法继续使用MySQL,其常见的错误信息如下: ERROR 1290 (HY000): The MySQL server is running with the –ski…

    database 2023年5月18日
    00
  • IDEA连接mysql数据库报错的解决方法

    下面是详细讲解“IDEA连接MySQL数据库报错的解决方法”的完整攻略。 问题描述 在使用 IntelliJ IDEA 连接 MySQL 数据库时,可能会遭遇连接报错问题,如下所示: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The la…

    database 2023年5月18日
    00
  • DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)

    DBA_Oracle Startup / Shutdown启动和关闭过程详解 概念 Oracle数据库的启动和关闭过程是DBA(数据库管理员)经常会涉及到的一个领域。在正式启动和关闭数据库之前,DBA需要对数据库进行一些准备工作,例如检查数据库参数设置、检查数据文件与日志文件是否存在、检查内存与磁盘的使用情况、检查监听器是否启动等。在进行关闭操作前,DBA需…

    database 2023年5月22日
    00
  • 详解Spring Boot + Mybatis 实现动态数据源

    下面我将详细讲解 “详解Spring Boot + Mybatis 实现动态数据源” 的完整攻略。 背景介绍 在实际项目开发中,不同的业务代码需要连接到不同的数据库中进行读写操作,而且数据库的配置可能会发生改变,因此需要支持动态切换不同的数据源进行操作。 实现步骤 引入必要的依赖 首先,需要在 pom.xml 中引入 spring-boot-starter-…

    database 2023年5月18日
    00
  • Flink 三种Sink redis,es和jdbc

    一、redis sink 对应jar包 <dependency> <groupId>org.apache.bahir</groupId> <artifactId>flink-connector-redis_2.11</artifactId> <version>1.0</versio…

    Redis 2023年4月13日
    00
  • 详解MySQL的约束

    在 MySQL 中,约束是指对表中数据的一种约束,能够帮助数据库管理员更好地管理数据库,并且能够确保数据库中数据的正确性和有效性。 例如,在数据表中存放年龄的值时,如果存入 200、300 这些无效的值就毫无意义了。因此,使用约束来限定表中的数据范围是很有必要的。 在 MySQL 中,支持以下几种约束: 1. 主键约束(Primary Key Constra…

    MySQL 2023年3月9日
    00
  • MySQL语句中的主键和外键使用说明

    MySQL语句中的主键和外键是关系数据库中常用的两个概念,正确地使用它们可以确保数据表的完整性和一致性。本攻略将详细讲解主键和外键的使用说明。 主键的使用说明 主键是一种唯一标识数据表中记录的一列或一组列。主键的值必须唯一,且不能为空。在MySQL中,可以通过以下语句创建主键: CREATE TABLE table_name ( id INT NOT NUL…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部