平淡的流年

BLOG&PAGE

mysql cluster集群

发布时间:2016-8-15 编辑:流年 阅读(2806)

三台机器 10.0.0.61 10.0.0.62 10.0.0.63
管理机 10.0.0.61
数据节点(存储节点)10.0.0.66 10.0.0.67
api节点(sql节点)10.0.0.66 10.0.0.67

我刚开始看网上的教程时 我根本不知道 他的工作原理 所以请教了几个大师

知道了大致的架构 首先管理机 顾名思义 是负责管理的 数据节点是负责存放数据的也可以叫存储节点 api节点是数据库引擎 面向PHP等开发软件的 也就是面向外网 这边api有两台,你可能会亦或 那PHP到底连哪个呢?为什么不做主备读写分离呢,mysql主备,读写分离,写的数据库只有一台且只能一台,集群各台都可以读写,最好api的外部再放一台haproxy的负载均衡,让负载均衡去选择api节点,这样可以大大增加并发和程序效率。废话不多说,来看具体配置。

实验开始:

首先,我先安装管理机 查看是否已安装了mysql数据库

rpm -qa |grep mysql*

如果有 请卸载 rpm -e --nodeps aaaaaa.rpm

下载mysql cluster 官方网站

http://dev.mysql.com/downloads/cluster/

linux gengric

64和32位的别搞错的 我实验的版本是
MySQL Cluster 7.4.10


下载下来解压 解压这一步省去了 看文档的应该都会

把解压开来的文件夹 拷贝并重命名
mv /root/mysql-cluster-gpl-7.4.10-linux-glibc2.5-x86_64 /usr/local/mysql

建立用户和用户组

groupadd mysql
useradd -g
useradd -g mysql -s /usr/sbin/nologin mysql

修改文件夹权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 744 /usr/local/mysql

初始化数据库

scripts/mysql_install_db --user=mysql

./support-files/mysql.server /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

如果这一步遇到错误 基本上都是没有相关依赖包

yum -y install perl libaio ntpdate

编辑配置文件

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

mysql-cluster和config.ini都是自己创建出来的 自己手动mkdir touch吧

config.ini内容

[NDBD DEFAULT]

NoOfReplicas =1

DataMemory =50M

IndexMemory =30M

[TCP DEFAULT]

portnumber =2202

[NDB_MGMD]

hostname = 10.0.0.61

datadir=/var/lib/mysql-cluster

[NDBD]

hostname = 10.0.0.66

datadir=/usr/local/mysql/data

[NDBD]

hostname =10.0.0.67

datadir=/usr/local/mysql/data

[MYSQLD]

hostname =10.0.0.66

[MYSQLD]

hostname =10.0.0.67

参数有不明白的查文档

开启管理机

cd /usr/local/mysql/bin

./ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
管理机到这里就OK了

数据节点

参考管理机的安装 编辑文件以上的部分一样

编辑配置文件/etc/my.cnf

mysql的my.cnf在/usr/local/mysql/my.cnf

别混淆了

vim /etc/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

ndbcluster

ndb-connectstring = 10.0.0.61

[MYSQL_CLUSTER]

ndb-connectstring = 10.0.0.61

保存

开启数据节点 

cd /usr/local/mysql/bin

./ndbd --initial

两台都开启

如何查看是否已开启呢?

进管理机

cd /usr/local/mysql/bin

./ndb_mgm 回车

show 就能查看

最后api节点

步骤一样

vim /usr/local/mysql/my.cnf

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error = /usr/local/mysql/logs/error.log
socket=/var/lib/mysql/mysql.sock
user=mysql

/etc/rc.d/init.d/mysqld start


----平淡的流年

暂无评论

添加新评论