各位用户为了找寻关于CentOS中mysql cluster安装部署教程的资料费劲了很多周折。这里教程网为您整理了关于CentOS中mysql cluster安装部署教程的相关资料,仅供查阅,以下为您介绍关于CentOS中mysql cluster安装部署教程的详细内容
一、安装要求
安装环境:CentOS-6.5-32bit
软件名称:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz
下载地址:http://mysql.mirror.kangaroot.net/Downloads/
软件包:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz
软件包存放目录:/usr/local
管理节点(MGM): 192.168.1.71
数据节点1(NDBD1):192.168.1.72
数据节点2(NDBD2):192.168.1.73
sql节点1(SQL1): 192.168.1.74
sql节点2(SQL2): 192.168.1.75
二、安装部署
1.安装前:(所有节点服务器需执行)
? 1 2 3[root@MGM ]
#rpm -qa|grep mysql* (查询系统中存在的mysql)
[root@MGM ]
#rpm -e –nodeps mysql-libs-5.1.71-1.el6.i686 (根据自己查出来的mysql版本)
2.开始部署:(所有节点服务器需执行)
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19[root@MGM ]
#groupadd mysql
[root@MGM ]
#useradd mysql -g mysql
[root@MGM ]
#cd /usr/local (软件包在此目录下,根据自己存放位置进入)
[root@MGM
local
]
#tar -xvfmysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz
[root@MGM
local
]
#mkdir /usr/local/mysql (创建mysql目录)
[root@MGM
local
]
#mvmysql-cluster-gpl-7.2.25-linux2.6-i686/* mysql
[root@MGM
local
]
#chown -R mysql:mysql mysql/
[root@MGM
local
]
#cd mysql
[root@MGM mysql]
#scripts/mysql_install_db –user=mysql (管理及数据节点执行这条命令)
#scripts/mysql_install_db –user=mysql –datadir=/var/mysql/data (sql节点执行这条命令)
三、集群配置
1.管理节点配置:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65[root@MGM mysql]
#mkdir /var/lib/mysql-cluster
[root@MGM ]
#mkdir /var/mysql
[root@MGM ]
#mkdir /var/mysql/data
[root@MGM ]
#mkdit /var/mysql/log
[root@MGM mysql]
#vi /var/lib/mysql-cluster/config.ini (添加以下内容)
[NDBD DEFAULT]
NoOfReplicas=2
#[TCP DEFAULT]
#PortNumber=1186
[NDB_MGMD]
#设置管理节点服务器
nodeid=1
HostName=192.168.1.71
DataDir=
/var/mysql/data
[NDBD]
nodeid=2
HostName=192.168.1.72
DataDir=
/var/mysql/data
[NDBD]
nodeid=3
HostName=192.168.1.73
DataDir=
/var/mysql/data
[MYSQLD]
nodeid=4
HostName=192.168.1.74
[MYSQLD]
nodeid=5
HostName=192.168.1.75
#必须有空的mysqld节点,不然数据节点断开后启动有报错
[MYSQLD]
nodeid=6
[mysqld]
nodeid=7
拷贝ndb_mgm、ndb_mgmd、config.ini到bin目录:
? 1 2 3 4 5 6 7 8 9[root@MGM mysql]
#cd /usr/local/mysql/bin
[root@MGM bin]
#cp ./ndb_mgm /usr/local/bin/
[root@MGM bin]
#cp ./ndb_mgmd /usr/local/bin/
[root@MGM bin]
#cp /var/lib/mysql-cluster/config.ini /usr/local/bin/
[root@MGM bin]
#vi /etc/sysconfig/iptables (添加红色方框内容)
[root@MGM bin]
/etc/init
.d
/iptables
restart 重启防火墙
2.数据节点配置:(所有数据节点需执行)
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43[root@NDBD1 ]
#mkdir /var/mysql
[root@NDBD1 ]
#mkdir /var/mysql/data
[root@NDBD1 ]
#mkdit /var/mysql/log
[root@NDBD1 ]
#/etc/init.d/iptables stop (关闭防火墙,也可自行添加开放端口)
[root@NDBD1 ]
#vi /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
#运行NDB存储引擎
ndbcluster
#指定管理节点
ndb-connectstring=192.168.1.71
[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.71
[NDB_MGM]
connect-string=192.168.1.71
[mysqld_safe]
log-error=
/var/mysql/log/mysqld
.log
pid-
file
=
/var/run/mysqld/mysqld
.pid
3.sql节点配置:(所有sql节点需执行)
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69[root@SQL1 ]
#cd /usr/local/mysql/
[root@SQL1 mysql]
#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@SQL1 mysql]
#chmod +x /etc/rc.d/init.d/mysqld
[root@SQL1 mysql]
#chkconfig –add mysqld
[root@SQL1 mysql]
#mkdir /var/mysql
[root@SQL1 mysql]
#mkdir /var/mysql/data
[root@SQL1 mysql]
#mkdir /var/mysql/log
[root@SQL1 mysql]
#chown -R mysql:mysql /var/mysql
[root@SQL1 mysql]
#ln -s /usr/local/mysql/bin/mysql /usr/bin
[root@SQL1 mysql]
#ln -s /var/mysql/mysql.sock /tmp/mysql.sock
[root@SQL1 mysql]
#vi /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
#以下为mysql 主主模式的配置文件
# 忽略mysql数据库复制
binlog-ignore-db=mysql
# 每次增长2
auto-increment-increment=2
# 设置自动增长的字段的偏移量,即初始值为2
auto-increment-offset=1
ndbcluster
ndb-connectstring=192.168.1.71
[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.71
[NDB_MGM]
connect-string=192.168.1.71
[mysqld_safe]
log-error=
/var/mysql/log/mysqld
.log
pid-
file
=
/var/run/mysqld/mysqld
.pid
四、mysql-cluster启动
1.启动mysql-cluster
mysql集群的启动顺序为:管理节点->数据节点->SQL节点
mysql集群的关闭顺序为,SQL节点->数据节点->管理节点
2.管理节点:
[root@MGM ]#ndb_mgmd -f /var/lib/mysql-cluster/config.ini –initial
(注意第一次或者对config文件进行修改后,打开服务一定要加上initial否则新增加的内容不会被使用)
3.数据节点:
[root@NDBD1 ]#/usr/local/mysql/bin/ndbd –initial
(此处同上)
4.sql节点:
[root@SQL1 ]#service mysqld start
5.验证:(在管理节点上)
[root@MGM ]#ndb_mgm
ndb_mgm>show
五、测试
1.在sql1节点执行:
? 1 2 3 4 5 6 7 8 9 10 11[root@SQL1 ]
#mysql 调用mysql
mysql>create database tianyuan; 创建数据库
mysql>use tianyuan; 使用数据库
mysql>create table
test
(i int,name varchar(10)) engine=ndbcluster; 创建表
mysql>insert into
test
values(1,
'ceshi'
); 插入表数据
mysql>
select
* from
test
; 查询验证
2.在sql2节点验证sql1的数据是否已同步到sql2:
? 1 2 3 4 5 6 7[root@SQL2 ]
#mysql 调用mysql
mysql>show databases; 查询数据库
mysql>use tianyuan; 使用数据库
mysql>select
*
from
test; 查询验证
3.可通过中断数据节点或sql节点来验证数据是否会同步。