Debian6配置Mysql集群

Mysql版本:mysql-cluster-gpl-7.1.14-linux-i686-glibc23.tar.gz

操作系统:Debian6.0 虚拟机

192.168.225.131 (MGMD)

192.168.225.133 (NDBD)

192.168.225.134 (NDBD)

192.168.225.135 (MySQLD)

192.168.225.136 (MySQLD)

Debian6配置Mysql集群_第1张图片

1.每台虚拟机都安装mysql-cluster

root@debian:/home/john# groupadd mysql

root@debian:/home/john# useradd -g mysql mysql

root@debian:/home/john# tar zxf mysql-cluster-gpl-7.1.14-linux-i686-glibc23.tar.gz

root@debian:/home/john# mv zxf mysql-cluster-gpl-7.1.14-linux-i686-glibc23 /usr/local/mysql

root@debian:/home/john# chown mysql:mysql /usr/local/mysql

root@debian:/home/john# rm mysql-cluster-gpl-7.1.14-linux-i686-glibc23.tar.gz

2.配置MGMD(管理节点192,168.225.131)

创建文件/var/lib/mysql-cluster/config.ini (可以是其他位置或命名)

[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=100M
IndexMemory=100M

[TCP DEFAULT]
portnumber=2202

[NDB_MGMD]
id=1
hostname=192.168.225.131
datadir=/var/lib/mysql-cluster

[NDBD]
id=2
hostname=192.168.225.133
datadir=/usr/local/mysql/ndbdata

[NDBD]
id=3
hostname=192.168.225.134
datadir=/usr/local/mysql/ndbdata

[mysqld]
id=4
hostname=192.168.225.135

[mysqld]
id=5
hostname=192.168.225.136

3.配置NDBD(数据节点192.168.225.133, 192.168.225.134)

创建/etc/my.cnf文件,内容如下

[mysqld]
datadir=/usr/local/mysql/ndbdata

[mysql_cluster]
ndb-connectstring = 192.168.225.131 #指向mgmd

4.配置MySQLD(SQL节点192.168.225.135, 192.168.225.136)

创建/etc/my.cnf文件,内容如下

[mysqld]
ndbcluster
ndb-connectstring=192.168.225.131

[mysql_cluster]
ndb-connectstring=192.168.225.131

安装System tables

root@debian:/usr/local/mysql/scripts# mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

5.以上配置完成无误之后,启动管理节点 192.168.225.131

root@debian:/usr/local/mysql/bin# ./ndb_mgmd -f /var/lib/mysql-cluster/config.ini

root@debian:/usr/local/mysql/bin# ./ndb_mgmd

ndb_mgm> show

Debian6配置Mysql集群_第2张图片

初次启动时候,id=2,3,4,5应该都是 not connected。

6.启动NDB节点和MySQL节点

启动NDB节点

root@debian:/usr/local/mysql/bin# ./ndbd

启动MySQL节点

root@debian:/usr/local/mysql/bin# ./mysqld_safe &


此处若启动出错,先查看第4步中 安装System tables是否正确。

7.测试 (MySQLD节点192.168.225.135, 192.168.225.136 上进行)

root@debian:/usr/local/mysql/bin# ln -s /usr/local/mysql/bin/mysql /usr/bin

root@debian:/usr/local/mysql/bin# mysql -uroot test

mysql> create table job(id int auto_increment,name varchar(100)) engine=ndbcluster default charset utf8;

engine=ndbcluster不能少,不然节点无法同步。

在两个节点中创建表并插入数据,测试结果节点数据已同步...OK


8.后续 停止节点 重启节点

停止ndbd节点

Debian6配置Mysql集群_第3张图片

如果所有的数据节点ndbd都停止,SQL节点mysqld会自动都失去连接,但是mysqld进程依然存活,导致重新恢复ndbd之后,mysqld没法自动恢复

这时候,需要先将mysqld进程杀死,然后重启mysqld节点。

Debian6配置Mysql集群_第4张图片


值得注意的地方
运行/usr/local/mysql/scripts/mysql_install_db --user=mysql

参数--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data & (这点非常重要)

你可能感兴趣的:(Debian)