MYSQL CLUSTER 部署记录

1、服务器功能划分

管理节点:

193.168.120.60

数据节点

193.168.120.71

193.168.120.72

SQL节点

193.168.120.69

193.·168.120.91

2、安装

MYSQL软件:mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz,先放在共享目录,各台机器分别挂载好,位于/shared/soft/

挂载方法/etc/fstab增加最后一行

//193.168.120.3/e$     /shared             cifs username=hostname\administrator,password=********,rw 0 0

mount -a

各台机器最好先删掉原来的MYSQL,执行脚本del.sh:

[root@centos64 ~]# sh /shell/del.sh 
#!/bin/bash
a=`rpm -qa|grep mysql*`
for a1 in ${a[@]}
do
rpm -e --nodeps $a1
done

管理节点及数据节点执行:

root@racnode2 ~]#sh /shell/clu1.sh 
#!/bin/bash

egrep "^mysql" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
    groupadd mysql
fi
 
#create user if not exists
egrep "^mysql" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
    useradd mysql -g mysql
fi

if [ ! -d /usr/local/mysql ];then
  mkdir /usr/local/mysql
else
  mv /usr/local/mysql /usr/local/mysqlold
  mkdir /usr/local/mysql
fi
cd /usr/local/
cp /shared/soft/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz /tmp/
tar -zxvf /tmp/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql
mv /usr/local/mysql/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64/* /usr/local/mysql/
rm -rf /usr/local/mysql/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64
chown -R mysql:mysql mysql/
cd mysql
scripts/mysql_install_db --user=mysql

SQL节点执行:

[root@centos64 mysql]# sh /shell/clu1.sh 
#!/bin/bash

egrep "^mysql" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
    groupadd mysql
fi
 
#create user if not exists
egrep "^mysql" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
    useradd mysql -g mysql
fi

if [ ! -d /usr/local/mysql ];then
  mkdir /usr/local/mysql
else
  mv /usr/local/mysql /usr/local/mysqlold
  mkdir /usr/local/mysql
fi
cd /usr/local/
cp /shared/soft/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz /tmp/
tar -zxvf /tmp/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql
mv /usr/local/mysql/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64/* /usr/local/mysql/
rm -rf /usr/local/mysql/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_64
chown -R mysql:mysql mysql/
 

3、配置

管理节点

[root@MSLINUX ~]# sh /shell/mkdir.sh 
#!/bin/bash
dirarr=(/var/lib/mysql-cluster /var/mysql /var/mysql/data /var/mysql/log)
for arr1 in ${dirarr[@]}
do
if [ ! -d $arr1 ];then
  mkdir -p $arr1
else
  bak=$arr1"old"
  mv $arr1 $bak
  mkdir -p $arr1
fi
done

编辑配置文件:

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

[root@MSLINUX ~]# cat /var/lib/mysql-cluster/config.ini
[NDBD DEFAULT]
 
NoOfReplicas=2
 
#[TCP DEFAULT]
 
#PortNumber=1186
 
[NDB_MGMD]
 
 
nodeid=1
 
HostName=193.168.120.60
 
DataDir=/var/mysql/data
 
[NDBD]
 
nodeid=2
 
HostName=193.168.120.71
 
DataDir=/var/mysql/data
 
[NDBD]
 
nodeid=3
 
HostName=193.168.120.72
 
DataDir=/var/mysql/data
 
[MYSQLD]
 
nodeid=4
 
HostName=193.168.120.69
 
[MYSQLD]
 
nodeid=5
 
HostName=193.168.120.91
 
 
[MYSQLD]
 
nodeid=6
 
[mysqld]
 
nodeid=7

#留有空的mysqld节点

拷贝文件:

[root@MSLINUX ~]# sh /shell/cp.sh 
#!/bin/bash
cd /usr/local/mysql/bin
cp ./ndb_mgm /usr/local/bin/
cp ./ndb_mgmd /usr/local/bin/
cp /var/lib/mysql-cluster/config.ini /usr/local/bin/

数据节点:

[root@racnode2 shell]# sh mkdir.sh 
#!/bin/bash
dirarr=(/var/mysql /var/mysql/data /var/mysql/log)
for arr1 in ${dirarr[@]}
do
if [ ! -d $arr1 ];then
  mkdir -p $arr1
else
  bak=$arr1"old"
  mv $arr1 $bak
  mkdir -p $arr1
fi
done

/etc/my.cnf如下:

[root@racnode2 shell]# cat /etc/my.cnf 
[mysqld]
 
datadir=/var/mysql/data
 
socket=/var/mysql/mysql.sock
 
user=mysql
 
# Disabling symbolic-links is recommended to prevent assorted security risks
 
symbolic-links=0
 
 
ndbcluster
 
 
ndb-connectstring=193.168.120.60
 
[MYSQL_CLUSTER]
 
ndb-connectstring=193.168.120.60
 
[NDB_MGM]
 
connect-string=193.168.120.60
 
[mysqld_safe]
 
log-error=/var/mysql/log/mysqld.log
 
pid-file=/var/run/mysqld/mysqld.pid

SQL节点

[root@centos64 mysql]# cat /shell/cp.sh 
#!/bin/bash
cd /usr/local/mysql/
cp -r support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig mysqld on
dirarr=(/var/mysql /var/mysql/data /var/mysql/log)
for arr1 in ${dirarr[@]}
do
if [ ! -d $arr1 ];then
  mkdir -p $arr1
else
  bak=$arr1"old"
  mv $arr1 $bak
  mkdir -p $arr1
fi
done
chown -R mysql:mysql /var/mysql
ln -sf /usr/local/mysql/bin/mysql /usr/bin
ln -sf /var/mysql/mysql.sock /tmp/mysql.sock

/etc/my.cnf如下:[root@centos64 mysql]# cat /etc/my.cnf 
[mysqld]
 
datadir=/var/mysql/data
 
socket=/var/mysql/mysql.sock
 
user=mysql
 
# Disabling symbolic-links is recommended to prevent assorted security risks
 
symbolic-links=0
 
log-bin = /var/mysql/log/mysql-bin.log
 
max_connections=1000
 
 
binlog-ignore-db=mysql
 
 
auto-increment-increment=2
 
 
auto-increment-offset=1
 
ndbcluster
 
ndb-connectstring=193.168.120.60
 
[MYSQL_CLUSTER]
 
ndb-connectstring=193.168.120.60
 
[NDB_MGM]
 
connect-string=193.168.120.60
 
[mysqld_safe]
 
log-error=/var/mysql/log/mysqld.log
 
pid-file=/var/run/mysqld/mysqld.pid

初如化数据库

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

4、启动

管理节点

ndb_mgmd -f /var/lib/mysql-cluster/config.ini –initial   第一次启动或修改以后加 –initial 

数据节点

/usr/local/mysql/bin/ndbd –initial                                  第一次启动或修改以后加 –initial 

SQL节点

service mysqld start

5、验证

在管理节点上

ndb_mgm

ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @193.168.120.71  (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0, *)
id=3    @193.168.120.72  (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @193.168.120.60  (mysql-5.6.17 ndb-7.3.5)

[mysqld(API)]   4 node(s)
id=4    @193.168.120.69  (mysql-5.6.17 ndb-7.3.5)
id=5    @193.168.120.91  (mysql-5.6.17 ndb-7.3.5)
id=6 (not connected, accepting connect from any host)
id=7 (not connected, accepting connect from any host)

分别登陆SQL节点,修改数据,两边能够正常同步,说明群集正常工作

注意,MYSQL CLUSTER 数所库引擎使用NDB


 

猜你喜欢

转载自blog.csdn.net/lsysafe/article/details/81240874