Mysql分布式集群

一、准备

集群:

192.168.1.191  管理节点
192.168.1.192  管理节点
192.168.1.193  数据节点和API节点  
192.168.1.194  数据节点和API节点

安装包:mysql-cluster-gpl-7.5.5-linux-glibc2.5-x86_64.tar.gz

二、安装

安装mysql管理节点

cd mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64/

sudo cp bin/ndb_mgm* /usr/local/bin

cd /usr/local/bin

sudo mkdir /var/lib/mysql-cluster

sudo mkdir /usr/local/mysql

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

sudo chmod -r 777 /var/lib/mysql-cluster/
sudo chmod -R 777 /usr/local/mysql/
config.ini的如下:
[ndbd default]
NoOfReplicas=2
DataMemory=512M
IndexMemory=18M

[ndb_mgmd]
HostName=192.168.1.191
DataDir=/var/lib/mysql-cluster
[ndb_mgmd]
HostName=192.168.1.192
DataDir=/var/lib/mysql-cluster
[ndbd]
HostName=192.168.1.193
DataDir=/var/lib/mysql-cluster

[ndbd]
HostName=192.168.1.194
DataDir=/var/lib/mysql-cluster
191上执行:/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
192上执行:/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

成功如下:

 

 测试:

cd /usr/local/bin

ndb_mgm

show

#为了保证数据节点等和管理节点通信 需要开启 1186 端口

 

 安装mysql数据节点 

192.168.1.193  数据节点
192.168.1.194  数据节点

sudo groupadd mysql

sudo useradd -g mysql -s /bin/false mysql

sudo mv mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64/ /usr/local/mysql

  sudo mkdir /var/lib/mysql-cluster

 sudo chown root:mysql /var/lib/mysql-cluster

 sudo chmod -R 777 /var/lib/mysql-cluster/

 sudo vi /etc/my.cnf 

my.cnf内容如下:

[client]
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
ndbcluster
ndb-connectstring=192.168.1.191
ndb-connectstring=192.168.1.192

[mysql_cluster]
ndb-connectstring=192.168.1.191
ndb-connectstring=192.168.1.192

cd /usr/local/mysql/

bin/ndbd --initial #数据节点初始化

测试:在管理节点上

cd /usr/local/bin

ndb_mgm

show

安装API(mysqld)节点

初始化mysql

cd /usr/local/mysql/

./bin/mysqld --initialize

会生成临时密码,记好临时密码,之后需要用到

support-files/mysql.server start #启动mysql
support-files/mysql.server status #查看mysql状

测试:在管理节点上

cd /usr/local/bin

ndb_mgm

show

最后的设置:在管理节点上

cd /usr/local/bin

ndb_mgm

shutdown #关掉 关掉管理节点和数据节点的服务

cd /usr/local/mysql
.
/bin/mysql -u root -p #随后输入密码 密码是之前生成的临时随机密码

修改root 密码,改远程访问,外部连接时 需要开启 3306端口

复制代码
SET PASSWORD = PASSWORD('your new password');

use mysql;
update user set host = '%' where user = 'root';     #然后改远程访问
FLUSH PRIVILEGES;
复制代码

启动集群:

ps:在数据节点没有全部启动之前, 不要启动API集群

#启动管理节点
/usr/local/bin/

ndb_mgmd

#启动数据节点
cd /usr/loca/mysql/
./bin/ndbd

#启动api节点
cd /usr/loca/mysql/
./support-files/mysql.server start

测试:

test同步成功,test01同步失败

默认数据库自动同步,创建表的时候主要选择数据引擎选择 ndbcluster 才会同步

猜你喜欢

转载自www.cnblogs.com/eggplantpro/p/8867269.html