Mysql集群搭建

操作系统

Centos 6.5

软件包

mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64.tar.gz

数据库管理节点: 192.168.11.173

数据库数据节点:192.168.11.175

数据库数据节点:192.168.11.176

  1. 管理节点的安装  

 #groupadd mysql 

  #useradd mysql -g mysql 

  #mv mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64.tar.gz /usr/local/   

#cd /usr/local/ 

  #tar zxvf  mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64.tar.gz  

 #rm -f mysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz  

 #mv mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64/ mysql  

 #chown -R mysql:mysql mysql  

 #cd mysql

  #scripts/mysql_install_db --user=mysql

报错

-bash: scripts/mysql_install_db:/usr/bin/perl: bad interpreter: No such file or directory

yum install -y perl

报错

Installing MySQL systemtables..../bin/mysqld: error while loading shared libraries: libaio.so.1:cannot open shared object file: No such file or directory

Yum install –y libaio

#cp support-files/mysql.server /etc/init.d/mysqld

  1. 管理节点的配置

Mkdir /var/lib/mysql-cluster/config.ini

Vi /var/lib/mysql-cluster/config.ini

[NDBD DEFAULT]

NoOfReplicas=2

DataMemory=80M

IndexMemory=18M

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

#portnumber=2202

[NDB_MGMD]

hostname=192.168.11.173

datadir=/var/lib/mysql-cluster

[NDBD]

hostname=192.168.11.175

datadir=/usr/local/mysql/data

[NDBD]

hostname=192.168.11.176

datadir=/usr/local/mysql/data

[MYSQLD]

[MYSQLD]

启动管理节点

cd /usr/local/mysql/bin

./ndb_mgmd -f/var/lib/mysql-cluster/config.ini观察有没有报错

正常启动


netstat –lntpu  查看1186端口是否正常启动


 

3.安装和配置数据节点

这里2台机器数据节点安装是相同的(192.168.11.175192.168.11.176)

#groupadd mysql 

#useradd mysql -g mysql 

#mv mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64.tar.gz /usr/local/   

#cd /usr/local/ 

  #tar zxvf  mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64.tar.gz  

#rm -f mysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz  

#mv mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64/ mysql  

#chown -R mysql:mysql mysql  

#cd mysql

  #scripts/mysql_install_db --user=mysql

报错

-bash: scripts/mysql_install_db: /usr/bin/perl:bad interpreter: No such file or directory

yum install -y perl

报错

Installing MySQL systemtables..../bin/mysqld: error while loading shared libraries: libaio.so.1:cannot open shared object file: No such file or directory

Yum install –y libaio

#cp support-files/mysql.server /etc/init.d/mysqld

4 配置集群服务器并启动mysql

192.168.11.175   192.168.11.176

vi /etc/my.cnf

[mysqld]

datadir=/usr/local/mysql/data/

ndbcluster    #新加

ndb-connectstring=192.168.11.173 #新加

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommendedto prevent assorted security risks

symbolic-links=0

[mysql_cluster]     #新加

ndb-connectstring=192.168.11.173   #新加

 

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

启动mysql

cd /usr/local/mysql/data/

/usr/local/mysql/bin/ndbd –initial


启动mysql如果报错:

StartingMySQL........................................... ERROR! The server quit withoutupdating PID file (/var/lib/mysql/mysqldata.pid).

解决办法:

scripts/mysql_install_db --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data --user=mysql --ldata=/var/lib/mysql

/etc/init.d/mysqld start 就能启动了

 

进入mysql

/usr/local/mysql/bin/mysql -uroot –p

报错

ERROR 2002 (HY000): Can't connect to localMySQL server through socket '/tmp/mysql.sock' (2)

解决办法

ln /var/lib/mysql/mysql.sock /tmp/

启动mysql

可以把/usr/local/mysql/bin/ndbd加到/etc/rc.local中实现开机启动。

在管理节点上观察数据节点的状态192.168.11.173

/usr/local/mysql/bin/ndb_mgm


正常

测试

数据节点192.168.11.175

/usr/local/mysql/bin/mysql –uroot

use test;

create table testtable (id int)  engine=ndbcluster;#(一定要加上这个要不没有办法同步)

insert into testtable values (1);


在数据节点192.168.11.176上就能看见这个新建的表了,数据是同步的。