首页 > 代码库 > mysql集群安装(centos)

mysql集群安装(centos)

mysql cluster :


 

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

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

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

 

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

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

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

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

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

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

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

 

 5. 启动方式:

管理节点: ndb_mgmd数据节点: ndbdsql节点: mysqld_ndbcluster  ,更改my.cnf配置文件后可用mysqld启动,下面会有说明

 

 6. 默认端口:

管理节点: 1186数据节点: 2202

 

准备:


 

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.4-linux-glibc2.5-i686.tar.gz重命名文件夹: mv mysql-cluster-gpl-7.3.4-linux-glibc2.5-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 35 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.4-linux-glibc2.5-i686.tar.gz //解压[root@wish local]# mv mysql-cluster-gpl-7.3.4-linux-glibc2.5-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=1[NDB_MGMD]#设置管理节点服务器 HostName=192.168.1.136DataDir=/usr/local/mysql/data[NDBD]#设置存储节点服务器(NDB节点)HostName=192.168.1.95DataDir=/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已被监听:

 

 

关闭管理节点:

[root@wish ~]# /usr/local/mysql/bin/ndb_mgm -e shutdown
Connected to Management Server at: localhost:
11861 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 mysqluseradd 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 /etcvi my.cnf添加如下内容:[MYSQLD]ndbclusterndb-connectstring=192.168.1.136ndb-connectstring=192.168.1.136[NDB_MGM]connect-string=192.168.1.136

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

[root@localhost mysql]# service mysqld startStarting 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]ndbclusterndb-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 --initial2014-06-22 17:31:08 [ndbd] INFO     -- Angel connected to 192.168.1.136:11862014-06-22 17:31:08 [ndbd] INFO     -- Angel allocated nodeid: 2

 

测试:


 

在数据节点上创建数据库

[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(50), name varchar(100)); mysql> insert into table1_test(‘abc’, ‘wish’); 


在sql节点上查看数据:

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