WPS专家网

MySQL集群安装与配置

发表于:2023-10-03 作者:WPS专家网编辑
编辑最后更新 2023年10月03日,MySQL Cluster 是 MySQL 适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。MySQL Cl

MySQL Cluster 是 MySQL 适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。MySQL Cluster 能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但在 Cluster 级别上的存储引擎上做这个最简单。下面我们简单介绍MySQL Cluster如何安装与配置。
基本设定
管理(MGM)节点:192.168.0.111
MySQL服务器(SQL)节点:192.168.0.110
数据(NDBD)节点"A":192.168.0.112
数据(NDBD)节点"B":192.168.0.113

一、mysql集群安装

mysql的集群安装可以有三种方式,一是直接下载二进制使用,二是使用rpm安装,三是源码编译。我们这里使用第一种安装。
1、每个节点做相同的操作

cd /tmpwget http://cdn.mysql.com/Downloads/MySQL-Cluster-7.2/mysql-cluster-gpl-7.2.8-linux2.6-i686.tar.gztar xzf mysql-cluster-gpl-7.2.8-linux2.6-i686.tar.gzmv mysql-cluster-gpl-7.2.8-linux2.6-i686 /usr/local/mysql

注意:这里下载的是32位的二进制包,如果你的系统是64位,需要下载64位的包。
2、存储节点和SQL节点安装

groupadd mysqluseradd -g mysql mysql/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysqlchown -R root /usr/local/mysqlchown -R mysql /usr/local/mysql/datachgrp -R mysql /usr/local/mysqlcp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

二、节点配置

1、配置存储节点和SQL节点

vi /etc/my.cnf类似于:# Options for mysqld process:[MYSQLD]                        ndbcluster                      # run NDB enginendb-connectstring=198.168.0.111  # location of MGM node # Options for ndbd process:[MYSQL_CLUSTER]                 ndb-connectstring=198.168.0.111  # location of MGM node

2、配置管理节点

mkdir /var/lib/mysql-clustercd /var/lib/mysql-clustervi config.ini config.ini文件应类似于: # Options affecting ndbd processes on all data nodes:[NDBD DEFAULT]    NoOfReplicas=2    # Number of replicasDataMemory=80M    # How much memory to allocate for data storageIndexMemory=18M   # How much memory to allocate for index storage                  # For DataMemory and IndexMemory, we have used the                  # default values. Since the "world" database takes up                  # only about 500KB, this should be more than enough for                  # this example Cluster setup. # TCP/IP options:[TCP DEFAULT]     portnumber=2202   # This the default; however, you can use any                  # port that is free for all the hosts in cluster                  # Note: It is recommended beginning with MySQL 5.0 that                  # you do not specify the portnumber at all and simply allow                  # the default value to be used instead # Management process options:[NDB_MGMD]                      hostname=198.168.0.111           # Hostname or IP address of MGM nodedatadir=/var/lib/mysql-cluster  # Directory for MGM node logfiles # Options for data node "A":[NDBD]                                                          # (one [NDBD] section per data node)hostname=198.168.0.112         # Hostname or IP addressdatadir=/usr/local/mysql/data   # Directory for this data node's datafiles # Options for data node "B":[NDBD]                          hostname=198.168.0.113       # Hostname or IP addressdatadir=/usr/local/mysql/data   # Directory for this data node's datafiles # SQL node options:[MYSQLD]                        hostname=198.168.0.110           # Hostname or IP address                                # (additional mysqld connections can be                                # specified for this node for various                                # purposes such as running ndb_restore)

三、首次启动节点

1、启动管理节点

/usr/local/mysql/bin/ndb_mgmd --configdir=/var/lib/mysql-cluster -f /var/lib/mysql-cluster/config.ini

2、启动数据节点
首次启动需要-initial参数初始化,下一次启动就不需要了。

/usr/local/mysql/bin/ndbd --initial

3、启动SQL节点

/usr/local/mysql/bin/mysqld_safe  &

4、检查状态
如果一切正常,执行命令 /usr/local/mysql/bin/ndb_mgm -e show应该会输出类似信息:

[root@localhost mysql-cluster]# /usr/local/mysql/bin/ndb_mgm -e show
Connected to Management Server at: localhost:1186
Cluster Configuration
-------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.0.112 (mysql-5.5.27 ndb-7.2.8, Nodegroup: 0, Master)
id=3 @192.168.0.113 (mysql-5.5.27 ndb-7.2.8, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.0.111 (mysql-5.5.27 ndb-7.2.8)

[mysqld(API)] 1 node(s)
id=4 @192.168.0.110 (mysql-5.5.27 ndb-7.2.8)

四、测试服务是否正常

在SQL节点上执行如下数据库操作:

/usr/local/mysql/bin/mysql -uroot -pmysql> create database clusterdb;use clusterdb;mysql> create table simples (id int not null primary key) engine=ndb;mysql> insert into simples values (1),(2),(3),(4);mysql> select * from simples;

如果出现:
+--+
| id |
+--+
| 1 |
| 2 |
| 4 |
| 3 |
+--+
则表示工作正常。

五、安全关闭和重启

1、关闭mysql集群,可在管理节点在执行如下命令:

/usr/local/mysql/bin/ndb_mgm -e shutdown

2、重启管理节点

/usr/local/mysql/bin/ndb_mgmd --configdir=/var/lib/mysql-cluster -f /var/lib/mysql-cluster/config.ini

3、重启数据节点

/usr/local/mysql/bin/ndbd

参考:http://dev.mysql.com/doc/refman/5.1/zh/ndbcluster.html

0