您的位置:首页 > 数据库 > MySQL

MYSQL集群安装配置

2010-07-03 16:13 651 查看
[align=center]MYSQL集群安装配置[/align]
撰写人:hx10
日期:2010/7/1 hangzhou
Blog:http://hi.baidu.com/hx10

系统:Linux5.5
mysql软件:mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz
http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.1/mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz/from/http://gd.tuwien.ac.at/db/mysql/

数据节点1:10.80.11.203
数据节点2:10.80.11.204
管理节点:10.80.11.205
sql节点:10.80.11.203,10.80.11.204

1. 管理节点的安装
#groupadd mysql
#useradd mysql -g mysql
#mv mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz /usr/local/
#cd /usr/local/
#tar zxvf mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz
#mv mysql-cluster-gpl-7.1.4b-linux-i686-glibc23 mysql
#chown -R mysql:mysql mysql
#cd mysql
#scripts/mysql_install_db --user=mysql

2. 配置管理节点
#mkdir /var/lib/mysql-cluster
#cd /var/lib/mysql-cluster
#vim config.ini
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
[ndb_mgmd]
Id=1
Hostname=10.80.11.205 //管理IP
datadir=/usr/local/mysql/logs
[ndbd]
Id=2
Hostname=10.80.11.203 //数据节点1
datadir=/usr/local/mysql/data/ //数据文件位置
[ndbd]
Id=3
Hostname=10.80.11.204 //数据节点2
datadir=/usr/local/mysql/data/ //数据文件位置
[MYSQLD]
[MYSQLD]

3. 安装配置数据节点
这里2台机器数据节点安装是相同的.
#groupadd mysql
#useradd mysql -g mysql
#mv mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz /usr/local/
#cd /usr/local/
#tar zxvf mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz
#mv mysql-cluster-gpl-7.1.4b-linux-i686-glibc23 mysql
#chown -R mysql:mysql mysql
#cd mysql
#scripts/mysql_install_db --user=mysql
#cp support-files/my-medium.cnf /etc/my.cnf
#cp support-files/mysql.server /etc/init.d/mysqld
#vi /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[mysqld]
datadir=/usr/local/mysql/data/
ndbcluster
ndb-connectstring=10.80.11.205
[mysql_cluster]
ndb-connectstring=10.80.11.205
[ndb_mgm]
connect-string=10.80.11.205
[ndb_mgmd]
config-file=/var/lib/mysql-cluster/config.ini

4. 启动服务
在管理节点启动相关服务
#/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
#netstat –lntpu
看到1186开放说明启动正常

在2个数据节点启动相关服务
#/usr/local/mysql/bin/ndbd --initial
#service mysqld start

看到nbdb服务和3306端口说明启动OK

5.功能测试
在管理节点上查看服务状态
#/usr/local/mysql/bin/ndb_mgm
ndb_mgm> show




可以看到这里的数据节点、管理节点、sql节点都是正常的
测试一:
现在我们在其中一个数据节点上进行相关数据库的创建,然后到另外一个数据节点上看看数据是否同步
在数据节点1上执行:
# /usr/local/mysql/bin/mysql -u root –p
mysql>show databases;
mysql>create database aa;
mysql>use aa
mysql>CREATE TABLE ctest2 (i INT) ENGINE=NDB; //这里必须指定数据库表的引擎为NDB,否则同步失败
mysql> INSERT INTO ctest2 () VALUES (1);
mysql> SELECT * FROM ctest2;
然后在数据节点2上看数据是否同步过来了

经过测试,在非master上创建数据,可以同步到master上
查看表的引擎是不是NDB,>show create table 表名;

测试二、关闭一个数据节点 ,在另外一个节点写输入,开启关闭的节点,看数据是否同步过来
首先把数据节点1重启,然后在节点2上添加数据
在节点2上操作如下:
mysql>create database bb;
mysql>use bb
mysql>CREATE TABLE ctest3 (i INT) ENGINE=NDB;
mysql> INSERT INTO ctest2 () VALUES (3333);
mysql> SELECT * FROM ctest2;
此时在管理节点上看到信息如下:



等节点1启动完毕,启动节点1的服务
#/usr/local/mysql/bin/ndbd --initial
#service mysqld start
然后登录进去查看数据
# /usr/local/mysql/bin/mysql -u root –p
可以看到数据已经同步过来了,说明数据可以双向同步了。
发现一个问题,让master重启后,备节点就变成master了,当以前的master启动后,不会主动切换回master的角色。
本文出自 “无云安全技术站” 博客,请务必保留此出处http://hx100.blog.51cto.com/44326/343389
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: