音效素材网提供各类素材,打造精品素材网站!

站内导航 站长工具 投稿中心 手机访问

音效素材

Redhat 6.5下MySQL5.6集群配置方法完整版
日期:2016-04-17 12:22:28   来源:脚本之家

1、准备三台服务器
2、为三台机器分别安装Linux操作系统(Oracle Linux / RHEL 6.5 x86_64bit)
3、分别IP地址
管理节点      192.168.1.110        (负责管理整个集群)
SQL节点      192.168.1.111        (负责操作数据库)
SQL节点      192.168.1.112        (负责操作数据库)
数据节点      192.168.1.111        (负责存储数据)
数据节点      192.168.1.112        (负责存储数据)
 
SQL节点和数据节点可以同在一台机器上
 
4、修改三台服务器的/etc/hosts文件,修改完后的内容如下:

127.0.0.1    localhost    localhost.domain
192.168.1.110    node01
192.168.1.111    node02
192.168.1.112    node03
 
5、修改三台服务器的/etc/sysconfig/nework文件,修改完后的内容分别如下:

复制代码 代码如下:

NETWORKING=yes
HOSTNAME=node01
GATEWAY=192.168.1.1    (网关地址因所处网络的不同而不同)
 
NETWORKING=yes
HOSTNAME=node02
GATEWAY=192.168.1.1    (网关地址因所处网络的不同而不同)
 
NETWORKING=yes
HOSTNAME=node03
GATEWAY=192.168.1.1    (网关地址因所处网络的不同而不同)

6、分别重启三台服务器

7、下载NDB集群软件mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz

集群软件有三种格式:
a、以tar.gz结尾的二制进格式
b、以rpm结尾的rpm包形式
c、以源文件编译安装方式
 
rpm包安装方式,由于是自动安装的,所以不方便配置软件安装位置和数据存储位置
 
所以通常选用.tar.gz结尾的二进制格式的安装文件
 
注意:mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz包含了mysql数据库软件和NDB集群软件
 
8、分别复制mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz文件到三台服务器上的/usr/local/目录下
 
9、新建用户mysql
# groupadd mysql
# useradd -r -g mysql mysql      (由于mysql用户只是用于安装配置NDB集群或mysql软件,而不用用于登陆系统)
    (所以以-r参数来创建mysql用户,并且不用为该用户设置密码)
 
10、分别在三台服务器上解压mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz文件

复制代码 代码如下:

# cd /usr/local
# tar zxvf mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz
# ln -s mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64  mysql
# chown -R mysql.mysql mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64
# cd mysql
# chown -R mysql.mysql .

配置完成以后,结果如下

11、在192.168.1.111和192.168.1.112两个数据节点(两台服务器)上安装mysql数据库软件
由于是二进制安装,所以mysql数据库软件就安装在/usr/local/mysql下,
    但数据库的数据可以存放到其它地方,如/u01/app/mysql/data/下面
 
注意:以下命令在两台数据节点服务器上都要执行

# mkdir -p /u01/app/mysql/data
# chown -R mysql.mysql /u01
# cd /usr/local/mysql
# scripts/mysql_install_db --basedir=/usr/local/mysql  --datadir=/u01/app/mysql/data --user=mysql
执行完这条命令以后,数据库的数据文件(包括mysql,test , performance_schema等数据库)就被安装到了
/u01/app/mysql/data目录下了
 
# cp bin/ndbd  /usr/local/bin/
# cp bin/ndbmtd /usr/local/bin/

然后将启动数据库服务的启动文件复制到/etc/rc.d/init.d/目录下
 
# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld    (改名)
执行完上面这条命令以后,就可以使用service mysqld start | stop | restart命令来管理数据库服务了
 
# cp my.cnf  /etc/my.cnf
# vi /etc/my.cnf
[mysqld]
ndbcluster
basedir=/usr/local/mysql
datadir=/u01/app/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 
[mysql_cluster]
ndb-connectstring=192.168.1.110
 
再次注意:以上命令在两台数据节点服务器上都要执行
 
到此,数据节点和SQL节点的安装配置就结束了,如果数据节点和SQL节点是分开在不同的机器上,则每个数据节点
和每个SQL节点都要执行以上命令。
 
12、在管理节点上进行安装配置
 
由于第10步已经解压缩mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz 安装包到了/usr/local
目录下,并进行了软连接等操作,所以这些工作就不用重复做了,接着往下配置即可
 
# cd /usr/local/mysql
# mkdir mysql-cluster    (创建mysql-cluster目录,后面启动集群管理服务时要用)
# cp bin/ndb_mgm*    /usr/local/bin/
# cd /var/lib
# mkdir mysql-cluster
# cd mysql-cluster
# vi config.ini  (这是管理节点上的集群配置文件,很重要)
[ndbd default]
NoOfReplicas=1    # Number of replicas
DataMemory=80M    # How much memory to allocate for data storage
IndexMemory=18M  # How much memory to allocate for index storage
                # For DataMemory and IndexMemory, we have used the
                  # default values. Since the "world" database takes up
                  # only about 500KB, this should be more than enough for
                  # this example Cluster setup.
 
[tcp default]
                  # This the default; however, you can use any
                  # port that is free for all the hosts in the cluster
                  # Note: It is recommended that you do not specify the port
                  # number at all and simply allow the default value to be used
                  # instead
 
[ndb_mgmd]
hostname=192.168.1.110          # Hostname or IP address of MGM node
datadir=/var/lib/mysql-cluster  # Directory for MGM node log files
NodeId=1
 
[ndbd]
hostname=192.168.1.111        # Hostname or IP address
datadir=/u01/app/mysql/data  # Directory for this data node's data files
NodeId=2
 
[ndbd]
hostname=192.168.1.112        # Hostname or IP address
datadir=/u01/app/mysql/data  # Directory for this data node's data files
NodeId=3
 
 
[mysqld]
hostname=192.168.1.111        # Hostname or IP address
NodeId=4                      # (additional mysqld connections can be
                              # specified for this node for various
                              # purposes such as running ndb_restore)
 
[mysqld]
hostname=192.168.1.112        # Hostname or IP address
NodeId=5                      # (additional mysqld connections can be
                              # specified for this node for various
                              # purposes such as running ndb_restore)
 
配置说明:
[ndbd default]                这部分是公共部分,对于每一个数据节点都有效,只需要配置一份
NoOfReplicas=1                数据镜像几份(各数据节点之间相互备份)
 
[tcp default]                针对每个数据节点及管理节点之间使用哪个端口进行通讯,
                              在旧版本的NDB集群软件配置时,这个地方通常配置portnumber=2202
                              但新版的NDB软件这里不需要配置,并且MySQL官方也强烈建议不要配置
 
[ndb_mgmd]                    管理节点的配置部分(通常只有一个)
                              注意NodeId=1指明管理节点的节点ID为1,如果不指定,在启动集群时,会报错
hostname=192.168.1.110          指明管理节点的IP地址
datadir=/var/lib/mysql-cluster  指明集群管理日志存放的位置
 
[ndbd]                        数据节点配置部分,有几个数据节点就配置几个[ndbd]
hostname=192.168.1.111        指明数据节点的IP地址
datadir=/u01/app/mysql/data    指明数据节点上的数据库文件存放的位置
NodeId=2                      指明该数据节点在整个集群中的nodeid号(很重要)
 
[mysqld]                      SQL节点配置部分,有几个SQL节点,就配置几个[mysqld]

13、配置好上面的所有配置以后就可以在管理节点上启动怎个集群了
 
注意: 在管理节点上,不用执行/usr/local/mysql/scripts/mysql_install_db --basedir= --datadir= --user=命令
来安装数据库了。
 
# ndb_mgmd -f /var/lib/mysql-cluster/config.ini (第一次启动时这样执行,如果后面新添加了数据节点)
(执行此命令时,需要带上--initital参数,否则新添加的节点)
(无法被识别)
(# ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial)
 
# ndb_mgm (查看启动后的集群状态,看看集群是否成功启动,如果看到以下内容,表示集群已经成功配置并启动)
 
[root@mysql01 mysql-cluster]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from 192.168.1.111)
id=3 (not connected, accepting connect from 192.168.1.112)
 
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.1.110 (mysql-5.6.17 ndb-7.3.5)
 
[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from 192.168.1.111)
id=5 (not connected, accepting connect from 192.168.1.112)
 
现在看到集群中包含两个数据节点、一个管理节点、两个SQL节点,但是数据节点和SQL节点都还没有启动,
所以显示的连接状态是not connected
 
14、分别登陆两台数据节点执行以下命令启动数据节点
# ndbd --initial (第一次启动时,需要加--initial来初始化数据节点,第二次启动时,就不需要这个参数了)
 
[root@mysql02 support-files]# ndbd --initial
2014-06-12 05:42:04 [ndbd] INFO -- Angel connected to '192.168.1.110:1186'
2014-06-12 05:42:04 [ndbd] INFO -- Angel allocated nodeid: 2
 
 
[root@mysql03 bin]# ndbd --initial
2014-06-12 05:41:38 [ndbd] INFO -- Angel connected to '192.168.1.110:1186'
2014-06-12 05:41:38 [ndbd] INFO -- Angel allocated nodeid: 3
 
