centos7 mysql集群

centos7 mysql集群

本文基于3台虚拟机搭建mysql集群,一台管理节点,两台数据节点

1.安装mysql集群版(如果已经装有其他版本,先卸载)

下载地址: https://dev.mysql.com/downloads/cluster/   

我选择的是linux-generic版本

# 进入安装目录
cd /usr/local
# 下载
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6/mysql-cluster-gpl-7.6.7-linux-glibc2.12-x86_64.tar.gz  
# 解压
tar xvf mysql-cluster-gpl-7.6.7-linux-glibc2.12-x86_64.tar.gz

重点: 这一步管理节点和数据节点的机器都需要操作

2.配置mysql管理节点

# 将执行文件复制到用户执行目录下  方便之后可以直接执行运行命令
cp bin/ndb_mgm* /usr/local/bin
cd /usr/local/bin
# 添加执行权限
chmod +x ndb_mgm*
# 新建数据存放目录
mkdir /var/lib/mysql-cluster.
# 新建mysql目录
mkdir /usr/local/mysql
# 新增配置文件并编辑
vi /var/lib/mysql-cluster/config.ini

配置如下

[ndbd default]
NoOfReplicas=2
DataMemory=512M
IndexMemory=18M

[ndb_mgmd]
HostName=172.16.12.29  #管理节点ip 即当前ip
DataDir=/var/lib/mysql-cluster  

[ndbd]
HostName=172.16.12.27 #数据节点ip 
DataDir=/var/lib/mysql-cluster

[ndbd]
HostName=172.16.12.28 #数据节点ip 
DataDir=/var/lib/mysql-cluster

[mysqld]
[mysqld]
# 初始化管理节点  
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
# 查询端口是否开放
firewall-cmd --zone=public --query-port=1186/tcp
# 如果没有则执行以下命令 开放端口
 firewall-cmd --zone=public --add-port=1186/tcp --permanent
 firewall-cmd --reload

3.配置数据节点

# 新增mysql用户组
 groupadd mysql
# 新增mysql用户  并禁止该用户用于登录
 useradd -g mysql -s /bin/false mysql
# 创建mysql数据文件目录
 mkdir /var/lib/mysql-cluster
# 分配权限
 chown root:mysql /var/lib/mysql-cluster 
# 进入bin目录 
cd /usr/local/mysql-cluster-gpl-7.6.7-linux-glibc2.12-i686/bin
# 执行mysql初始化
./mysqld --initialize
# 回到安装目录
cd /usr/local/mysql-cluster-gpl-7.6.7-linux-glibc2.12-i686
# 分配权限
chown -R root .
chgrp -R mysql .
# 注册mysql服务
cp support-files/mysql.server /etc/rc.d/init.d/
chmod +x /etc/rc.d/init.d/mysql.server
chkconfig --add mysql.server
# 配置数据节点
vi /etc/my.cnf

配置如下

[mysqld]
ndbcluster
# 管理节点ip
ndb-connectstring=172.16.12.29 

[mysql_cluster]
# 管理节点ip
ndb-connectstring=172.16.12.29
# 启动服务
/etc/init.d/mysql.server start

注意: 如果报错 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'     则执行以下命令

# 创建日志文件 并分配权限
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/

如果又报错 Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.pid).则执行以下

# 分配权限
chown -R mysql:mysql /var/lib/mysql

# 初始化数据节点
/usr/local/mysql/bin/ndbd --initial
# 将执行文件放到usr/local/bin下  方便执行
cp /usr/local/mysql/bin/ndbd /usr/local/bin/

到此就结束了,回到管理节点机器,运行以下命令

# 进入管理控制台
ndb_mgm
# 展示节点  可以看到已连接上的数据节点
show

之后在数据节点新增数据库和表,都会同步到另外一个数据节点中,表引擎要设置为NDBCLUSTER


启动方式

管理节点    执行以下命令

ndb_mgm

数据节点    执行以下命令

ndbd

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值