mysql集群配置文档.docx

上传人:b****4 文档编号:5466041 上传时间:2022-12-16 格式:DOCX 页数:9 大小:21.64KB
下载 相关 举报
mysql集群配置文档.docx_第1页
第1页 / 共9页
mysql集群配置文档.docx_第2页
第2页 / 共9页
mysql集群配置文档.docx_第3页
第3页 / 共9页
mysql集群配置文档.docx_第4页
第4页 / 共9页
mysql集群配置文档.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

mysql集群配置文档.docx

《mysql集群配置文档.docx》由会员分享,可在线阅读,更多相关《mysql集群配置文档.docx(9页珍藏版)》请在冰豆网上搜索。

mysql集群配置文档.docx

mysql集群配置文档

MySQLClusterInstallation

一、介绍

如何安装配置基于2台服务器的MySQL集群。

并且实现任意一台服务器出现问题或宕机时MySql集群依然能够继续运行。

可以实现Mysql双机的高可用及负载均衡。

安装环境及软件包:

RedHatEnterpriseLinux4RPM(x86)

Server

6.3.20

19.4M

Pickamirror

MD5:

f65b8effac15c290c850ae1204442e4b

Client

6.3.20

7.0M

Pickamirror

MD5:

460945780aab679aafd9eec51b9d0447

Clusterstorageengine

6.3.20

1.6M

Pickamirror

MD5:

370121daafe8f5b8fcc04a56d069e8a4

Clusterstorageenginemanagement

6.3.20

1.1M

Pickamirror

MD5:

484c42ebe14e31efda62501a4e2d3cb6

Clusterstorageenginebasictools

6.3.20

8.0M

Pickamirror

MD5:

d291e63d36ad7b10cbbad505f1ce65ad

Clusterstorageengineextratools

6.3.20

3.9M

Pickamirror

Server1:

192.168.24.21

Server2:

  192.168.24.22

二、在Server1和Server2上安装MySQL

以下步骤需要在Server1和Server2上各做一次

卸载老版本:

#rpm–qa|grepmysql-------------------------------检查是否已经安装过mysql,如果装过先将以前的版本卸载掉

如上图所示需要先把mysqlclient10-3.23.58-4.RHEL4.1进行卸载:

#rpm–emysqlclient10-3.23.58-4.RHEL4.1

进入下载的文件所在的目录,依次运行以下命令:

#rpm–ivhMySQL-Cluster-gpl-server-6.3.20-0.rhel4.i386.rpm

#rpm–ivhMySQL-Cluster-gpl-client-6.3.20-0.rhel4.i386.rpm

#rpm–ivhMySQL-Cluster-gpl-storage-6.3.20-0.rhel4.i386.rpm

#rpm–ivhMySQL-Cluster-gpl-management-6.3.20-0.rhel4.i386.rpm

#rpm–ivhMySQL-Cluster-gpl-tools-6.3.20-0.rhel4.i386.rpm

#rpm–ivhMySQL-Cluster-gpl-extra-6.3.20-0.rhel4.i386.rpm

#ln-s/usr/libexec/ndbd/usr/bin

#ln-s/usr/libexec/ndb_mgmd/usr/bin

#ln-s/usr/libexec/ndb_cpcd/usr/bin

#ln-s/usr/libexec/mysqld/usr/bin

#ln-s/usr/libexec/mysqlmanager/usr/bin

#mysql_install_db--user=mysql

三、安装并配置节点

以下步骤需要在Server1和Server2上各做一次

1.配置管理节点配置文件:

#mkdir/var/lib/mysql-cluster

#cd/var/lib/mysql-cluster

#viconfig.ini

在config.ini中添加如下内容:

[ndbddefault]

NoOfReplicas=2

MaxNoOfConcurrentOperations=10000

DataMemory=80M

IndexMemory=24M

TimeBetweenWatchDogCheck=30000

DataDir=/var/lib/mysql-cluster

MaxNoOfOrderedIndexes=512

StartPartialTimeout=100

StartPartitionedTimeout=100

ArbitrationTimeout=5000

TransactionDeadlockDetectionTimeout=5000

HeartbeatIntervalDbDb=5000

StopOnError=0

[ndb_mgmddefault]

DataDir=/var/lib/mysql-cluster

[ndb_mgmd]

Id=1

HostName=192.168.24.21

[ndb_mgmd]

Id=2

HostName=192.168.24.22

[ndbd]

Id=3

HostName=192.168.24.21

[ndbd]

Id=4

HostName=192.168.24.22

[mysqld]

ArbitrationRank=2(非常重要,全靠有它,才可以形成仲裁竞争,从而当另一个机子当了时,此机还可以有知道partion完整的节点)

[mysqld]

ArbitrationRank=2

[tcpdefault]

PortNumber=63132

2.配置通用f文件,mysqld及ndbd,ndb_mgmd均使用此文件.

#vi/etc/f

在f中添加如下内容:

[mysqld]

default-storage-engine=ndbcluster  避免在sql语句中还要加入ENGINE=NDBCLUSTER。

