MySQL Cluster集群配置方案
MySQL Cluster集群配置方案
#/bin/bash
#MySQL Cluster集群配置方案
#用途 主机名 IP
#管理节点 ndb_mgmd 192.168.40.129
#数据节点1 ndb1 192.168.40.131
#数据节点2 ndb2 192.168.40.132
#sql节点1 mysqld1 192.168.40.131
#sql节点2 mysqld2 192.168.40.132
#所需软件推荐用mysql-max-5.0.24
#开始安装
#sql、数据节点安装
#在每个节点计算机上都采用mysql 用户来运行Cluster,因此执行如下命令添加相关用户
groupadd mysql
useradd -g mysql mysql
#sql节点、数据节点安装mysql的二进制安装包
wget http://downloads.skysql.com/archives/mysql-5.0/mysql-max-5.0.24-linux-i686.tar.gz
tar -zxf mysql-max-5.0.24-linux-i686.tar.gz
mv mysql-max-5.0.24-linux-i686 /usr/local/mysql
#拷贝MySQL配置文件到/etc/下,初始化数据库,设置目录权限,启动MySQL
cd /usr/local/mysql
\cp -rf support-files/my-medium.cnf /etc/my.cnf
scripts/mysql_install_db --user=mysql
chown -R mysql.mysql /usr/local/mysql
bin/MySQLd_safe --user=mysql &
#将MySQL写入服务,初始化MySQL的root密码
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
bin/mysqladmin -u root password 123123
vi /etc/my.cnf 在最下面添加内容:
[mysqld]
ndbcluster
ndb-connectstring=192.168.40.129
[mysql_cluster]
ndb-connectstring=192.168.40.129
#管理节点安装
tar -zxvf mysql-max-5.0.24-linux-i686.tar.gz
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
cd mysql-max-5.0.24-linux-i686/bin
cp ndb_mgm* /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql
#配置管理节点
vim /usr/local/mysql/config.ini
[ndbd default]
NoOfReplicas=2
DataMemory=200M
IndexMemory=100M
[tcp default]
portnumber=4444 #此端口为数据节点使用的端口
[ndb_mgmd]
#set Management server
hostname=192.168.40.129
#Management save log directory
datadir=/usr/local/mysql/data/
#set Storage server
[ndbd]
hostname=192.168.40.131
datadir=/usr/local/mysql/data/
[ndbd]
hostname=192.168.40.132
datadir=/usr/local/mysql/data/
#set sql server
[mysqld]
hostname=192.168.40.131
[mysqld]
hostname=192.168.40.132
#启动mysql cluster
#较为合理的启动顺序是,首先启动管理节点服务器,然后启动存储节点服务器,最后才启动SQL节点服务器:
#在管理节点服务器上,执行以下命令启动MGM节点进程:
/usr/local/mysql/ndb_mgmd -f /usr/local/mysql/config.ini
#必须用参数“-f”或“--config-file”告诉 ndb_mgm 配置文件所在位置,默认是在ndb_mgmd相同目录下。
#在每台存储节点服务器上,如果是第一次启动ndbd进程的话,必须先执行以下命令:
/usr/local/mysql/bin/ndbd --initial
#注意,仅应在首次启动ndbd时,或在备份/恢复数据或配置文件发生变化后重启ndbd时使用“--initial”参数。因为该参数会使节点删除由早期ndbd实例创建的、用于恢复的任何文件,包括用于恢复的日志文件。
#如果不是第一次启动,直接运行如下命令即可:
/usr/local/mysql/bin/ndbd
#最后,运行以下命令启动SQL节点服务器:
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
#如果一切顺利,也就是启动过程中没有任何错误信息出现,那么就在管理节点服务器上运行如下命令:
[root@localhost mysql]# /usr/local/mysql/ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.40.131 (Version: 5.0.24, Nodegroup: 0)
id=3 @192.168.40.132 (Version: 5.0.24, Nodegroup: 0, Master)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.40.129 (Version: 5.0.24)
[mysqld(API)] 2 node(s)
id=4 @192.168.40.131 (Version: 5.0.24)
id=5 @192.168.40.132 (Version: 5.0.24)
#测试
#在mysqld1节点上,用root在test数据库上新建一个t1的表
mysql> use test;
Database changed
mysql> show tables;
Empty set (0.11 sec)
mysql> create table t1(a int) engine=ndb;
Query OK, 0 rows affected (0.74 sec)
mysql> insert into t1 values(100);
Query OK, 1 row affected (0.32 sec)
#在mysqld2节点2上,用root查看效果
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t1 |
+----------------+
1 row in set (0.00 sec)
评论暂时关闭