mysql集群安装(centos)

时间:2022-06-09 21:52:15

mysql cluster :


1. 基于NDB Cluster 的分布式数据库系统

2. mysql集群中各服务器节点不共享数据

3. 在mysql cluster中节点指的是进程,区别于其他的集群中节点指的是计算机的情况, 因而在单台计算机上可以有任意多的节点

4. 三种节点: 1)管理节点: 管理cluster内其他节点; 包括启动,停止, 备份,配置等;

            在启动其他节点前需要先启动管理节点

            管理节点不应是一台,否则如果宕机会导致集群不可用

       2)数据节点: 保存cluster数据,

            如果有两个副本,每个副本有两个片段,那么就有4个数据节点,依此类推

       3)sql节点: 用于访问cluster中数据

在最低的mysql cluster配置中,至少应该有三个节点

5. 启动方式:

管理节点: ndb_mgmd

数据节点: ndbd

sql节点: mysqld_ndbcluster  ,更改my.cnf配置文件后可用mysqld启动,下面会有说明

6. 默认端口:

管理节点: 

数据节点: 

准备:


1. mysql下载链接:  http://mysql.mirror.kangaroot.net/Downloads/MySQL-Cluster-7.3/

 使用 Pietty工具连接linux

  和 winscp工具进行文件拷贝

2. 3台服务器: centos 6.4, 网络连接:bridged

  192.168.1.136 : 管理节点

  192.168.1.95: 数据节点

192.168.1.62: sql节点

3. 安装位置: /usr/local/mysql

数据位置: /usr/local/mysql/data

日志位置: /usr/local/mysql/log

4. 相关centos指令:

查看centos版本: cat /etc/redhat-release

查看是否已安装mysql: rpm -qa | grep mysql

查看服务状态: service mysql staus

关闭当前sql服务: /etc/init.d/mysqld stop
启动当前sql服务: /etc/init.d/mysqld start
重启sql服务: /etc/init.d/mysqld restart 查看进程是否关闭: ps -ef | grep mysql 卸载已安装的mysql: rpm -e --allmatches --nodeps mysql mysql-server
删除相关目录: rm -rf /usr/local/mysql
rm -rf /var/mysql
rm -rf /var/lib/mysql 组和用户添加: groupadd mysql
useradd mysql -g mysql 解压: tar -zxvf mysql-cluster-gpl-7.3.-linux-glibc2.-i686.tar.gz 重命名文件夹: mv mysql-cluster-gpl-7.3.-linux-glibc2.-i686 mysql 更改文件或文件夹所有者: chown mysql:mysql mysql (mysql: mysql中前面为用户,后面为组) 运行脚本: scripts/mysql_install_db --user=mysql (--user=mysql指示用户身份为mysql组) 创建文件夹: mkdir /var/lib/mysql-cluster(加上-p时如果目录不存在则新建一个目录) 创建或者编辑文件: vi + /var/lib/mysql-cluster/config.ini
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑 永久关闭防火墙:chkconfig --level iptables off
查看防火墙状态: /etc/init.d/iptables status

安装:


1. 安装前检查是否已经安装,如已安装卸载重新安装

查看是否已安装mysql: rpm -qa | grep mysql

查看服务状态: service mysql staus

关闭当前sql服务: /etc/init.d/mysqld stop
启动当前sql服务: /etc/init.d/mysqld start
重启sql服务: /etc/init.d/mysqld restart 查看进程是否关闭: ps -ef | grep mysql 卸载已安装的mysql: rpm -e --allmatches --nodeps mysql mysql-server
删除相关目录: rm -rf /usr/local/mysql
rm -rf /var/mysql
rm -rf /var/lib/mysql

2. 管理节点安装

在192.168.1.136 上安装

[root@wish ~]# groupadd mysql  //添加组
[root@wish ~]# useradd mysql -g mysql //添加用户
[root@wish ~]# cd /usr/local
[root@wish local]# tar -zxvf mysql-cluster-gpl-7.3.-linux-glibc2.-i686.tar.gz //解压
[root@wish local]# mv mysql-cluster-gpl-7.3.-linux-glibc2.-i686 mysql //重命名
[root@wish local]# chown mysql:mysql mysql //更改文件夹所有者
[root@wish local]# cd mysql
[root@wish mysql]# scripts/mysql_install_db --user=mysql //安装

3.管理节点配置

[root@wish mysql]# cd ~
[root@wish ~]# mkdir /var/lib/mysql-cluster
[root@wish ~]# mkdir /usr/local/mysql/log
[root@wish ~]# cd /var/lib/mysql-cluster
[root@wish mysql-cluster]# vi + /var/lib/mysql-cluster/config.ini
[root@wish mysql-cluster]# vi + /var/lib/mysql-cluster/config.ini

config.ini文件内容如下:

[NDBD DEFAULT]
NoOfReplicas=
[NDB_MGMD]
#设置管理节点服务器
HostName=192.168.1.136
DataDir=/usr/local/mysql/data [NDBD]
#设置存储节点服务器(NDB节点)
HostName=192.168.1.95
DataDir=/usr/local/mysql/data #[NDBD]
#第二个NDB节点 [MYSQLD]
#设置SQL节点服务器
HostName=192.168.1.62 #[MYSQLD]
#第二个SQL节点

启动管理节点:

/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini  //-f表示后后面的参数是启动的配置参数文件

我们看到管理节点的端口1186已被监听:

mysql集群安装(centos)

mysql集群安装(centos)

关闭管理节点:

[root@wish ~]# /usr/local/mysql/bin/ndb_mgm -e shutdown
Connected to Management Server at: localhost:
NDB Cluster node(s) have shutdown.
Disconnecting to allow management server to shutdown.

4.  数据节点和sql节点安装

1) 192.168.1.95: 数据节点, 192.168.1.62:sql节点  上分别以上面同样的方式新建用户和组

groupadd mysql
useradd mysql -g mysql

2) 将管理节点/usr/local/mysql 目录复制至数据节点和节点


5. sql节点配置:

[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
cd /etc
vi my.cnf 添加如下内容:
[MYSQLD]
ndbcluster
ndb-connectstring=192.168.1.136
ndb-connectstring=192.168.1.136
[NDB_MGM]
connect-string=192.168.1.136

  sql节点启动: service mysqld start(需启动管理节点)

[root@localhost mysql]# service mysqld start
Starting MySQL............................................................................................................................. SUCCESS!

  sql节点关闭: /usr/local/mysql/bin/mysqladmin -uroot shutdown


6. 数据节点配置

[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
cd /etc/
vi my.cnf 添加: [MYSQLD]
ndbcluster
ndb-connectstring=192.168.1.136
[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.136
[NDB_MGM]
connect-string=192.168.1.136

数据节点启动: 

 /usr/local/mysql/bin/ndbd --initial ( 需要启动管理节点)
[root@localhost support-files]# /usr/local/mysql/bin/ndbd --initial
-- :: [ndbd] INFO -- Angel connected to '192.168.1.136:1186'
-- :: [ndbd] INFO -- Angel allocated nodeid:

测试:


在数据节点上创建数据库

[root@localhost mysql]# /etc/rc.d/init.d/mysqld status
[root@ localhost ~]# /etc/rc.d/init.d/mysqld start
[root@ localhost ~]# /usr/local/mysql/bin/mysql –u root -p
mysql> show database;
mysql> create database wishtestdb;
mysql> use wishtestdb;
mysql> create table table1_test (id varchar(), name varchar());
mysql> insert into table1_test(‘abc’, ‘wish’);

在sql节点上查看数据:

mysql> use wishtestdb;
mysql> select * from table1_test;