ndbcluster这个要加上,否则mysql会启动不了

ndb-connectstring=192.168.24.21,192.168.24.22

[ndbd]

connect-string=192.168.24.21,192.168.24.22

[ndb_mgm]

connect-string=192.168.24.21,192.168.24.22

[ndb_mgmd]

config-file=/var/lib/mysql-cluster/config.ini

[mysql_cluster]

ndb-connectstring=192.168.24.21,192.168.24.22

保存退出后。

3.分别启动Server1、Server2的mysql服务:

#servicemysqlstart

启动mysql之前一定要先保证ndbd和ndb_mgmd没有启动,否则会导致mysql启动不了

4.启动管理节点Server1为:

#ndb_mgmd--ndb_nodeid=1

启动管理节点Server2为:

#ndb_mgmd--ndb_nodeid=2

注:

在启动时有一个警告提示

Clusterconfigurationwarning:

  arbitratorwithid1anddbnodewithid3onsamehost192.168.24.21

  arbitratorwithid2anddbnodewithid4onsamehost192.168.24.22

  Runningarbitratoronthesamehostasadatabasenodemay

  causecompleteclustershutdownincaseofhostfailure.

说节点1和3,2和4的arbitrator一样,可能引起整个集群失败。

(可以不用放在心上)

5.自动重起功能的添加:

chkconfig--addmysql

chkconfig–level345mysqlon

[root@mysql1mysql]# vi/etc/rc.local后添加如下一行

/usr/local/mysql/bin/ndb_mgmd-f/var/lib/mysql-cluster/config.ini

四、初始化集群

在Server1中

#ndbd--nodeid=3--initial

在Server2中

#ndbd--nodeid=4--iniitial

注:

只有在第一次启动ndbd时或者对config.ini进行改动后才需要使用--initial参数!

五、检查工作状态

在任意一台机子上启动管理终端:

#ndb_mgm

键入show命令查看当前工作状态:

(下面是一个状态输出示例)

--NDBCluster--ManagementClient--

ndb_mgm>show

ConnectedtoManagementServerat:

192.168.24.21:

1186

ClusterConfiguration

---------------------

[ndbd(NDB)]     2node(s)

id=3    @192.168..24.21(Version:

5.2.3,Nodegroup:

0,Master)

id=4    @192.168.24.22(Version:

5.2.3,Nodegroup:

0)

[ndb_mgmd(MGM)]2node(s)

id=1    @192.168.24.21(Version:

5.2.3)

id=2    @192.168.24.22(Version:

5.2.3)

[mysqld(API)]   2node(s)

id=5(notconnected,acceptingconnectfromanyhost)

id=6(notconnected,acceptingconnectfromanyhost)

ndb_mgm>

如果上面没有问题,现在开始加入mysqld(API):

注意,这篇文档对于MySQL并没有设置root密码,推荐你自己设置Server1和Server2的MySQLroot密码。

在Server1中:

#mysqld_safe--ndb_nodeid=5--user=mysql&

在Server2中:

#mysqld_safe--ndb_nodeid=6--user=mysql&

#ndb_mgm-eshow

信息如下:

ConnectedtoManagementServerat:

192.168.1.111:

1186

ClusterConfiguration

---------------------

[ndbd(NDB)]     2node(s)

id=3    @192.168.1.111  (Version:

5.2.3,Nodegroup:

0,Master)

id=4    @192.168.1.110  (Version:

5.2.3,Nodegroup:

0)

[ndb_mgmd(MGM)]2node(s)

id=1    @192.168.1.111  (Version:

5.2.3)

id=2    @192.168.1.110  (Version:

5.2.3)

[mysqld(API)]   4node(s)

id=5    @192.168.1.111  (Version:

5.2.3)

id=6    @192.168.1.110  (Version:

5.2.3)

ok,可以测试了:

在Server1中

#/usr/local/mysql/bin/mysql-uroot-p

>createdatabaseaa;

>useaa;

>CREATETABLEctest(iINT);

>INSERTINTOctest()VALUES

(1);

>SELECT*FROMctest;

应该可以看到1rowreturned信息(返回数值1)。

如果上述正常,则换到Server2,观察效果。

如果成功,则在Server2中执行INSERT再换回到Server1观察是否工作正常。

如果都没有问题,那么恭喜成功!

六、破坏性测试

将Server1或Server2的网线拔掉(即ifconfigeth0down),观察另外一台集群服务器工作是否正常(可以使用SELECT查询测试)。

测试完毕后,重新插入网线即可。

注意:

在未对集群做任何读写操作前,此测试结果无效,因为,集群初始后只在/var/lib/mysql-cluster/下建了几个空目录,还没有正常协同工作,会出现整个所有存储(ndbd)节点关闭.

也可以这样测试:

在Server1或Server2上:

#psaux|grepndbd

将会看到所有ndbd进程信息:

root      5578  0.0  0.3  62201964?

        S    03:

14   0:

00ndbd

root      5579  0.020.4492072102828?

     R    03:

14   0:

04ndbd

root     23532  0.0  0.1  3680  684pts/1    S    07:

59   0:

00grepndbd

然后杀掉一个ndbd进程以达到破坏MySQL集群服务器的目的:

#kill-955785579

之后在另一台集群服务器上使用SELECT查询测试。

并且在管理节点服务器的管理终端中执行show命令会看到被破坏的那台服务器的状态。

测试完成后,只需要重新启动被破坏服务器的ndbd进程即可:

#ndbd--ndb_nodeid=此存储节点的id

注意!

前面说过了,此时是不用加--inital参数的!

至此,MySQL双机集群就配置完成了!

七、正确的安装log(提供参考)

[root@CT151tmp]#rpm-ivhMySQL-Cluster-gpl-server-6.3.20-0.rhel4.i386.rpm

warning:

MySQL-Cluster-gpl-server-6.3.20-0.rhel4.i386.rpm:

V3DSAsignature:

NOKEY,keyID5072e1f5

Preparing...###########################################[100%]

1:

MySQL-Cluster-gpl-serve###########################################[100%]

PLEASEREMEMBERTOSETAPASSWORDFORTHEMySQLrootUSER!

Todoso,starttheserver,thenissuethefollowingcommands:

/usr/bin/mysqladmin-urootpassword'new-password'

/usr/bin/mysqladmin-uroot-hCT151password'new-password'

Alternativelyyoucanrun:

/usr/bin/mysql_secure_installation

whichwillalsogiveyoutheoptionofremovingthetest

databasesandanonymoususercreatedbydefault.Thisis

stronglyrecommendedforproductionservers.

Seethemanualformoreinstructions.

Pleasereportanyproblemswiththe/usr/bin/mysqlbugscript!

ThelatestinformationaboutMySQLisavailableat

SupportMySQLbybuyingsupport/licensesfrom

 

NotesregardingSELinuxonthisplatform:

=========================================

Thedefaultpolicymightcauseserverstartuptofailbecauseitis

notallowedtoaccesscriticalfiles.Inthiscase,pleaseupdate

yourinstallation.

ThedefaultpolicymightalsocauseinavailabilityofSSLrelated

featuresbecausetheserverisnotallowedtoaccess/dev/random

and/dev/urandom.Ifthisisaproblem,pleasedothefollowing:

1)installselinux-policy-targeted-sourcesfromyourOSvendor

2)addthefollowingtwolinesto/etc/selinux/targeted/src/policy/domains/program/mysqld.te:

allowmysqld_trandom_device_t:

chr_fileread;

allowmysqld_turandom_device_t:

chr_fileread;

3)cdto/etc/selinux/targeted/src/policyandissuethefollowingcommand:

makeload

 

[root@CT151tmp]#rpm-ivhMySQL-Cluster-gpl-client-6.3.20-0.rhel4.i386.rpm

warning:

MySQL-Cluster-gpl-client-6.3.20-0.rhel4.i386.rpm:

V3DSAsignature:

NOKEY,keyID5072e1f5

Preparing...###########################################[100%]

1:

MySQL-Cluster-gpl-clien###########################################[100%]

[root@CT151tmp]#rpm-ivhMySQL-Cluster-gpl-storage-6.3.20-0.rhel4.i386.rpm

warning:

MySQL-Cluster-gpl-storage-6.3.20-0.rhel4.i386.rpm:

V3DSAsignature:

NOKEY,keyID5072e1f5

Preparing...###########################################[100%]

1:

MySQL-Cluster-gpl-stora###########################################[100%]

[root@CT151tmp]#rpm-ivhMySQL-Cluster-gpl-management-6.3.20-0.rhel4.i386.rpm

warning:

MySQL-Cluster-gpl-management-6.3.20-0.rhel4.i386.rpm:

V3DSAsignature:

NOKEY,keyID5072e1f5

Preparing...###########################################[100%]

1:

MySQL-Cluster-gpl-manag###########################################[100%]

[root@CT151tmp]#rpm-ivhMySQL-Cluster-gpl-tools-6.3.20-0.rhel4.i386.rpm

warning:

MySQL-Cluster-gpl-tools-6.3.20-0.rhel4.i386.rpm:

V3DSAsignature:

NOKEY,keyID5072e1f5

Preparing...###########################################[100%]

1:

MySQL-Cluster-gpl-tools###########################################[100%]

[root@CT151tmp]#rpm-ivhMySQL-Cluster-gpl-extra-6.3.20-0.rhel4.i386.rpm

warning:

MySQL-Cluster-gpl-extra-6.3.20-0.rhel4.i386.rpm:

V3DSAsignature:

NOKEY,keyID5072e1f5

Preparing...###########################################[100%]

1:

MySQL-Cluster-gpl-extra###########################################[100%]

 

[root@CT151tmp]#ln-s/usr/libexec/ndbd/usr/bin

[root@CT151tmp]#ln-s/usr/libexec/ndb_mgmd/usr/bin

[root@CT151tmp]#ln-s/usr/libexec/ndb_cpcd/usr/bin

[root@CT151tmp]#ln-s/us

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1