15、再登陆到管理节点查看现在整个集群的状态
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.1.111 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0, *)
id=3 @192.168.1.112 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 1)
 
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.1.110 (mysql-5.6.17 ndb-7.3.5)
 
[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from 192.168.1.111)
id=5 (not connected, accepting connect from 192.168.1.112)
 
现在可以看到,两个数据节点已经连接上来了,表示两个数据节点成功启动了
 
16、分别登陆到两个SQL节点上启动SQL节点
[root@mysql02 ~]# cd /usr/local/mysql/bin
[root@mysql02 bin]# ./mysqld_safe --user=mysql
140612 05:51:00 mysqld_safe Logging to '/u01/app/mysql/data/mysql02.err'.
140612 05:51:00 mysqld_safe Starting mysqld daemon with databases from /u01/app/mysql/data
 
[root@mysql03 ~]# cd /usr/local/mysql/bin
[root@mysql03 bin]# ./mysqld_safe --user=mysql
140612 05:52:07 mysqld_safe Logging to '/u01/app/mysql/data/mysql03.err'.
140612 05:52:07 mysqld_safe Starting mysqld daemon with databases from /u01/app/mysql/data
 
17、再次回到管理节点查看整个集群的状态
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.1.111 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0, *)
id=3 @192.168.1.112 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 1)
 
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.1.110 (mysql-5.6.17 ndb-7.3.5)
 
[mysqld(API)] 2 node(s)
id=4 @192.168.1.111 (mysql-5.6.17 ndb-7.3.5)
id=5 @192.168.1.112 (mysql-5.6.17 ndb-7.3.5)
 
到此整个集群就搭建完成,并成功启动运行了
 
18、安全关闭整个集群
首先登陆到两个SQL节点,执行service mysqld stop命令关闭SQL节点
[root@mysql02 ~]# service mysqld stop
Shutting down MySQL...... SUCCESS!
 
[root@mysql03 ~]# service mysqld stop
Shutting down MySQL..... SUCCESS!
 
然后登陆到管理节点上,执行shutdown命令关闭整个集群
[root@mysql01 mysql-cluster]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from 192.168.1.111)
id=3 (not connected, accepting connect from 192.168.1.112)
 
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.1.110 (mysql-5.6.17 ndb-7.3.5)
 
[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from 192.168.1.111)
id=5 (not connected, accepting connect from 192.168.1.112)
 
ndb_mgm> shutdown
1 NDB Cluster node(s) have shutdown.
Disconnecting to allow management server to shutdown.
ndb_mgm> exit
 
 
7 测试。
 
1、从SQL节点A登录,创建数据库和表,进行简单测试。
 
mysql> create database zxztest ;
 
mysql> use zxztest;
Database changed
 
mysql> create table test1(id int,name varchar(10)) engine=ndb ;
 
mysql> insert into test1 values(1,'linuxidc');
 
mysql> select * from test1 ;
 
+------+---------+
| id | name |
+------+---------+
| 1 | linuxidc |
+------+---------+

    您感兴趣的教程

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...

    详解 安装 docker mysql

    win10中文输入法仅在桌面显示怎么办?

    win10中文输入法仅在桌面显示怎么办?

    win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...

    win10 中文输入法

    一分钟掌握linux系统目录结构

    这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...

    结构 目录 系统 linux

    PHP程序员玩转Linux系列 Linux和Windows安装

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...

    玩转 程序员 安装 系列 PHP

    win10怎么安装杜比音效Doby V4.1 win10安装杜

    第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...

    win10杜比音效

    纯CSS实现iOS风格打开关闭选择框功能

    这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    css ios c

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的办法

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的

    Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...

    Win7 C盘 扩容

    百度推广竞品词的投放策略

    SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...

    百度推广 竞品词

    Visual Studio Code(vscode) git的使用教程

    这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    教程 Studio Visual Code git

    七牛云储存创始人分享七牛的创立故事与

    这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...

    七牛 Go语言

    Win10预览版Mobile 10547即将发布 9月19日上午

    微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...

    Win10 预览版

    HTML标签meta总结,HTML5 head meta 属性整理

    移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...

    移动端html5模拟长按事件的实现方法

    这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...

    移动端 html5 长按

    HTML常用meta大全(推荐)

    这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    cdr怎么把图片转换成位图? cdr图片转换为位图的教程

    cdr怎么把图片转换成位图? cdr图片转换为

    cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...

    cdr 图片 位图

    win10系统怎么录屏?win10系统自带录屏详细教程

    win10系统怎么录屏?win10系统自带录屏详细

    当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...

    win10 系统自带录屏 详细教程

    + 更多教程 +
    WIN服务器linux服务器FTP服务器DNS服务器其他