首页 > 代码库 > 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:1186‘2014-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;